La plupart du temps, les gens commettent l'erreur de considérer la géodatabase comme un simple format géospatial qui vous permet de faire des requêtes spatiales. C'est une telle simplification incroyable.
Heck, je faisais moi-même cette erreur - jusqu'au jour où j'ai entendu Scott Morehouse expliquer les raisons de la géodatabase. Il fait partie de ces personnes qui peuvent penser de manière très abstraite, très haut - puis redescendre très rapidement et être très pratiques et éviter ainsi les problèmes des astronautes architecturaux .
Pour comprendre ce qu'est la GéoDatabase, vous devez regarder la définition d'un modèle d'information :
Un modèle d'information en génie logiciel est une représentation des concepts, des relations, des contraintes, des règles et des opérations pour spécifier la sémantique des données pour un domaine de discours choisi. Il peut fournir une structure partageable, stable et organisée des exigences d'information pour le contexte du domaine.
La GéoDatabase est simplement une définition ESRI d'un modèle d'information qui prend en charge les concepts géographiques. Par exemple, ce modèle d'informations prend en charge des concepts tels que la topologie ; avec toutes les règles, opérations et sémantiques de données qui leur sont associées (par exemple, ce qui est autorisé à se chevaucher par-dessus quoi, ce qui se passe après une division, comment une modification affecte-t-elle d'autres fonctionnalités qui partagent le même bord, etc.).
Il existe différentes implémentations du modèle d'information ESRI GeoDatabase et elles peuvent être classées en deux:
GéoDatabases mono-utilisateur:
- GéoDatabase personnelle: construite au-dessus du format MS Access ".mdb".
- FileGDB: Construit au-dessus d'un format propriétaire créé par ESRI (dossiers ".gdb")
GéoDatabases multi-utilisateurs (alias GeoDatabases d'entreprise):
Ce sont les sources de données prises en charge par le middleware ArcSDE.
- PostgreSQL
- serveur SQL
- Oracle
- DB2
- Informix
- etc
Le but d'ArcSDE est également mal compris. "SDE" est souvent confondu avec une géodatabase - et dans le pire des cas, les termes sont utilisés de manière interchangeable; une horrible erreur. À l'époque, ArcSDE (alors simplement appelé SDE) a été créé pour agir comme une couche d'abstraction des données . Vous pouvez trouver une description simple d' ArcSDE dans un très ancien article de presse USENET de Scott Morehouse (1999) . Un extrait de ce message dit:
SDE reporte le traitement spatial au SGBD. Si le système de base de données sous-jacent n'a aucune prise en charge spatiale, SDE implémentera toutes les fonctionnalités spatiales. Si la base de données sous-jacente possède certaines fonctionnalités, SDE implémentera certaines fonctionnalités et reportera le reste au moteur de base de données. Pour obtenir les meilleures performances et tirer parti de la technologie de base de données de base, nous essayons de reporter autant de fonctionnalités que possible à la base de données.
Cela signifie que ArcSDE est utilisé par le GeoDatabase lors de l' interaction avec des sources de données sous - jacentes, mais il ne sait rien au sujet des abstractions GÉODATABASE, comme les relations, les domaines, cadastral, Tissu Terrains, Schéma datasets, etc . Il est simplement utilisé pour faciliter la programmation avec divers magasins de données sous-jacents.
C'est pourquoi si vous traitez avec des abstractions au niveau de la géodatabase, puis que vous essayez de faire des choses depuis ArcSDE (via l'API ou les exécutables de ligne de commande arcsde), vous pouvez rencontrer des problèmes. (Puis-je agrandir cette phrase ???)
En ce qui concerne les limites de chaque implémentation différente de la géodatabase, elle dépend généralement du stockage sous-jacent.
GDB personnel est lié à la limite de 2 Go mdb (accès). FileGDB, n'a pas ce problème car il a été créé pour se débarrasser de cette limitation et pour être compatible avec unix.
Personal GDB et FileGDB sont des utilisateurs uniques. Vous n'avez donc pas de versioning . La réplication GDB est implémentée en plus du contrôle de version, c'est donc une fonctionnalité de toutes les géodatabases multi-utilisateurs (ArcSDE Datasources) uniquement.
La topologie, les annotations , les classes de représentation , les domaines , les terrains , etc., sont tous des concepts de géodatabase qui ne nécessitent pas de prise en charge multi-utilisateurs - ils sont donc disponibles dans toutes les implémentations du modèle d'informations de géodatabase.
En ce qui concerne les utilisations pour chaque implémentation GDB, cela dépend de vos besoins. Il existe donc un type de GeoDatabase pour la plupart (mais pas tous) les cas d'utilisation.
J'espère que cela est clair.