คัดลอกโดเมน (และโดเมนเท่านั้น) ระหว่างฐานข้อมูลภูมิศาสตร์ของ Esri หรือไม่


23

บางครั้งฉันจำเป็นต้องคัดลอกโดเมนจากฐานข้อมูลหนึ่งไปยังอีกที่หนึ่ง (โดยไม่มีคุณลักษณะระดับหรือตาราง)

ในอดีตฉันได้ทำสิ่งนี้ด้วยวิธีที่ต่างกันเล็กน้อย แต่แต่ละวิธีไม่ตรงไปตรงมาอย่างที่ฉันคิดว่าอาจเป็นได้ (หรืออาจมีเครื่องมือCopyDomainที่ฉันพลาดไป)

คุณใช้วิธีการใดในการทำสิ่งนี้ให้สำเร็จ


ฉันรู้วิธีการเพิ่มเติมอย่างน้อย 2 วิธี: อาจไม่ใช่ "คำตอบที่ยอมรับ" มีค่า แต่มีชื่อเสียงที่ควรค่า ฉันจะโพสต์พวกเขาในอีกไม่กี่วันถ้าไม่มีใครให้คำตอบพวกเขา
— Jay Cummins

อย่าโพสต์โซลูชั่นเพิ่มเติมชุมชนจะออกเสียงลงคะแนนขึ้นถ้าพวกเขามีความคุ้มค่า :)
— MathiasWestin

หลายต่อหลายครั้งฉันต้องอธิบายให้ผู้ที่ไม่ใช่ GIS DBA เห็นว่าโดเมนเป็นอย่างไรในตาราง แต่ไม่ได้จัดเก็บไว้ในตารางที่สามารถเข้าถึงได้ผ่าน SQL บางทีคำตอบนี้ควรเป็นภาษาที่ไม่ใช่ GIS DBA สามารถเข้าใจได้
— Kirk Kuykendall

คำตอบ:


10

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

นี่คือส่วนขยาย ArcCatalog ที่ให้คุณคัดลอกโดเมนระหว่างฐานข้อมูลภูมิศาสตร์

ฉันเชื่อว่าเป็นรุ่นล่าสุดสำหรับ 9.3.1 SP1 ดังนั้นจึงอาจไม่ทำงานกับ ArcGIS 10


+1 ฉันใช้งาน ArcGIS 10 แต่ฉันตั้งใจทิ้งคำถามไว้ให้เปิดในทุกรุ่น ฉันได้รับส่วนขยาย 9.3.1 เพื่อทำงานใน ArcCatalog 10. ฉันไม่ได้รับคำสั่งใหม่ในเมนูบริบท แต่ฉันสามารถเพิ่มคำสั่งลงในแถบเครื่องมือและใช้วิธีนั้นได้
— Jay Cummins

โอเคดีใจที่ได้ผล คุณควรแจ้งให้ผู้แต่งส่วนขยายทราบเกี่ยวกับคำสั่งเมนูบริบทที่ไม่ทำงานใน ArcCatalog 10
— Britt Wescott

ฉันแจ้งผู้แต่ง (จิ้งหรีดมาก่อน) ฉันใช้ SP1 กับ ArcGIS 10 ในวันศุกร์ ตอนนี้ข้อผิดพลาดการขยายโดเมน arccatalog เมื่อ ArcCatalog เริ่มทำงาน
— Jay Cummins

หวังว่าเขาจะอัปเดตในไม่ช้า
— Britt Wescott

15

สำหรับโดเมนค่าที่กำหนดรหัสฉันจะทำDomain To Tableจาก Geodatabase ต้นทางแล้วทำTable To Domainลงใน Geodatabase ใหม่

ฉันไม่รู้วิธีนี้สำหรับโดเมนที่มีช่วง คุณสามารถทำDomain To Tableได้ แต่Table To Domain นั้นจะเข้ามาเป็นโดเมนค่าที่กำหนดรหัสไว้เสมอ


3
ฉันเพิ่งใช้เครื่องมือ Domain to Table และ Table to Domain เมื่อเช้านี้และทำงานได้ยอดเยี่ยม
— ทิโมธี Michael

3

วิธีนี้มีการแฮ็กมากกว่าและใช้งานได้จริงสำหรับ 1 หรือโดเมนไม่กี่

  1. ในฐานข้อมูลภูมิศาสตร์ต้นฉบับสร้างคุณลักษณะหุ่นจำลองด้วยเขตจำลองที่ตรงกับชนิดข้อมูลของโดเมนที่คุณต้องการคัดลอก

  2. คัดลอก / วางคุณลักษณะหุ่นจำลองลงในฐานข้อมูลภูมิศาสตร์ใหม่และไม่ลบจนกว่าคุณจะได้กำหนดโดเมนให้กับเขตข้อมูลในอีกระดับหนึ่ง


3

ฉันเขียนบรรทัดคำสั่งอย่างรวดเร็ว arcobjects exe ตามรหัส vbaบางอย่างที่ฉันพบเมื่อสัปดาห์ที่แล้ว มันไม่ใช่รหัสที่ซับซ้อน

Ex E อยู่ที่นี่
ภาพยนตร์ AVI ที่นี่

Fine print: exe ได้รับการคอมไพล์เป็น 10.0 / ArcEditor license (ตอนนี้ลิขสิทธิ์นั้นเป็นส่วนหนึ่งที่ฮาร์ดโค้ดไว้แล้ว)

ข้อความแสดงแทน


ฉันลองสิ่งนี้ แต่ฉันได้รับข้อผิดพลาดข้อยกเว้นCopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228. ความคิดใด ๆ
— matt wilkie

ไม่ทราบแน่ชัด แต่คุณมีสิทธิ์ใช้งาน ArcEditor หรือไม่ นั่นเป็นเครื่องมือที่รวดเร็วและสกปรกดังนั้นอาจไม่ใช่เครื่องมือที่สง่างามที่สุด คุณมี Visual Studio หรือไม่ แหล่งที่มาอยู่ที่นี่: code.google.com/p/umbriel/source/browse/…
— Jay Cummins

3

นี่คือวิธีการในการโดเมนส่งออก / นำเข้าที่ใช้เอกสาร XML Workspace

ความต้องการ

  • เดสก์ท็อป ArcGIS 10.XX
  • ArcGIS Pro รุ่นล่าสุด (ทดสอบแล้ว)
  • Notepad ++, Notepad หรือโปรแกรมแก้ไขข้อความที่คุณโปรดปราน

ขั้นตอน

ส่งออก XML จากแหล่งที่มา

  1. เลือกฐานข้อมูลภูมิศาสตร์ของคุณ
  2. ส่งออกเอกสาร XML Workspace

ส่งออก

  1. ส่งออกสคีมาเท่านั้น ข้อมูลเมตาเป็นตัวเลือก (ลูกศรสีแดง)

สคีมาเท่านั้น

แก้ไข XML

สคีมาชุดข้อมูลจะถูกลบในขั้นตอน

  1. เปิดไฟล์ XML
  2. (ไม่บังคับ) เปิดการตัดคำเพื่อให้ทุกอย่างง่ายขึ้นให้ดู
  3. ลบทุกอย่างระหว่าง<DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>และ</DatasetDefinitions>แท็ก ควรมีลักษณะเช่นนี้:

การแก้ไข xml

  1. ทิ้งทุกอย่างไว้คนเดียว
  2. บันทึกไฟล์ XML

นำเข้าสู่เป้าหมาย

  1. ค้นหา / สร้างฐานข้อมูลภูมิศาสตร์ใหม่
  2. นำเข้าเอกสาร XML Workspace ...
  3. เลือก XML ที่แก้ไขแล้วไป
  4. เสร็จสิ้น

การแก้ไขปัญหา

  • ข้อมูลจำเพาะเวิร์กสเปซ Esri XML นั้นเฉพาะเจาะจงมาก หากขั้นตอนการนำเข้ามีข้อผิดพลาดอาจเป็นข้อผิดพลาดของสคีมา ตรวจสอบ XML หรือเพียงแค่ส่งออกอีกครั้งและทำซ้ำ อย่าลบเครื่องหมายรูปหมวกพิเศษหรือตัวแบ่งบรรทัด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.