[Gfoss] gdal/ogr migliorato il supporto a GML 3

Andrea Peri peri.rtoscana a gmail.com
Sab 27 Giu 2009 14:05:41 CEST


Salve a tutti,

Una premessa:
da tempo ormai mi sto' interessando di GML3.

Trattandosi di un formato che e' destinato ad avere un ruolo nel
futuro degli scambi dei dati geografici,
e' importante che vi siano dei prodotti GFoss che consentano di
portare i dati da un formato GML 3 ad altri formati.

In generale quello che ho potuto vedere e' che a giro vi sono  molti
prodotti che supportano il GML in maniera generica, ma
prodotti che lo supportino al 100% non ve ne sono ...
E spesso si tende a fare confusione tra GML-2 e GML-3

In particolare i problemi cominciano a venire quando si incontra un
file GML-3 che abbia fatto uso delle caratteristice evolute previste
dal GML3.
In particolare penso alla possibiltia' di estendere le classi , ai
riferimenti remoti (xlinks), alle definizioni topologiche e alle
geometrie complesse.

Prodotti come GDAL/OGR sono perfetti per lo scopo di portare da un
formato a un altro.
Nel caso del GML 3 pero' il suo supporto era un po' limitato.
E nel caso dei dati GML con cui ero entrato in contatto, le
possibilita' di estrazione dei dati da essi era quasi nulla.
Specialmente quando si incontrava un GML con alcune delle
caratteristiche evolute sopra citate.

Tante' che per uso interno mi sono dovuto fare delle procedure che mi
risolvevano i problemi che via via incontravo.
E' comunque evidente che piuttosto che se l'uso di proprie procedure
permette di avere un massimo controllo sui risultati, in certe
situazioni e' senz'altro meglio che il supporto sia disponibile anche
a livello di applicativo GFoss.
Sia per l'ampio ventaglio di opzioni di esportazione che per il
supporto e l'evoluzione che puo' garantire (ancorche' a singhiozzo).

Per questo ho ritenuto utile prendere una iniziativa e finanziare
personalmente l'evoluzione del supporto GDAL/OGR per aumentare le
capacita' di leggere un file GML ed estrarne i contenuti.
Sottolineo che il finanziamento e' stato personale, perche' il
risultato che si e' avuto e' commisurato all'entita' del finanziamento
che ho potuto mettere in campo.

E il risultato e' arrivato ...

Ora GDAL/OGR riesce a leggere un formato GML in cui le informazioni
sono contenute in classi estese.

Va chiarito che molto ancora andrebbe fatto, ad esempio il supporto
alla parte topologica, e il supporto ai riferimenti remoti e le
geometrie complesse.

Ma queste evoluzioni dovra' affrontarle qualcun'altro.
Io , con il mio modesto contributo non posso andare oltre....

E altresi' so' che e' difficile che un ente pubblico possa arrivare a
finanziare un progetto come GDAL a meno che non sia inserito in un
progetto piu' ampio a finalizzato all'ottenimento di ben precisi
prodotti,
ma questa e' un' altra questione.

Tornando al risultato conseguito:

Il poter disporre di un GDAL/OGR che riesca a leggere un GML3 con
classi estese e' gia' un passo avanti rilevante.

Certamente restano fuori alcuni contenuti, perche' l'assenza del
supporto alla topologia, ad esempio, fa' si' che certi contenuti, se
presenti (non sempre un GML3 e' topologico) , vengono ignorati e non
esportati.

Ma ora direi che sostanzialmente il gap che si aveva sul fronte
"lettura del GML 3" nei confronti dei piu' diffusi prodotti
commerciali si e' molto ridotto.

Aggiungo che ho personalmente fatto le prove di funzionamento con
alcuni files GML3 che avevo.
Sia sotto windows che sotto Linux.

La modifica richiede obbligatoriamente la presenza di xerces-c++ che
in versione linux puo' essere anche l'ultima versionedisponibile
(3.0.1) , mentre su windows (ho usato un windows vista con vc++ 2008)
e' necessario usare xerces-c++ 2.0.8 e non l'ultimo 3.0.1. Con esso
infatti viene generato un errore in fase di esecuzione.

Questa differenza , avrebbe meritato una indagine piu' approfondita,
anche perche' da tempo uso per scopi personali xerces-c++ 3.0.1 e non
mi ha mai dato problemi,
ma ai fini della evoluzione gdal poco importa se si deve usare sotto
windows una versione di xerces antecedente.


Salute a tutti,


-- 
~~~~~~~~~~~~~~~~~
§       Andrea              §
§         Peri                 §
~~~~~~~~~~~~~~~~~


Maggiori informazioni sulla lista Gfoss