[Gfoss] OT: an open, non-ArcObjects based means for working with File Geodatabases

a.furieri a lqt.it a.furieri a lqt.it
Dom 28 Ago 2011 09:36:58 CEST


On Sat, 27 Aug 2011 23:30:11 +0200, G. Allegri wrote
> In ogni caso, credo sia una cosa utile (sebbene da molti vista come la solita mossa commerciale 
> d'aggancio all'OS, sullo stile delle varie big farm), perché offre uno strumento in più verso 
> l'integrazione e l'interoperabilità... 
> Il che può essere sempre uno step verso una migrazione più free.
>

mi sono scaricato le API ESRI del GeoDatabase:
eccovi una veloce e sommaria recensione.

LICENZA: 
assolutamente non libera: vietata la redistribuzione 
a terzi, ciascun singolo utente deve scaricarsi le API 
per proprio conto previa registrazione ed accettazione 
dell'accordo di licenza con ESRI.

SW: 
si tratta di un insieme di librerie per Windows (32 e 64 bit) 
e per Linux (32 e 64 bit): Mac Os X pare del tutto non 
supportato, così come qualsiasi altra piattaforma.
lib pesantucce: circa il doppio di SpatiaLite (in MB)

LINGUAGGI: 
C++ (per WinOz anche C#)

STRUTTURA DEL DBMS: 
sorprendentemente, abbastanza simile a MySQL. 
un GeoDBMS in effetti è un'intera cartella, che contiene 
al suo interno moltissimi file: una singola "tavola/layer" 
richiede 3 o 4 files distinti (dati, indici, spatial index, 
struttura).
Più ovviamente ulteriori files per metadati e cataloghi

FUNZIONALITA': 
le API consentono di creare un GeoDB, creare e cancellare 
le tavole, interrogare lo schema da un GeoDB già esistente etc.
Inoltre supportano l'interrogazione, inserimento, modifica e 
cancellazione di singole features.

LIMITAZIONI: 
non è possibile gestire i Rasters, le reti e le topologie 
possono essere lette ma la scrittura non è abilitata. 
L'unico tipo di Spatial Query supportato è il filtraggio 
per BBOX aka MBR (non sono sicurissimo, ma pare di capire
che gli Spatial Index anche quando presenti non possono
essere utilizzati).

SQL:
Assai perplimente: almeno dagli esempi, pare proprio che
SQL sia inteso per gestire tutti i dati "normali", mentre
non supporta affatto la parte Spatial vera e propria.
Non sono riuscito a trovare la minima traccia di supporto
per OFG-SFS: insomma, scordatevi ST_AsText() o ST_GeomFromTex()
Per qualsiasi operazione Spatial occorre usare le API C++

ACCESSI CONCORRENTI:
più utenti possono accedere simultaneamente in lettura.
secondo la documentazione qualsiasi tentativo di accesso
simultaneo in scrittura può facilmente causare la corruzione 
irreversibile del GeoDB.

CONCLUSIONI:
Lo dice la documentazione stessa: queste API sono intese
esclusivamente per consentire la migrazione dei dati
da/per altri sistemi di storage.

Insomma, non si tratta affatto di uno Spatial DBMS vero 
e proprio, ma semplicemente di un "formato file", per
quanto sofisticato e complesso.
Per supportare le funzioni Spatial in modo degno
servono comunque i prodotti ArcXxx "veri" (a pagamento).
Molto più prosaicamente queste API consentono di recuperare
i dati memorizzati in un GeoDB, oppure di creare da zero un 
GeoDB trasferendovi dati di altra provenienza.

Funzioni sicuramente utili e forse anche preziose quando 
l'integrazione spinta con sistemi ESRI è un must assoluto.
Ma altrettanto sicuramente del tutto inutili in qualsiasi 
altro contesto, cioè quando l'uso di sw ESRI non è previsto 
in nessuna fase.

ciao Sandro
 
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110828/5ebcd894/attachment.html>


Maggiori informazioni sulla lista Gfoss