La mayoría de las veces, las personas cometen el error de pensar en la GeoDatabase como simplemente un formato geoespacial que le permite hacer consultas espaciales. Esa es una simplificación tan increíble.
Heck, solía cometer este error yo mismo, hasta que un día escuché a Scott Morehouse explicando las razones detrás de la GeoDatabase. Es una de esas personas que puede pensar de manera muy abstracta, muy arriba, y luego también baja muy rápido y es muy práctico y, por lo tanto, evita los problemas que tienen los astronautas arquitectónicos .
Para comprender qué es la GeoDatabase, debe mirar la definición de un modelo de información :
Un modelo de información en ingeniería de software es una representación de conceptos, relaciones, restricciones, reglas y operaciones para especificar la semántica de datos para un dominio de discurso elegido. Puede proporcionar una estructura de requisitos de información compartible, estable y organizada para el contexto del dominio.
La GeoDatabase es simplemente una definición ESRI de un modelo de información que admite conceptos geográficos. Por ejemplo, este modelo de información admite conceptos como Topología ; con todas las reglas, operaciones y semántica de datos asociadas con ellas (por ejemplo, qué se permite superponer además de qué, qué sucede después de una división, cómo afecta una edición a otras características que comparten el mismo borde, etc.).
Existen diversas implementaciones del modelo de información GeoDatabase de ESRI y se pueden clasificar en dos:
GeoDatabases de usuario único:
- GeoDatabase personal: Construido sobre el formato de acceso MS ".mdb".
- FileGDB: Construido sobre un formato propietario creado por ESRI (carpetas ".gdb")
GeoDatabases multiusuario (también conocido como Enterprise GeoDatabases):
Estas son las fuentes de datos compatibles con el middleware ArcSDE.
- PostgreSQL
- servidor SQL
- Oráculo
- DB2
- Informix
- etc.
El propósito de ArcSDE también se malinterpreta. "SDE" a menudo se confunde con una GeoDatabase, y en el peor de los casos, los términos se usan de manera intercambiable; Un horrible error. En el pasado, ArcSDE (entonces simplemente llamado SDE) fue creado para actuar como una capa de abstracción de datos . Puede encontrar una descripción simple de ArcSDE en una publicación de noticias USENET muy antigua de Scott Morehouse (1999) . Un fragmento de esa publicación dice:
SDE difiere el procesamiento espacial al DBMS. Si el sistema de base de datos subyacente no tiene ningún soporte espacial, SDE implementará toda la funcionalidad espacial. Si la base de datos subyacente tiene alguna funcionalidad, SDE implementará alguna funcionalidad y transferirá el resto al motor de la base de datos. Para lograr el mejor rendimiento y aprovechar la tecnología de base de datos central, tratamos de diferir tanta funcionalidad como sea posible.
Eso significa que ArcSDE es utilizado por la geodatabase en la interacción con las fuentes de datos subyacente, pero no sabe nada acerca de abstracciones base de datos geográficos, como las relaciones, dominios, terrenos Catastral Tela, esquemáticos conjuntos de datos, etc . Solo se usa para facilitar la programación con varios almacenes de datos subyacentes.
Es por eso que si está lidiando con abstracciones de nivel GeoDatabase, y luego trata de hacer cosas desde ArcSDE (a través de API o ejecutables de línea de comando de arcsde), puede encontrarse con problemas. (¿Puedo hacer esta oración más grande ???)
En cuanto a las limitaciones de cada implementación diferente de la GeoDatabase, generalmente depende del almacenamiento subyacente.
El GDB personal está sujeto al límite de 2 GB mdb (acceso). FileGDB no tiene este problema ya que fue creado para deshacerse de esta limitación y ser compatible con Unix.
Tanto Personal GDB como FileGDB son de un solo usuario. Entonces no obtienes ninguna versión . La replicación GDB se implementa además del control de versiones, por lo que es una característica de todas las bases de datos geográficas multiusuario (fuentes de datos ArcSDE) solamente.
Topología, anotaciones , clases de representación , dominios , terrenos , etc., son todos conceptos de GeoDatabase que no requieren soporte multiusuario, por lo que están disponibles en todas las implementaciones del modelo de información GeoDatabase.
En cuanto a los usos para cada implementación de GDB, depende de sus necesidades. Por lo tanto, hay un tipo de GeoDatabase para la mayoría (pero no todos) los casos de uso.
Espero que esto quede claro.