• Non ci sono risultati.

Al fine di fornire un valido strumento per la raccolta e l’inserimento dei dati di campo agli operatori ed agli utenti non specializzati, sono stati elaborati dei form predefiniti e facilmente compilabili anche in mobilità.

La piattaforma che si è deciso di utilizzare per lo sviluppo dell’applicazione mobile è Apache Cordova (Phonegap).

Apache Cordova è uno strumento di sviluppo open source, creato da Nitobi, per fare da ponte tra le applicazioni Web e i dispositivi mobili (Fig. 15). Con Cordova è possibile:

 utilizzare le principali risorse del dispositivo, quali file system, fotocamera, accelerometro, GPS o multitouch tramite un set di dispositivi APIs.

 scrivere un’applicazione mobile sfruttando HTML, Javascript e CSS tramite l’utilizzo di un frame work Ui come jQuery Mobile o Dojo Mobile o Sencha Touch ecc.

 pubblicare su tutte le piattaforme e i marketplace: da iOS a Android, da Windows Phone a Blackberry e a Bada.

Quando si usano le APIs Cordova, un’app può essere scritta senza utilizzare nessun codice nativo (Java, Objective-C ecc…). Sono invece utilizzate tecnologie web che sono ospitate nell’applicazione stessa in maniera locale (generalmente non su un server http remoto).

E siccome queste APIs JavaScript sono ben presenti su molti apparati differenti e costruite attraverso standard web, l’app dovrebbe poter essere trasportata da una piattaforma all’altra con cambiamenti minimi o nulli.

Le app che usano Cordova sono ancora presentate come app che usano la piattaforma SDKs e possono essere rese disponibili su qualsiasi app store per ogni apparato.

Cordova fornisce un set di librerie JavaScript uniformi che possono essere invocate, dotate di un codice di salvataggio apparato-specifico per quelle librerie JavaScript.

Database

3.5.2.

Un DBMS (DataBase Management System) è un sistema software specializzato nell’archiviazione e nella gestione efficiente ed efficace di grandi moli di dati organizzati in database (o basi di dati), che fornisce dei meccanismi avanzati per garantire l’affidabilità dei dati (fault tolerance), il controllo degli accessi e il controllo della concorrenza.

Più in particolare, un DBMS è costituito da un insieme di moduli software specifici, progettati per consentire la creazione, la manipolazione, l’interrogazione e la sicurezza dei database. Un DBMS, inoltre, gestisce i database svolgendo anche la funzione d’interfaccia tra le applicazioni (o anche direttamente gli utenti) e il database, controllando gli accessi e l’integrità dei dati.

Per informatizzare, archiviare e gestire i dati raccolti dalle strutture biodegradabili è stato sviluppato un geodatabase implementato su PostgreSQL/PostGIS.

Si tratta di un database relazionale con estensione spaziale, che consente rispetto alle tradizionali basi di dati orientate ad oggetti, una migliore gestione dei dati relazionali e spaziali (Tamer-Ozsu,1999).

Il geodatabase relazionale implementato è basato sul modello Entità – Relazione, un tipo di modello concettuale i cui costrutti principali sono le Entità, gli Attributi e le Relazioni le quali, con la loro cardinalità, rappresentano veri e propri legami logici tra differenti Entità (Mogorovich, 2003).

Le entità sono insiemi di oggetti concettualmente appartenenti ad una stessa classe, aventi proprietà comuni ed esistenza autonoma rispetto agli elementi di altre entità. Esse sono caratterizzate da attributi, e da una chiave. Un'entità viene indicata graficamente con un rettangolo; all'entità sono associati i suoi attributi.

Ad esempio nel diagramma seguente gli attributi sono collegati all’entità da una linea con un cerchio finale; l'attributo o gli attributi con il cerchio pieno indicano l'attributo o l'insieme di attributi che costituiscono la chiave dell'entità (Fig. 16).

Figura 16: esempio di struttura di una entità

Gli insiemi di entità rappresentano i generici insiemi di fenomeni che devono essere modellati nel database specifico da progettare. Ad esempio un’entità può essere una città, una particella catastale, una strada etc. Ogni attributo ha un range di possibili valori; tale range è il dominio o l’insieme di valori (Fig. 17).

Figura 17: esempio di struttura di una relazione

La relazione è il legame concettuale tra due o più entità. Formalmente una relazione è definita come sottoinsieme di prodotti cartesiani di due o più insiemi di entità.

Una relazione: •può avere attributi.

•per ogni entità che partecipa alla relazione viene indicata la cardinalità, cioè il numero (minimo e massimo) di legami che un elemento di quell’entità può formare (Fig. 18).

Figura 18: esempio di diagramma entità-relazione

Il GIS prevede la gestione delle informazioni geometriche, topologiche e informative in un database relazionale mediante uno specifico modello fisico fatto di tabelle, campi chiave, record, indici e vincoli (Fig. 19).

Il modello fisico dei dati sviluppato è costituito da due tipologie di tabelle:

 Tabelle elenco, le quali contengono informazioni di carattere gestionale per il sistema e sono popolate ed aggiornate da chi amministra il database. Esse hanno la funzione di fornire elenchi di valori al fine di facilitare e velocizzare l’inserimento dei dati ed ovviare a problemi di digitalizzazione errata (ad es. elenco unità di misura, parametri etc).

 Tabelle dati, le quali contengono le misure fatte e le informazioni relative ai campionamenti. In queste tabelle sono contenuti i dati che possono essere inseriti nel sistema in maniera automatica o tramite apposite maschere di inserimento (ad es. posizione, variabili indagate, matrici campionate, etc).

Figura 19: schema di modellizzazione di un database

Per facilitare e rendere ancora più efficiente l’inserimento dei dati è stato inserito all’interno del sistema il nuovo modulo software open source ETL (Extract, Transformation, Load) GeoKettle grazie al quale è possibile personalizzare completamente la procedura di importazione evitando all’utente il compito di riorganizzare i dati secondo le specifiche previste dal sistema, diminuendo sia i tempi d’importazione sia i possibili errori.

Le applicazioni definite ETL (Extract, Transformation, Load) come GeoKettle, presentano la base di partenza per la fase di integrazione del dato. Tali applicazioni assolvono il compito di estrarre i dati provenienti da sorgenti eterogenee, rielaborarli e adattarli a uno schema comune.

Con l’acronimo ETL (Extract, Transfromation e Load) ci si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi come RDBMS e Data Warehouse o in formati file tipici per la successiva analisi di dettaglio del dato (es excel, csv ecc).

Il software è caratterizzato da un’interfaccia semplice e intuitiva, lo Spoon, che permette attraverso icone e hop (collegamenti) di costruire procedure ETL.

Grazie a questo software sarà possibile realizzare procedure ETL che permetteranno di svolgere in modo autonomo i processi di estrazione, trasformazione e inserimento munendo il sistema di un potente e flessibile strumento per la gestione e analisi dei dati attraverso facili procedure (Fig. 20).

Figura 20: esempio di procedura ETL creata mediante l’interfaccia Spoon di GeoKettle

All’interno del database è possibile compiere operazioni di ricerca, aggiornamento, cancellazione e modifica dei dati attraverso l’utilizzo del linguaggio SQL. Una query rappresenta un’operazione sui dati eseguita mediante codice SQL: tale operazione segue le regole standard dei costrutti SQL e sfrutta i collegamenti tra le tabelle, realizzati nel modello fisico attraverso l’uso di campi chiave, per estrarre informazioni dal database.

Sistema WebGIS