La maggior parte delle volte, le persone commettono l'errore di pensare al GeoDatabase semplicemente come un formato geospaziale che consente di eseguire query spaziali. Questa è una semplificazione così incredibile.
Cavolo, ero solito commettere questo errore da solo - fino a quando un giorno ho sentito Scott Morehouse spiegare le motivazioni alla base del GeoDatabase. È una di quelle persone che possono pensare in modo molto astratto, molto in alto, e poi anche molto velocemente ed essere molto pratici, evitando così i problemi che gli astronauti dell'architettura hanno.
Per capire cos'è il GeoDatabase, è necessario esaminare la definizione di un modello informativo :
Un modello informativo nell'ingegneria del software è una rappresentazione di concetti, relazioni, vincoli, regole e operazioni per specificare la semantica dei dati per un dominio di discorso scelto. Può fornire una struttura condivisibile, stabile e organizzata dei requisiti di informazione per il contesto del dominio.
Il GeoDatabase è semplicemente una definizione ESRI di un modello informativo che supporta concetti geografici. Ad esempio, questo modello informativo supporta concetti come la topologia ; con tutte le regole, le operazioni e la semantica dei dati ad essi associati (ad es. cosa può sovrapporsi a cosa, cosa succede dopo una divisione, in che modo una modifica influisce su altre funzionalità che condividono lo stesso limite, ecc.).
Esistono varie implementazioni del modello informativo ESRI GeoDatabase e possono essere classificate in due:
Database geografici per utente singolo:
- Database geografico personale: basato sul formato MS Access ".mdb".
- FileGDB: basato su un formato proprietario creato da ESRI (cartelle ".gdb")
GeoDatabase multiutente (aka Enterprise GeoDatabase):
Queste sono le origini dati supportate dal middleware ArcSDE.
- PostgreSQL
- server SQL
- Oracolo
- DB2
- Informix
- eccetera
Anche lo scopo di ArcSDE viene frainteso. "SDE" viene spesso confuso con un GeoDatabase - e nei casi peggiori, i termini sono usati in modo intercambiabile; un orribile errore. In passato, ArcSDE (allora chiamato semplicemente SDE) è stato creato per fungere da strato di astrazione dei dati . È possibile trovare una semplice descrizione di ArcSDE da un post di notizie USENET molto vecchio di Scott Morehouse (1999) . Un frammento di quel post dice:
SDE difende l'elaborazione spaziale nel DBMS. Se il sistema di database sottostante non ha alcun supporto spaziale, SDE implementerà tutte le funzionalità spaziali. Se il database sottostante ha alcune funzionalità, SDE implementerà alcune funzionalità e rinvierà il resto al motore di database. Per ottenere le migliori prestazioni e sfruttare la tecnologia di base del database, cerchiamo di rinviare quante più funzionalità possibile al database.
Ciò significa che ArcSDE viene utilizzato da GeoDatabase quando interagisce con origini dati sottostanti, ma non sa nulla delle astrazioni di GeoDatabase, come Relazioni, Domini, Terreni, Tessuto catastale, Set di dati schematici, ecc . Viene utilizzato solo per semplificare la programmazione con vari archivi dati sottostanti.
Ecco perché se hai a che fare con le astrazioni a livello di GeoDatabase e quindi provi a fare cose da ArcSDE (tramite API o eseguibili della riga di comando di arcsde), potresti riscontrare problemi. (Posso ingrandire questa frase ???)
Per quanto riguarda i limiti di ogni diversa implementazione del GeoDatabase, di solito dipende dall'archiviazione sottostante.
Il GDB personale è vincolato al limite di 2 GB mdb (accesso). FileGDB, non presenta questo problema poiché è stato creato per eliminare questa limitazione e per essere compatibile con unix.
Sia GDB personale che FileGDB sono utenti singoli. Quindi non ottieni alcun controllo delle versioni . La replica GDB è implementata in aggiunta al controllo delle versioni, quindi è una funzionalità di tutti i GeoDatabase multiutente (ArcSDE Datasources).
Topologia, annotazioni , classi di rappresentazione , domini , terreni , ecc. Sono tutti concetti di GeoDatabase che non richiedono il supporto multiutente - quindi sono disponibili in tutte le implementazioni del modello di informazioni di GeoDatabase.
Per quanto riguarda gli usi per ogni implementazione GDB, dipende dalle tue esigenze. Quindi esiste un tipo di GeoDatabase per la maggior parte (ma non per tutti) i casi d'uso.
Spero che questo chiarisca.