Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Studio di migrazione del data base dell'assestamento forestale italiano da
un'architettura MS AccessESRI ARCVIEW
ad un'architettura Php PostgreSQLPOSTGIS e GRASS.
Marco Ciolli, Fabrizio Ferretti, Chiara Sboarina, Alfonso Vitti, Paolo Zatelli, Fabio Zottele
Il database forestaleUn database contenente i dati forestali è stato
realizzato dall'ISAFA (Istituto Sperimentale per l'Assestamento Forestale e l'Alpicoltura) nell'ambito del progetto “Riselvitalia” finanziato dal Ministero.
Questo database è destinato a diventare il database ufficiale per la gestione dei dati forestali della maggioranza delle regioni italiane.
Raccoglie e gestisce una grande quantità di dati alfanumerici e cartografici.
Il database forestaleIl database forestale è denominato “Progetto_bosco”
ed è gestito tramite Microsoft Access con:
152 tabelle 24 query 105 mask 19 report 38 macro
Il database forestale:
schema delle relazioni
Una struttura complessa per un database assai corposo e destinato a crescere
Il database forestale:gli utenti
Attualmente gli utenti del database sono tecnici forestali ma l'idea per il futuro è di ampliare la base degli utenti.
Ogni utente deve avere una licenza MS Access, l'intero database sul suo PC ed almeno alcune conoscenze di base del software. Per i dati cartografici è necessaria l'installazione di ESRI ArcView. E' terminato in questo periodo il porting verso ArcSDE e ARCGIS.
Tutto questo è costoso per via del costo delle licenze e del training del personale.
Accesso al database
Nella configurazione corrente la procedura è:● download dell'ultima versione disponibile del
database sul PC locale● effettuazione delle modifiche via MS Access forms● upload dell'intero database al repository
Questo ovviamente pone una serie di grossi problemi per la consistenza e l'update del database.
Il nuovo approccio
I problemi di consistenza del database possono essere risolti usando un approccio client server con un DBMS centrale.Il bisogno di software specifici sul client può essere eliminato se si può accedere al database via web. Questo è vero sia per i dati tabellari che per quaelli cartografici.
La cosa che cambia è la necessità di una connessione Internet per ciascun utente.
Il nuovo approccio
Questa nuova configurazione necessita di tre componenti:
• Client web• WebDBMS interface• DBMS
Ciascun componente può essere configurato ed installato usando FOSS software.
Il nuovo approccio
Sono state testate due diverse configurazioni di sistema.Entrambe usano FOSS per il WebDBMS interface ma il DBMS è differente: PostgreSQL o MS Access.
DBMS PostgreSQL MS Access
Pros sistema potente, PostGIS il personale lo conosce già
Cons training del personale limitazioni di gestione dei dati
Lo scopo del lavoro
Gli scopi di questo lavoro sono:
Migrare da Microsoft Access database a uno FOSS come PostgreSQL (8.1.0)
Permettere agli utenti di accedere e modificare il database dal web usando sia server proprietario che FOSS
Migrazione da MS Access a PostgreSQLSono stati sperimentati molti tools per effettuare una traduzione automatica del database ma solo uno è risultato realmente funzionale. I software testati sono:
html2tabbed.sh e html2pgsql.sh funziona ma troppe modifiche manuali.
Access2PostgreSQL funziona ma non con questo database.
Access2000Converter099.zip PostgreSQL per windows.
Pgdatapump.zip non funziona.
Navicat PostgreSQL PostgreSQL per windows o un altro PC.
Access2PostgreSQL Pro (free per 10 avvii)
Migrazione da MS Access a PostgreSQL
Con Access2PostgreSQL Pro è stato fatto un dump file del database per PostgreSQL.
Prima di importare in PostgreSQL alcune righe di questo file vanno eliminate e alcuni caratteri corretti.
Per la corretta interpretazione dei caratteri latin (accentati) bisogna settare i caratteri all'encoding di PostgreSQL a 6 che corrisponde a UTF8.
Il dump file è stato importato in PostgreSQL ma non tutte le tavole sono state automaticamente popolate, e dunque il database è stato completato manualmente
Migrazione da MS Access a PostgreSQLLa procedura manuale per completare il database PostgreSQL
include i seguenti passi: le tavole non popolate sono state ricreate manualmente in PostgreSQL, facendo attenzione ai formati di colonna ed alle proprietà; le nuove tavole sono state riempite esportando le tabelle da Access nel formato xls e, dopo alcuni cambiamenti, importando i dati in PostgreSQL con il COPY command; PostgreSQL usa . (point) per i numeri decimali mentre MS Access usa , (comma) quindi è stato necessario sostituirli; il formato data deve essere modificato in YYYYMMDD; i valori boleani devono essere tradotti dall'italiano all'inglese.
Migrazione da MS Access a PostgreSQL
Le tabelle del database importato in PostgreSQL possono essere consultate ed editate da PhpPgAdmin (4.0 con PHP 4.4.1).
Questo strumento permette la connessione al database ma l'interfaccia è molto differente dall'originale.
La soluzione è creare un interfaccia grafica che simuli quella originale in MS Access.
Questo può essere fatto con i linguaggi HTML e PHP col vantaggio che l'interfaccia è realizzata in pagine html, quindi accessibili localmente od in remoto.
Le due versioni del database
L'interfaccia grafica del database:proprietà del sistema
S.O. Windows XP
Apache 2.0.55
php 4.4.2
Microsoft Access 2003
S.O. Linux Kubuntu
Apache/2.0.54 (Ubuntu) PHP/4.4.1
php 4.4.1
PostgreSQL 8.1.0
L'interfaccia grafica del databaseL'interfaccia grafica del database è stata creata il più
simile possibile all'originale. La pagina principale è scritta in html e permette
l'accesso a altre 13 pages tutte scritte in php.
Main page Originale Main page Nuova
L'interfaccia grafica del database
Le funzioni php esistenti sono state usate per connettersi al database e consultare ed editare i dati.
IL codice php è differente per i due DBMS ma la struttura è la stessa così da rendere semplice adattare il codice da uno all'altro.
Un attenzione particolare deve essere posta al nome delle colonne poiché PostgreSQL, differentemente da MS Access, è case sensitive.
L'interfaccia grafica del database
Questa interfaccia permette ad un utente di accedere al database con qualsiasi web browser.
Alcuni esempi dell'interfaccia originale e della nuova.
Maschera originale
Mascheranuova
L'interfaccia grafica del database
Interfaccia originale per la proprietà forestale
Nuova interfaccia per la proprietà forestale
Dati Geografici – Webgis
Software:
Apache 2.0
PHP 4.4.1
MapServer version 4.8.0beta2
Chameleon2.420060427
Data:
database in PostgreSQL o MS Access
shape files
Dati Geografici – WebgisIl webgis al momento è un work in progress poiché i
dati geografici connessi al database non sono ancora tutti disponibili. Un campione di esempio dei dati geografici è stato collegato al database e usato per configurare il webgis.
I dati delle particelle forestali, l'idrologia, le strade principali e secondarie e la carta tecnica in formato shape o tif sono state usate per sviluppare il webgis.
Sono disponibili gli strumenti usuali per selezionare le mappe, fare zoom, pan e interrogare i dati.
Dati Geografici – Webgis
Geographical data – Webgis
The webgis allows the direct query of the underlined database through the graphical interface.
For the future it is planned to transform geographical data to PostGisPostgreSQL format so all the data
will be in the same database.
ConclusioniUna soluzione FOSS è fattibile ed è stato sviluppato
un prototipo
La traduzione dei dati da MS Access a PostgreSQL è possibile semiautomaticamente, tuttavia è necessario un significativo intervento manuale
E' stato possibile migliorare l'accessibilità del data base sviluppando un webgis per visualizzare le mappe
ConclusioniE' possibile usare questo approccio per offrire
soluzioni diverse per accedere al database forestale e lasciare la scelta della soluzione più adeguata al Ministero
L'approccio client server permette: per il client la possibilità di utilizzare un web
browser generico per il server di garantire la consistenza del database
ed il controllo degli accessi
Sviluppi presenti e futuriL'ISAFA ha terminato la conversione dei dati dal
formato MS Access e shape file nel formato ARCSDE – ARCGIS (almeno per le tabelle) ed ora:
Lo sforzo è concentrato verso la sempre migliore integrazione dell'interfaccia con le possibili fonti di dati, per renderla il più possibile indipendente.
Questo dovrebbe permettere di avere più possibilità di scelta per l'interfaccia ed il database definitivi.
Si punta poi a confrontare le architetture ARCSDE – ARCGIS e quella FOSS