<HTML>
<HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<font size="2"><b>On Sat, 27 Aug 2011 23:30:11 +0200, G. Allegri wrote</b>
<br />> In ogni caso, credo sia una
cosa utile (sebbene da molti vista come la solita mossa commerciale
<br />> d'aggancio all'OS, sullo stile delle varie big farm), perché offre uno
strumento in più verso
<br />> l'integrazione e l'interoperabilità...
<br />> Il che può
essere sempre uno step verso una migrazione più free.
<br />>
<br />
<br />mi sono scaricato le API ESRI del GeoDatabase:
<br />eccovi una veloce e sommaria recensione.
<br />
<br />LICENZA:
<br />assolutamente non libera: vietata la redistribuzione
<br />a terzi, ciascun singolo utente deve scaricarsi le API
<br />per proprio conto previa registrazione ed accettazione
<br />dell'accordo di licenza con ESRI.
<br />
<br />SW:
<br />si tratta di un insieme di librerie per Windows (32 e 64 bit)
<br />e per Linux (32 e 64 bit): Mac Os X pare del tutto non
<br />supportato, così come qualsiasi altra piattaforma.
<br />lib pesantucce: circa il doppio di SpatiaLite (in MB)
<br />
<br />LINGUAGGI:
<br />C++ (per WinOz anche C#)
<br />
<br />STRUTTURA DEL DBMS:
<br />sorprendentemente, abbastanza simile a MySQL.
<br />un GeoDBMS in effetti è un'intera cartella, che contiene
<br />al suo interno moltissimi file: una singola "tavola/layer"
<br />richiede 3 o 4 files distinti (dati, indici, spatial index,
<br />struttura).
<br />Più ovviamente ulteriori files per metadati e cataloghi
<br />
<br />FUNZIONALITA':
<br />le API consentono di creare un GeoDB, creare e cancellare
<br />le tavole, interrogare lo schema da un GeoDB già esistente etc.
<br />Inoltre supportano l'interrogazione, inserimento, modifica e
<br />cancellazione di singole features.
<br />
<br />LIMITAZIONI:
<br />non è possibile gestire i Rasters, le reti e le topologie
<br />possono essere lette ma la scrittura non è abilitata.
<br />L'unico tipo di Spatial Query supportato è il filtraggio
<br />per BBOX aka MBR (non sono sicurissimo, ma pare di capire
<br />che gli Spatial Index anche quando presenti non possono
<br />essere utilizzati).
<br />
<br />SQL:
<br />Assai perplimente: almeno dagli esempi, pare proprio che
<br />SQL sia inteso per gestire tutti i dati "normali", mentre
<br />non supporta affatto la parte Spatial vera e propria.
<br />Non sono riuscito a trovare la minima traccia di supporto
<br />per OFG-SFS: insomma, scordatevi ST_AsText() o ST_GeomFromTex()
<br />Per qualsiasi operazione Spatial occorre usare le API C++
<br />
<br />ACCESSI CONCORRENTI:
<br />più utenti possono accedere simultaneamente in lettura.
<br />secondo la documentazione qualsiasi tentativo di accesso
<br />simultaneo in scrittura può facilmente causare la corruzione
<br />irreversibile del GeoDB.
<br />
<br />CONCLUSIONI:
<br />Lo dice la documentazione stessa: queste API sono intese
<br />esclusivamente per consentire la migrazione dei dati
<br />da/per altri sistemi di storage.
<br />
<br />Insomma, non si tratta affatto di uno Spatial DBMS vero
<br />e proprio, ma semplicemente di un "formato file", per
<br />quanto sofisticato e complesso.
<br />Per supportare le funzioni Spatial in modo degno
<br />servono comunque i prodotti ArcXxx "veri" (a pagamento).
<br />Molto più prosaicamente queste API consentono di recuperare
<br />i dati memorizzati in un GeoDB, oppure di creare da zero un
<br />GeoDB trasferendovi dati di altra provenienza.
<br />
<br />Funzioni sicuramente utili e forse anche preziose quando
<br />l'integrazione spinta con sistemi ESRI è un must assoluto.
<br />Ma altrettanto sicuramente del tutto inutili in qualsiasi
<br />altro contesto, cioè quando l'uso di sw ESRI non è previsto
<br />in nessuna fase.
<br />
<br />ciao Sandro
<br />
</font>
</BODY>
</HTML>