27
 Studio di migrazione del data base dell'assestamento forestale italiano da un'architettura MS Access-ESRI ARCVIEW ad un'architettura Php PostgreSQL-POSTGIS e GRASS. Marco Ciolli, Fabrizio Ferretti, Chiara Sboarina, Alfonso Vitti, Paolo Zatelli, Fabio Zottele  

Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Studio di migrazione del data base dell'assestamento forestale italiano da 

un'architettura MS Access­ESRI ARCVIEW 

ad un'architettura Php PostgreSQL­POSTGIS e GRASS.

Marco Ciolli, Fabrizio Ferretti, Chiara Sboarina, Alfonso Vitti, Paolo Zatelli, Fabio Zottele

 

Page 2: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 3: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Il database forestaleIl  database  forestale  è  denominato  “Progetto_bosco” 

ed è gestito tramite Microsoft Access con:

 152 tabelle 24 query 105 mask 19 report 38 macro

Page 4: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Il database forestale:

 schema delle relazioni

Una struttura complessa per un database assai corposo e destinato a crescere

Page 5: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 6: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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. 

Page 7: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 8: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Il nuovo approccio

Questa  nuova  configurazione  necessita  di  tre componenti:

• Client web• Web­DBMS interface• DBMS

Ciascun  componente  può  essere  configurato  ed installato usando FOSS software.

Page 9: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Il nuovo approccio

Sono  state  testate  due  diverse  configurazioni  di sistema.Entrambe  usano  FOSS  per  il  Web­DBMS  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

Page 10: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 11: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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)

Page 12: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 13: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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. 

Page 14: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 15: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Le due versioni del database

Page 16: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 17: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 18: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 19: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 20: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

L'interfaccia grafica del database

Interfaccia originale per la proprietà forestale

Nuova interfaccia per la proprietà forestale

Page 21: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Dati Geografici – Webgis

Software:

Apache 2.0

PHP 4.4.1

MapServer version 4.8.0­beta2

Chameleon­2.4­20060427

Data:

database in PostgreSQL o MS Access 

shape files

Page 22: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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.

Page 23: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

Dati Geografici – Webgis

Page 24: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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 PostGis­PostgreSQL format so all the data 

will be in the same database. 

Page 25: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

ConclusioniUna soluzione FOSS è  fattibile ed è  stato sviluppato 

un prototipo

La traduzione dei dati da MS Access a PostgreSQL è possibile  semi­automaticamente,  tuttavia  è necessario un significativo intervento manuale

E'  stato  possibile  migliorare  l'accessibilità  del  data base  sviluppando  un  webgis  per  visualizzare  le mappe

Page 26: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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

Page 27: Studio di migrazione del data base dell'assestamento ...ciolli/PagineMarco/migrazionedatabase_Ciolli.pdf · Navicat PostgreSQL PostgreSQL per windows o un altro PC. Access2PostgreSQL

   

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