¿Qué son las geodatabases de Esri?

22

¿Cuáles son los diversos formatos / tecnologías de almacenamiento que se denominan Geodatabase Esri ?
¿Cuáles son las diferencias más importantes entre ellos?
y (brevemente) ¿cuáles son los medios principales para utilizarlos?

Hay conversaciones por todas partes sobre geodatabases personales y de archivos y empresariales y (?) . Estas son bestias diferentes que necesitan un manejo distinto, pero hay mucha confusión en las respuestas sobre qué medios se aplican a qué formatos de geodatabases.

Actualización: debo agregar que no siento que una sola respuesta tenga que abordar toda la gama de posibilidades. Estaría bien decir "los dos formatos gdb de usuario único son personales y gdb de archivo, son apropiados para xxx, tienen estos límites xxx y las principales diferencias entre ellos son xxx", etc.

wilkie mate
fuente
2
No puedo proporcionar una respuesta real porque no sé casi nada sobre el entorno de Geodatabase RDMBS "Multiusuario" ArcSDE, pero este enlace tiene un buen resumen de todos los diferentes tipos. La principal diferencia es que los 2 GDB de usuario único son solo eso; un solo usuario (MS Access back-end Personal GDB y el nuevo archivo GDB patentado de ESRI) Estos modelos GDB están diseñados para entornos de escritorio de un solo usuario a diferencia de los entornos ArcSDE RDBMS Multiusuario que se ejecutan sobre RDMS de terceros (SQL Server, ORACLE, DB2 , etc.)
Jakub Sisak GeoGraphics
@Jakub, cualquier respuesta individual no tiene que abarcar todo el rango.
Matt Wilkie
Los dominios, las relaciones y los subtipos hacen que la estructura de la Geodatabase sea infinitamente más fácil de usar y útil que el antiguo modelo .shp.
Roy

Respuestas:

45

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:

  1. 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")
  2. 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.

Ragi Yaser Burhum
fuente