Wie vergleiche ich Schemas aus zwei File-Geodatabases?

13

Wir haben eine Vorlagen-Geodatabase, die wir an unsere regionalen Datenersteller senden. Sie aktualisieren diese Geodatabases und digitalisieren alle Daten aus ihrer Region in den vordefinierten Feature-Classes.

Nachdem wir nun die File-Geodatabases haben, stellen wir fest, dass viele der Feature-Classes geändert wurden. Möglicherweise wurde ein Feld hinzugefügt oder entfernt. In einigen Fällen wird die Feature-Class selbst gelöscht oder eine neue erstellt.

Ich möchte einen Bericht erhalten, der angibt, welche Feature-Classes und Tabellen geändert wurden, sowie die unterschiedlichen Felder in den allgemeinen Tabellen und Feature-Classes.

Ich habe mir bereits einige Fragen angesehen, wie zum Beispiel:

Die Antworten in diesen Fragen waren jedoch nicht hilfreich.

Devdatta Tengshe
quelle
Ich bin mir nicht sicher, welches Protokoll hier bei SE mit Necroing-Themen vorliegt, aber ich hatte eine verwandte Frage zu Ihrer, Devdatta: Gibt es ein Tool, das Ihre Lösung aus dem Röntgen-Add-In übernimmt und die Unterschiede zwischen den GeoDBs / XML?
Kyle Shepard
@KyleShepard Die übliche Vorgehensweise besteht darin, eine neue Frage für eine neue Ausgabe zu stellen. Sie können auf eine alte Frage verlinken, wenn diese verwandte Informationen enthält. Und um Ihre Frage zu beantworten, habe ich so etwas nicht gefunden. Vielleicht könnten Sie eine neue Frage stellen, und jemand, der etwas gefunden hat, würde sie beantworten.
Devdatta Tengshe

Antworten:

9

Es gibt ein wunderbares Add-In namens X-ray für ArcCatalog . Es hat viele Funktionen, aber die, die wir letztendlich verwendet haben, war das Tool "Differenz analysieren" im Menü "Extras".

Es findet für Sie den Unterschied zwischen einer Geodatabase und einem XML-Arbeitsbereich-Dokument. Wir haben gerade das Schema unserer Vorlagen-Geodatabase nach XML exportiert und die verschiedenen Geodatabases damit verglichen.

Es dauert kaum ein paar Sekunden, bis ein netter Bericht mit allen Feature-Classes und Feldern angezeigt wird, die in den beiden Geodatabases fehlen oder unterschiedlich sind.

Devdatta Tengshe
quelle
Das sieht gut aus. Funktioniert es mit 10.1?
Fezter
@ Fezter: Dies scheint die Version
Devdatta Tengshe,
7

Ich denke, dass das Schreiben eines Python-Skripts am besten zu dem passt, was Sie herausfinden möchten. Nachfolgend finden Sie einen allgemeinen Skriptworkflow:

Vergleichen Sie zuerst Geodatabase 1 (geo1) mit Geodatabase 2 (geo2).

  1. Geo1 durchsuchen / durchlaufen und den Namen der Feature-Class (fc) 1 abrufen und in anderen Geo2 nach demselben fc-Namen suchen
  2. Wenn Schritt 1 fc1 == fc2 name, dann liste Felder in fc1 auf und suche nach Feldern in fc2. Wenn fc1 field name nicht in fc2 gefunden werden kann, dann schreibe fc1 field name in die Textdatei
  3. Als Nächstes suchen oder listen Sie die Domain in geo1 auf und suchen Sie dann in geo2 nach demselben Domainnamen. Wenn geo1 domain == geo2 domain, erhalten Sie den ersten codierten Wert von domain 1 und überprüfen Sie, ob er in domain 2 vorhanden ist. Wenn nicht, schreiben Sie den geo1 domainnamen aus oder domänencodierter Wert in Textdatei.

In umgekehrter Reihenfolge vergleichen Sie geo2 mit geo1

Führen Sie die obigen Schritte 1-3 aus, jedoch in umgekehrter Reihenfolge von geo2 zu geo1

Überprüfen Sie nach Abschluss des Skripts die Ergebnistextdatei auf mögliche Unstimmigkeiten.

artwork21
quelle
3

Es hört sich so an, als hättest du bereits eine gute Antwort. Aber für alle anderen, die ihre Geodatabase-Schemata verstehen möchten, kann ich auch ArcGIS Diagrammer empfehlen , ein eigenständiges Programm, das von einem Esri-Team geschrieben wurde.

ArcGIS Diagrammer ist ein Produktivitätswerkzeug für GIS-Experten zum Erstellen, Bearbeiten oder Analysieren von Geodatabase-Schemas. Das Schema wird in einer für Benutzer von Microsoft Visual Studio vertrauten Umgebung als bearbeitbare Grafik dargestellt. Im Wesentlichen ist ArcGIS Diagrammer ein visueller Editor für die XML-Arbeitsbereichdokumente von ESRI, die in ArcMap oder ArcCatalog erstellt werden können.

Stephen Blei
quelle
Zur Verdeutlichung ist kein Visio erforderlich, aber es sieht ein bisschen "vertraut für Benutzer von Visio" aus, da er ein ähnliches Layout verwendet
Stephen Lead
Ja, du hast recht. Sieht so aus, als hätte ich mich geirrt.
Devdatta Tengshe