<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>