สร้างข้อมูลเมตาสำหรับชุดข้อมูลหลายชุดพร้อมกันใน ArcGIS 10


11

ฉันพยายามหาวิธีสร้างข้อมูลเมตาผ่าน Arc Catalog สำหรับชุดข้อมูลหลายชุดพร้อมกัน ฉันทำงานในฐานข้อมูลไฟล์ทางภูมิศาสตร์ซึ่งประกอบด้วยคลาสคุณลักษณะและ rasters หลายรายการ ข้อมูลมีชุดรูปแบบทั่วไปดังนั้นฉันต้องการสร้างเทมเพลตของข้อมูลเมตาสำหรับหนึ่งรายการจากนั้นเติมชุดข้อมูลอื่น ๆ ภายในข้อมูลเมตาดาต้าเดียวกัน ฉันวางแผนที่จะใช้เทมเพลตเมตาดาต้ามาตรฐาน ISO

ฉันได้ทำการวิจัยแล้วและดูเหมือนว่ามีสามตัวเลือก (แต่ไม่ประสบความสำเร็จเกินไป): - ใช้เครื่องมือ 'ผู้นำเข้าข้อมูลเมตา' ภายในกล่องเครื่องมือ Conversion (แต่ฉันจะสามารถคัดลอกข้อมูลเมตาได้แบบตัวต่อตัว) พื้นฐานเท่านั้น) - X-tools pro มีตัวเลือก 'การแก้ไขข้อมูลเมตา' พร้อมใช้งาน แต่หลังจากตั้งค่าพารามิเตอร์ภายใน ArcMap ฉันไม่เห็นการเปลี่ยนแปลงเหล่านี้ผ่านทางแคตตาล็อก Arc - ตัวเลือกที่สามกำลังเพิ่ม 'Batch Importer' ( http: //edndoc.esri .com / arcobjects / 9.0 / ตัวอย่าง / ข้อมูลเมตา / ผู้นำเข้า / Batch_Importer / Batch_Importer.htm ) ฉันจัดการเพื่อเพิ่มลงใน ArcCatalog แต่ฉันไม่สามารถเรียกใช้ได้ (ฉันได้รับข้อความแสดงข้อผิดพลาด 'ICommand_OnClick ())

ฉันทำงานกับ ArcGIS 10


ฉันพยายามทำตามขั้นตอนตามที่ oliver พูดและมันสมเหตุสมผล แต่ฉันไม่รู้ว่าจะทำอย่างไรกับ iso เพราะเขาพูด (ระบบแน่นอน ... ) "ชุดข้อมูล arcgis กับ iso 19139 ไม่มีอยู่จริงหรือไม่ สนับสนุน "ฉันลองตัวเลือกทั้งหมด แต่ใช้งานไม่ได้ ฉันทำงานกับ arcinfo 10.0 / sp5 ครบทั้งหมดส่งเสียงฉัน: avixr@nana10.co.il

คำตอบ:


4

ขออภัยที่จะบอกว่าคุณจะไม่หาวิธีที่รวดเร็วในการทำ SP2; ส่วนใหญ่เป็นเพราะข้อมูลเมตาเสียหายอย่างรุนแรง @ ArcGIS 10 ฉันไม่คาดหวังว่าโค้ดตัวอย่างที่คุณเห็นจะทำงานได้อย่างสมบูรณ์ฉันสงสัยว่ามันอาจทำให้ข้อมูลเมตาเสียหายได้ ตัวเลือกเดียวที่แท้จริงของคุณกำลังจะทำด้วยตนเอง

เราดำเนินการโครงการอัปเดตข้อมูลเมตาที่สำคัญในช่วง 2 เดือนที่ผ่านมาและเนื่องจากปัญหาใน ArcGIS 10 ที่เราต้องดำเนินการด้วยตนเอง ชั้นโดยชั้น

ฉันหวังว่าจะมีข่าวดีสำหรับคุณ ฉันขอให้คุณโชคดี.


ขอบคุณสำหรับคำตอบ. โชคดีที่ชุดข้อมูลที่ฉันทำงานนั้นยังไม่ครอบคลุมมากนักดังนั้นฉันสามารถทำได้ด้วยตนเองภายในไม่กี่ชั่วโมง แต่คำถามเกิดขึ้นเมื่อชุดข้อมูลมีขนาดใหญ่ บางสิ่งบางอย่างสำหรับ Esri คิดเกี่ยวกับ ..
Magda

ฉันเข้าใจหรือความสามารถในการตั้งค่าตัวเลือกสากลบางอย่างเป็นชุดของไฟล์พูดอัปเดตข้อมูลติดต่อหรือข้อจำกัดความรับผิดชอบของคุณ สิ่งนั้นเป็นสิ่งที่จะช่วยผู้ใช้จำนวนมาก
DEWright

ฉันคิดว่าฉันถอดรหัสมันด้วยการดัดแปลงเครื่องมือบางอย่างที่มีอยู่ แจ้งให้เราทราบหากคุณสนใจ
Oliver Burdekin

@Magda คุณลองใช้เครื่องมือหรือยัง
Oliver Burdekin

5

ฉันเพิ่งสร้างข้อมูลเมตาพร้อมกันสำหรับ rasters บางอย่าง พวกเขาอยู่ในพื้นที่ทำงานไฟล์ซึ่งตรงข้ามกับพื้นที่ทำงานฐานข้อมูลทางภูมิศาสตร์ดังนั้นฉันไม่แน่ใจว่าจะเป็นปัญหาหรือไม่ หากฉันเข้าใจถูกต้องคุณกำลังพยายามสร้างข้อมูลเมตาทั่วไปสำหรับหลายไฟล์ นี่คือสิ่งที่ฉันทำ:

เปิด arcCatalog และอัพเดตข้อมูลเมตาสำหรับหนึ่งในไฟล์

เป็นแบบทั่วไปดังนั้นข้อความจะนำไปใช้กับไฟล์ทั้งหมด

ส่งออกข้อมูลเมตาลงในโฟลเดอร์เดียวกัน (ฉันมีข้อกำหนดการใช้งานเมตาดาต้า ISO 19139 ที่เลือกในตัวเลือก arcCatalog ของฉัน)

ไฟล์จะถูกส่งออกเป็นไฟล์. xml

เปิดเครื่องมือต่อไปนี้: เครื่องมือการแปลง> ข้อมูลเมตา> นำเข้าข้อมูลเมตา ... เปิดด้วยการคลิกขวาแล้วเลือก "แบทช์" (เป็นสัญลักษณ์ที่มีสัญลักษณ์ตัวสร้างแบบจำลองอยู่ข้างๆ)

ตอนนี้คุณสามารถเพิ่มไฟล์. meta ที่ส่งออกเป็นแหล่งข้อมูลและนำทางไปยังไฟล์ทั้งหมดเพื่อใช้เป็นเป้าหมาย

จริงอยู่ที่มันเป็นเรื่องน่าอึดอัดใจที่จะทำเช่นนี้กับชุดข้อมูลขนาดใหญ่ (การนำทางไปยังแต่ละไฟล์) แต่เนื่องจากนี่เป็นแบบจำลองคุณจึงสามารถปรับเปลี่ยนให้ทำงานเป็นเครื่องมือแทนได้อย่างง่ายดาย เลือกตัวเลือกการเรียกซ้ำและมันจะเพิ่มไฟล์ทั้งหมดภายในโฟลเดอร์เพื่อแนบข้อมูลเมตา อันที่จริงฉันอาจทำตอนนี้และโพสต์ไว้ที่นี่

* อัพเดท *

ฉันได้สร้างเครื่องมือที่ใช้เพื่อจุดประสงค์ของฉันเพียงแค่อัปเดตส่วน DESCRIPTION ของไฟล์ หากคุณต้องการใช้โปรดแจ้งให้เราทราบ มันมีนิสัยแปลก ๆ แต่ก็วิ่งได้


ฉันใช้ 'นำเข้าข้อมูลเมตา' ในโหมดแบทช์ @Oliver - ใช่ - ฉันสนใจมากที่จะเห็นเครื่องมือนี้!
Magda

@Magda คุณสามารถส่งอีเมลฉันที่ info@burdgis.com มันจะเป็นการดีที่จะทดสอบรูปแบบนี้กับคนอื่นข้อมูล
Oliver Burdekin

Hallo @Oliver ฉันต้องการใช้เครื่องมือของคุณ จากนั้นฉันไม่จำเป็นต้องลองอีกครั้งด้วยตัวเอง ขอบคุณ :-)
Shiuli Pervin

สวัสดี @ShiuliPervin โปรดส่งอีเมลถึงฉันที่ info@burdgis.com พร้อมตัวอย่างข้อมูลและข้อกำหนดที่แน่นอนของคุณ โปรดรวม ArcGIS เวอร์ชันของคุณ ขอบคุณ
Oliver Burdekin

0

ใช่ฉันทำสคริปต์เล็ก ๆ นี้ที่ฉันเรียกใช้จากสมุดบันทึก Jupyter การเปลี่ยนแปลงเช่นเดียวกับที่จำเป็นต้องใช้ตัวแปรmetadatainและmetawriter มันจะเพิ่ม metadata ซ้ำในไฟล์ทั้งหมดที่มีนามสกุล (เช่น shp) ภายในไดเรกทอรี

import os
import xml.etree.ElementTree as ET
metadatain = ET.parse(r'ADDRESS\TO\METADATA.xml')
root = metadatain.getroot()

def metawriter(folder_path, extension):
    for path, subdirs, files in os.walk(folder_path):
        for name in files:
            file_extension = os.path.splitext(name)[-1]
            if(extension in file_extension):
            #if(file_extension.lower() in name.lower()):
                file_path = os.path.join(path,name)
                file_name = os.path.splitext(file_path)[0]
                print(file_path)
                print(file_name)
                metafile = file_name + extension + ".xml"
                print(metafile)
                metadatain.write(metafile)



metawriter(r'ADDRESS\TO\FOLDER', '.FILEXTENSION')

* หมายเหตุแบ็กสแลช

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