Menyalin domain (dan satu-satunya domain) antara Esri geodatabases?

23

Terkadang saya memiliki kebutuhan untuk menyalin domain dari satu geodatabase ke yang lain (tanpa tabel fitur atau tabel).

Di masa lalu, saya telah melakukan ini dalam beberapa cara yang berbeda, tetapi setiap metode tidak semudah yang saya kira (atau mungkin ada alat CopyDomain yang saya lewatkan).

Metode apa yang Anda gunakan untuk mencapai ini?

Jay Cummins
sumber
Saya tahu setidaknya 2 metode tambahan: mungkin tidak "diterima jawaban" layak, tetapi reputasi pasti layak. Saya akan mempostingnya dalam beberapa hari jika tidak ada orang lain yang memberikannya sebagai jawaban.
Jay Cummins
Jangan memposting solusi tambahan, komunitas akan memilih jika mereka layak :)
MathiasWestin
Pada beberapa kesempatan saya harus menjelaskan kepada non-GIS DBA tentang bagaimana domain seperti tabel, tetapi tidak disimpan sebagai tabel yang dapat diakses melalui SQL. Mungkin jawaban untuk ini harus dalam bahasa yang DBA non-GIS bisa mengerti.
Kirk Kuykendall

Jawaban:

10

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

Ini adalah Ekstensi ArcCatalog yang memungkinkan Anda untuk menyalin domain antara geodatabases.

Saya percaya ini hanya terkini untuk 9.3.1 SP1, jadi mungkin tidak bekerja dengan ArcGIS 10.

Britt Wescott
sumber
+1 Saya di ArcGIS 10, tetapi saya sengaja membiarkan pertanyaan terbuka untuk versi apa pun. Saya memang mendapatkan ekstensi 9.3.1 untuk bekerja di ArcCatalog 10. Saya tidak mendapatkan perintah baru pada menu konteks, tetapi saya bisa menambahkan perintah ke toolbar dan menggunakannya dengan cara itu.
Jay Cummins
Ok, senang itu berhasil. Anda harus memberi tahu pembuat ekstensi tentang perintah menu konteks yang tidak berfungsi di ArcCatalog 10.
Britt Wescott
Saya tidak memberi tahu penulis (jangkrik sejauh ini). Juga, saya menerapkan SP1 ke ArcGIS 10 pada hari Jumat. Sekarang salin domain, ekstensi ekstensi kesalahan saat ArcCatalog dimulai.
Jay Cummins
Masuk akal, semoga dia segera memperbaruinya.
Britt Wescott
15

Untuk domain nilai yang dikodekan, saya akan melakukan Domain Ke Tabel dari sumber geodatabase dan kemudian melakukan Tabel Ke Domain ke dalam geodatabase baru.

Saya tidak tahu cara untuk ini untuk domain rentang. Anda bisa melakukan Domain Ke Tabel , tetapi Tabel Ke Domain selalu masuk sebagai domain nilai yang dikodekan.

Jay Cummins
sumber
3
Saya hanya menggunakan alat Domain to Table dan Table to Domain pagi ini dan mereka bekerja dengan baik.
Timothy Michael
3

Metode ini lebih rumit dan hanya praktis untuk 1 atau beberapa domain.

  1. Di geodatabase asli, buat kelas boneka dummy dengan bidang boneka yang cocok dengan tipe data bidang dari domain yang ingin Anda salin.

  2. Salin / Tempel kelas boneka dummy ke dalam geodatabase baru dan jangan hapus sampai Anda menetapkan domain ke bidang di kelas fitur lain.

Jay Cummins
sumber
3

Saya menulis exe baris perintah arcobjects cepat berdasarkan pada beberapa kode vba yang saya temukan minggu lalu . Itu bukan kode yang rumit.

Ex ada di sini .
Film AVI di sini .

Cetak halus: Exe dikompilasi ke lisensi 10.0 / ArcEditor (lisensi adalah bagian yang sulit dikodekan untuk saat ini).

teks alternatif

Jay Cummins
sumber
Saya mencoba ini tetapi saya mendapatkan kesalahan pengecualian CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228,. Ada ide?
matt wilkie
Tidak tahu pasti, tetapi apakah Anda lisensi ArcEditor? Itu adalah alat cepat & kotor, jadi itu mungkin bukan alat yang paling elegan. Anda punya Visual Studio? Sumbernya ada di sini: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Berikut adalah metode untuk mengekspor / mengimpor domain yang menggunakan Dokumen Workspace XML .

Persyaratan

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro terbaru (diuji)
  • Notepad ++, Notepad, atau editor teks favorit Anda

Prosedur

Ekspor XML dari Sumber

  1. Pilih geodatabase sumber Anda
  2. Ekspor dokumen ruang kerja XML

ekspor

  1. Ekspor skema saja. Metadata adalah opsional (panah merah).

skema saja

Edit XML

Skema dataset dihapus pada langkah ini.

  1. Buka file XML.
  2. (opsional) Aktifkan bungkus kata untuk membuat semuanya lebih mudah dilihat.
  3. Hapus segala sesuatu antara <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>dan </DatasetDefinitions>tag. Seharusnya terlihat seperti ini:

edit xml

  1. Biarkan semuanya sendiri.
  2. Simpan file XML

Impor ke Target

  1. Temukan / Buat database geodat baru
  2. Impor Dokumen Workspace XML ...
  3. Pilih XML yang diedit dan pergi.
  4. Selesai

Penyelesaian masalah

  • Spesifikasi ruang kerja Esri XML sangat spesifik. Jika langkah impor memberikan kesalahan, mungkin ada kesalahan skema. Tinjau XML atau ekspor saja dan ulangi. Jangan lepaskan carets atau line break tambahan.
Elliott
sumber