Domain (und nur Domain) zwischen Esri-Geodatabases kopieren?

23

Manchmal muss eine Domain von einer Geodatabase in eine andere kopiert werden (ohne Feature-Class oder Tabelle).

In der Vergangenheit habe ich dies auf verschiedene Arten erreicht, aber jede Methode ist nicht so einfach, wie ich es für möglich halte (oder vielleicht gibt es ein CopyDomain- Tool, das ich verpasst habe).

Welche Methode verwenden Sie, um dies zu erreichen?

Jay Cummins
quelle
Ich kenne mindestens zwei zusätzliche Methoden: Vielleicht nicht die "akzeptierte Antwort", aber definitiv den Ruf wert. Ich werde sie in ein paar Tagen veröffentlichen, wenn niemand anderes sie als Antwort bereitstellt.
Jay Cummins
Poste
Bei mehreren Gelegenheiten musste ich Nicht-GIS-DBAs erklären, wie Domänen einer Tabelle ähneln, aber nicht als Tabelle gespeichert werden, auf die über SQL zugegriffen werden kann. Möglicherweise sollte die Antwort auf diese Frage in einer Sprache erfolgen, die ein Nicht-GIS-DBA verstehen kann.
Kirk Kuykendall

Antworten:

10

http://arcscripts.esri.com/details.asp?dbid=14729

Dies ist eine ArcCatalog-Erweiterung, mit der Sie Domänen zwischen Geodatabases kopieren können.

Ich glaube, es ist nur für 9.3.1 SP1 auf dem neuesten Stand, daher funktioniert es möglicherweise nicht mit ArcGIS 10.

Britt Wescott
quelle
+1 Ich bin auf ArcGIS 10, habe die Frage jedoch absichtlich für jede Version offen gelassen. Ich habe die Erweiterung 9.3.1 in ArcCatalog 10 zum Laufen gebracht. Ich habe den neuen Befehl im Kontextmenü nicht erhalten, aber ich konnte den Befehl zu einer Symbolleiste hinzufügen und auf diese Weise verwenden.
Jay Cummins,
Ok, ich bin froh, dass das funktioniert hat. Sie sollten den Erweiterungsautor über den Kontextmenübefehl informieren, der in ArcCatalog 10 nicht funktioniert.
Britt Wescott
Ich habe den Autor benachrichtigt (Grillen bisher). Außerdem habe ich am Freitag SP1 auf ArcGIS 10 angewendet. Jetzt werden beim Starten von ArcCatalog Fehler bei der Erweiterung der Kopierdomänen angezeigt.
Jay Cummins
Das macht Sinn, hoffentlich wird er es bald aktualisieren.
Britt Wescott
15

Für Domänen mit codierten Werten werde ich eine Domäne in Tabelle aus der Quell-Geodatabase und anschließend eine Tabelle in Domäne in der neuen Geodatabase erstellen.

Ich kenne keinen Weg dazu für die Range-Domains. Sie können eine Domain To Table erstellen , die Table To Domain wird jedoch immer als Domäne mit codiertem Wert eingegeben.

Jay Cummins
quelle
3
Ich habe heute Morgen die Tools "Domain to Table" und "Table to Domain" verwendet und sie haben hervorragend funktioniert.
Timothy Michael
3

Diese Methode ist hackiger und nur für 1 oder einige wenige Domains praktisch.

  1. Erstellen Sie in der ursprünglichen Geodatabase eine Dummy-Feature-Class mit einem Dummy-Feld, das dem Felddatentyp der Domäne entspricht, die Sie kopieren möchten.

  2. Kopieren Sie die Dummy-Feature-Class und fügen Sie sie in die neue Geodatabase ein. Löschen Sie sie erst, wenn Sie die Domain einem Feld in einer anderen Feature-Class zugewiesen haben.

Jay Cummins
quelle
3

Ich habe eine kurze Befehlszeilen-Arcobjects-Exe geschrieben, die auf einem VBA-Code basiert , den ich letzte Woche gefunden habe . Es ist kein komplizierter Code.

Ex e ist da .
AVI-Film hier .

Kleingedrucktes: Die Exe-Datei wurde mit der Lizenz 10.0 / ArcEditor kompiliert (die Lizenz ist im Moment fest codiert).

Alt-Text

Jay Cummins
quelle
Ich habe es ausprobiert, aber es treten Ausnahmefehler auf CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228. Irgendwelche Ideen?
Matt Wilkie
Ich weiß es nicht genau, aber sind Sie eine ArcEditor-Lizenz? Das war ein schnelles und schmutziges Werkzeug, daher ist es wahrscheinlich nicht das eleganteste Werkzeug. Hast du Visual Studio? Die Quelle ist hier: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Hier ist eine Methode zum Exportieren / Importieren von Domänen, die XML Workspace-Dokumente verwenden .

Bedarf

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro aktuell (getestet)
  • Notepad ++, Notepad oder Ihr bevorzugter Texteditor

Verfahren

XML aus der Quelle exportieren

  1. Wählen Sie Ihre Quell-Geodatabase aus
  2. Exportieren Sie ein XML Workspace-Dokument

Export

  1. Exportieren Sie nur das Schema. Metadaten sind optional (roter Pfeil).

Nur Schema

XML bearbeiten

Das Datensatzschema wird im Schritt gelöscht.

  1. Öffnen Sie die XML-Datei.
  2. (Optional) Aktivieren Sie den Zeilenumbruch, um alles besser sehen zu können.
  3. Löschen Sie alles zwischen den <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>und den </DatasetDefinitions>Tags. Es sollte ungefähr so ​​aussehen:

xml-bearbeitungen

  1. Lass alles andere in ruhe
  2. Speichern Sie die XML-Datei

In Ziel importieren

  1. Suchen / Erstellen Sie die neue Geodatabase
  2. Importieren Sie die XML - Workspace - Dokument ...
  3. Wählen Sie die bearbeitete XML und gehen Sie.
  4. Getan.

Fehlerbehebung

  • Die Esri XML-Arbeitsbereichsspezifikation ist sehr spezifisch. Wenn der Importschritt einen Fehler ergibt, liegt wahrscheinlich ein Schemafehler vor. Überprüfen Sie die XML-Datei oder exportieren Sie sie erneut und wiederholen Sie den Vorgang. Entfernen Sie keine zusätzlichen Carets oder Zeilenumbrüche.
Elliott
quelle