Kopiujesz domenę (i jedyną domenę) między geobazami Esri?

23

Czasami muszę skopiować domeny z jednej geobazy do innej (bez klasy obiektów lub tabeli).

W przeszłości osiągnąłem to na kilka różnych sposobów, ale każda metoda nie jest tak prosta, jak mi się wydaje (lub może istnieje narzędzie CopyDomain , za którym tęskniłem).

Jakiej metody używasz do tego?

Jay Cummins
źródło
Znam co najmniej 2 dodatkowe metody: może nie „godna zaakceptowana odpowiedź”, ale zdecydowanie godna reputacji. Wyślę je za kilka dni, jeśli nikt inny nie dostarczy ich jako odpowiedzi.
Jay Cummins,
Opublikuj
Kilkakrotnie musiałem wyjaśniać DBA spoza GIS, w jaki sposób domeny są jak tabela, ale nie są przechowywane jako tabela, do której można uzyskać dostęp za pośrednictwem SQL. Być może odpowiedzi na to pytanie powinny być w języku zrozumiałym dla DBA spoza GIS.
Kirk Kuykendall

Odpowiedzi:

10

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

Jest to rozszerzenie ArcCatalog, które pozwala kopiować domeny między geobazami.

Uważam, że jest aktualny tylko dla wersji 9.3.1 SP1, więc może nie działać z ArcGIS 10.

Britt Wescott
źródło
+1 Jestem na ArcGIS 10, ale celowo pozostawiłem pytanie otwarte dla dowolnej wersji. Dostałem rozszerzenie 9.3.1 do pracy w ArcCatalog 10. Nie dostałem nowego polecenia z menu kontekstowego, ale byłem w stanie dodać to polecenie do paska narzędzi i używać go w ten sposób.
Jay Cummins,
Ok, cieszę się, że zadziałało. Powinieneś poinformować autora rozszerzenia o tym, że polecenie menu kontekstowego nie działa w ArcCatalog 10.
Britt Wescott,
Powiadomiłem autora (do tej pory świerszcze). W piątek zastosowałem dodatek SP1 do ArcGIS 10. Teraz podczas rozszerzania ArcCatalog pojawiają się błędy rozszerzenia arccatalog domen kopiowania.
Jay Cummins
To ma sens, mam nadzieję, że wkrótce go zaktualizuje.
Britt Wescott,
15

W przypadku domen z zakodowaną wartością zrobię domenę do tabeli ze źródłowej geobazy, a następnie zrobię tabelę do domeny do nowej geobazy.

Nie wiem, jak to zrobić w przypadku domen zakresu. Możesz zrobić domenę do tabeli , ale tablica do domeny zawsze występuje jako domena o wartości kodowanej.

Jay Cummins
źródło
3
Właśnie rano użyłem narzędzi Domain to Table i Table to Domain i działały świetnie.
Timothy Michael
3

Ta metoda jest bardziej hackerska i praktyczna tylko dla 1 lub kilku domen.

  1. W oryginalnej geobazie danych utwórz fikcyjną klasę obiektów z fikcyjnym polem pasującym do typu danych pola domeny, którą chcesz skopiować.

  2. Skopiuj / wklej atrapę klasy obiektów do nowej geobazy i nie usuwaj jej, dopóki nie przypiszesz domeny do pola w innej klasie obiektów.

Jay Cummins
źródło
3

Napisałem szybki plik poleceń arcobjects exe na podstawie kodu VBA, który znalazłem w zeszłym tygodniu . To nie jest skomplikowany kod.

Ex e jest tutaj .
Film AVI tutaj .

Drobiazgowy: exe jest kompilowany do licencji 10.0 / ArcEditor (licencja jest na razie na stałe zakodowana).

alternatywny tekst

Jay Cummins
źródło
Próbowałem to uwagę, ale pojawiają się błędy wyjątków, CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228. Jakieś pomysły?
matt wilkie
Nie wiem na pewno, ale czy jesteś licencją ArcEditor? To było szybkie i brudne narzędzie, więc prawdopodobnie nie jest to najbardziej eleganckie narzędzie. Czy masz program Visual Studio? Źródło znajduje się tutaj: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Oto metoda eksportowania / importowania domen korzystających z Dokumentów obszaru roboczego XML .

Wymagania

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro najnowszy (testowany)
  • Notepad ++, Notepad lub twój ulubiony edytor tekstu

Procedura

Eksportuj XML ze źródła

  1. Wybierz źródłową geobazę
  2. Wyeksportuj dokument obszaru roboczego XML

eksport

  1. Eksportuj tylko schemat. Metadane są opcjonalne (czerwona strzałka).

tylko schemat

Edytuj XML

Schemat zestawu danych jest usuwany w kroku.

  1. Otwórz plik XML.
  2. (opcjonalnie) Włącz zawijanie wyrazów, aby wszystko było lepiej widoczne.
  3. Usuń wszystko pomiędzy <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>i tych </DatasetDefinitions>tagów. Powinno to wyglądać mniej więcej tak:

zmiany xml

  1. Zostaw wszystko inne w spokoju.
  2. Zapisz plik XML

Importuj do celu

  1. Znajdź / Utwórz nową geobazę
  2. Zaimportuj dokument obszaru roboczego XML ...
  3. Wybierz edytowany plik XML i idź.
  4. Gotowy.

Rozwiązywanie problemów

  • Specyfikacja obszaru roboczego Esri XML jest bardzo specyficzna. Jeśli krok importu powoduje błąd, prawdopodobnie występuje błąd schematu. Przejrzyj plik XML lub wyeksportuj go ponownie i powtórz. Nie usuwaj żadnych dodatkowych karetek ani podziałów linii.
Elliott
źródło