Was sind Esri-Geodatabases?

22

Welche verschiedenen Formate / Speichertechnologien fallen unter den Namen Esri Geodatabase ?
Was sind die wichtigsten Unterschiede zwischen ihnen?
und (kurz) was sind die Mainstream-Mittel, um sie zu nutzen?

Es gibt überall Gespräche über Personal- und File- und Enterprise- und (?) Geodatabases. Hierbei handelt es sich jeweils um unterschiedliche Bestien, die unterschiedlich gehandhabt werden müssen. Die Antworten auf die Frage, welche Mittel für welche Formate von Geodatabases gelten, sind jedoch sehr verwirrend.

update: Ich sollte hinzufügen, dass keine einzige Antwort die gesamte Bandbreite der Möglichkeiten abdecken muss. Es wäre in Ordnung zu sagen, "die zwei Einzelbenutzer-GDB-Formate sind persönliche und Datei-GDB, sie sind für xxx geeignet, haben diese Grenzwerte xxx und die Hauptunterschiede zwischen ihnen sind xxx" usw.

Matt Wilkie
quelle
2
Kann keine tatsächliche Antwort geben, da ich so gut wie nichts über die ArcSDE RDMBS-Geodatabase-Umgebung "Multiuser" weiß, aber dieser Link enthält eine schöne Zusammenfassung aller verschiedenen Typen. Der Hauptunterschied ist, dass die 2 Single User GDBs genau das sind; Einzelbenutzer (MS Access-Back-End-Personal-GDB und die neue proprietäre ESRI-GDB FIle) Diese GDB-Modelle sind im Gegensatz zu ArcSDE RDBMS-Mehrbenutzerumgebungen, die auf RDMS-Systemen von Drittanbietern (SQL Server, ORACLE, DB2) ausgeführt werden, für Einzelbenutzer-Desktops konzipiert , etc.)
Jakub Sisak GeoGraphics
@ Jakub, jede einzelne Antwort muss nicht den gesamten Bereich umfassen.
Matt Wilkie
Domänen, Beziehungen und Subtypen machen die Geodatabase-Struktur unendlich benutzerfreundlicher und nützlicher als das alte .shp-Modell.
Roy

Antworten:

45

Meistens machen die Leute den Fehler, die GeoDatabase einfach als ein Geodatenformat zu betrachten, mit dem Sie räumliche Abfragen durchführen können. Das ist eine unglaubliche Vereinfachung.

Heck, ich habe diesen Fehler selbst gemacht - bis ich eines Tages hörte, wie Scott Morehouse die Hintergründe der GeoDatabase erklärte. Er ist einer jener Menschen, die sehr abstrakt denken können, weit oben und dann auch noch sehr schnell runter kommen, sehr praktisch sind und so Probleme vermeiden, die Architekturastronauten haben.

Um zu verstehen, was die GeoDatabase ist, müssen Sie sich die Definition eines Informationsmodells ansehen :

Ein Informationsmodell in der Softwareentwicklung ist eine Darstellung von Konzepten, Beziehungen, Einschränkungen, Regeln und Operationen, um die Datensemantik für eine ausgewählte Diskursdomäne festzulegen. Es kann eine gemeinsam nutzbare, stabile und organisierte Struktur der Informationsanforderungen für den Domänenkontext bereitstellen.

Die GeoDatabase ist einfach eine ESRI-Definition eines Informationsmodells, das geografische Konzepte unterstützt. Dieses Informationsmodell unterstützt beispielsweise Konzepte wie Topologie . mit all den Regeln, Operationen und der damit verbundenen Datensemantik (z. B. was darf sich über was überlappen, was passiert nach einer Teilung, wie wirkt sich eine Bearbeitung auf andere Features aus, die dieselbe Kante haben usw.).

Es gibt verschiedene Implementierungen des ESRI GeoDatabase-Informationsmodells, die in zwei Kategorien unterteilt werden können:

  1. Einzelbenutzer-GeoDatabases:

    • Personal GeoDatabase: Aufbauend auf dem MS Access-Format ".mdb".
    • FileGDB: Aufbauend auf einem proprietären Format, das von ESRI erstellt wurde (".gdb" -Ordner)
  2. GeoDatenbanken für mehrere Benutzer (auch Enterprise GeoDatabases genannt):

    Dies sind die von der ArcSDE-Middleware unterstützten Datenquellen.

    • PostgreSQL
    • SQL Server
    • Orakel
    • DB2
    • Informix
    • etc

Der Zweck von ArcSDE wird ebenfalls missverstanden. "SDE" wird häufig mit einer GeoDatabase verwechselt - und im schlimmsten Fall werden die Begriffe synonym verwendet. ein schrecklicher Fehler. Früher wurde ArcSDE (damals einfach SDE genannt) als Datenabstraktions-Layer erstellt . Eine einfache Beschreibung von ArcSDE finden Sie in einem wirklich alten USENET-Nachrichtenbeitrag von Scott Morehouse (1999) . Ein Ausschnitt aus diesem Beitrag sagt:

SDE verschiebt die räumliche Verarbeitung an das DBMS. Wenn das zugrunde liegende Datenbanksystem überhaupt keine räumliche Unterstützung bietet, implementiert SDE die gesamte räumliche Funktionalität. Wenn die zugrunde liegende Datenbank über einige Funktionen verfügt, implementiert SDE einige Funktionen und verschiebt den Rest an das Datenbankmodul. Um die bestmögliche Leistung zu erzielen und die Kerndatenbanktechnologie zu nutzen, versuchen wir, der Datenbank so viele Funktionen wie möglich zuzuweisen.

Das bedeutet , dass ArcSDE durch die GeoDatabase verwendet wird , wenn mit zugrunde liegenden Datenquellen interagieren, aber es weiß nichts über GeoDatabase Abstraktionen, wie Beziehungen, Domains, Terrains, Kataster Stoff, Schematic - Datasets, etc . Es wird nur verwendet, um die Programmierung mit verschiedenen zugrunde liegenden Datenspeichern zu vereinfachen.

Wenn Sie also mit Abstraktionen auf GeoDatabase-Ebene arbeiten und dann versuchen, Dinge in ArcSDE (über API oder ausführbare Befehlszeilenprogramme von arcsde) auszuführen, können Probleme auftreten. (Kann ich diesen Satz größer machen ???)

In Bezug auf die Einschränkungen der einzelnen Implementierungen der GeoDatabase hängt dies normalerweise vom zugrunde liegenden Speicher ab.

Personal GDB ist an das 2-GB-MB-Limit (Access) gebunden. FileGDB hat dieses Problem nicht, da es erstellt wurde, um diese Einschränkung zu beseitigen und mit Unix kompatibel zu sein.

Sowohl Personal GDB als auch FileGDB sind Einzelbenutzer. Sie erhalten also keine Versionierung . Die GDB-Replikation wird zusätzlich zur Versionsverwaltung implementiert. Sie ist daher nur eine Funktion aller GeoDatabases für mehrere Benutzer (ArcSDE-Datenquellen).

Topologie, Anmerkungen , Darstellungsklassen , Domänen , Terrains usw. sind alles GeoDatabase-Konzepte, für die keine Unterstützung für mehrere Benutzer erforderlich ist. Sie stehen daher für alle Implementierungen des GeoDatabase-Informationsmodells zur Verfügung.

Die Verwendung für jede GDB-Implementierung hängt von Ihren Anforderungen ab. Es gibt also eine Art GeoDatabase für die meisten (aber nicht alle) Anwendungsfälle.

Ich hoffe das macht es klar.

Ragi Yaser Burhum
quelle