รหัสโรงงานของออบเจ็กต์ ArcGIS SpatialReference สอดคล้องกับหมายเลข EPSG หรือไม่?


22

ฉันมีโครงการที่ฉันกำลังอ่านในวัตถุรูปทรงเรขาคณิตจากไฟล์ข้อความเพื่อใส่ไว้ใน ArcSDE วัตถุรูปทรงเรขาคณิตเหล่านี้มีรหัส EPSG ที่เกี่ยวข้องและฉันกำลังมองหาวิธีที่จะทำให้แน่ใจว่าพวกเขาอยู่ในการฉายภาพที่ถูกต้องเมื่อฉันทำเสร็จแล้ว

ดูที่รหัสโรงงานที่ฉันสนใจ (GCS GDA94; EPSG: 4283 และ VicGrid 94; EPSG: 3111) สำหรับโครงการที่ฉันกำลังทำอยู่ปรากฏว่ารหัส EPSG ตรงกับ ESRI โดยตรง รหัสโรงงานสำหรับการอ้างอิงเชิงพื้นที่ ( ที่นี่และที่นี่ ) นี่เป็นเรื่องที่ดีเพราะฉันไม่ต้องกังวลเกี่ยวกับการนำทางไปยังไฟล์ฉายภาพเพื่อสร้างวัตถุSpatialReferenceเช่นในรหัสด้านล่าง:

import arcpy

# Create a spatial reference object using a factory code
#
sr = arcpy.SpatialReference()
sr.factoryCode = int(epsg_code.lstrip("EPSG:"))
sr.create()

น่าเสียดายที่ฉันไม่สามารถหาข้อมูลอ้างอิงใด ๆ ในเอกสาร ESRI เพื่อบอกว่าสิ่งนี้ถือเป็นจริงตลอดเวลาหรือไม่ - ฉันเดาว่ามันเป็นเช่นนั้น แต่ฉันอยากจะรู้แน่นอน ไม่มีใครรู้ว่าฉันจะหาคำตอบได้ที่ไหน

คำตอบ:


30

หากรหัสที่รู้จักกันดีของ Esri ต่ำกว่า 32767 จะเป็นไปตามรหัส EPSG WKID ที่ 32767 ขึ้นไปเป็น Esri ที่กำหนด วัตถุไม่ได้อยู่ในชุดข้อมูลพารามิเตอร์จีโอเดติก Geogeticหรืออาจจะไม่ถูกเพิ่ม หากมีการเพิ่มวัตถุในชุดข้อมูล EPSG ในภายหลัง Esri จะอัปเดต WKID ให้ตรงกับ EPSG หนึ่ง แต่ค่าก่อนหน้านี้จะยังคงใช้งานได้

มีข้อ จำกัด บางประการ Esri ไม่ปฏิบัติตามคำสั่งแกนที่ EPSG ทำอย่างน้อยที่สุดใน ArcGIS Desktop อย่างน้อยก็เป็นละติจูดลองจิจูดหรือทิศตะวันออกเฉียงเหนือ (xy) แม้ว่าเราจะรับลำดับแกนในเซิร์ฟเวอร์ตอนนี้

ฉันคุ้นเคยกับสิ่งนี้อย่างใกล้ชิดเพราะฉันเป็นวิศวกรผลิตภัณฑ์ที่จัดการสิ่งเหล่านี้สำหรับ Esri


9

ดูเหมือนว่าจะมีการบันทึกไว้ในวิธีใช้ SDK เช่นIGeometryServer.FindSRByWKID :

AuthorityNameมักจะเป็น "EPSG" หรือ "ESRI" แต่สามารถเป็นสตริงได้ตามใจชอบ มันอาจเป็นสตริงว่างถ้าคุณต้องการชื่อผู้มีอำนาจเริ่มต้นที่เกี่ยวข้องกับการอ้างอิงเชิงพื้นที่ใหม่ ลูกค้าสามารถเชื่อมโยงชื่อหน่วยงานผู้มีอำนาจของตนเองกับรหัสโรงงานที่เกี่ยวข้องกับชื่อหน่วยงาน EPSG หรือ ESRI ในปัจจุบันเนื่องจากมีเพียง WKID เท่านั้นที่ใช้เพื่อสร้างการอ้างอิงเชิงพื้นที่ นี่คือกฎปัจจุบันสำหรับการแมปช่วงWKIDกับชื่อผู้มีสิทธิ์เริ่มต้น:

  • WKIDในช่วง EPSG รหัส (1000-32768) จะส่งผลให้ชื่อของผู้มีอำนาจของ“EPSG” และรุ่นจะเป็นรุ่น EPSG ที่ใช้ในปัจจุบัน (ปัจจุบัน“6.12”)
  • WKIDในช่วงรหัส ESRI (33,000-199,999) จะส่งผลให้ชื่อของผู้มีอำนาจของ“ESRI” และรุ่นจะเป็นรุ่นปัจจุบันห้องสมุด PE (ปัจจุบัน“9.3”)
  • WKIDในผู้ใช้ (objedit) ช่วง (200000-209199) จะส่งผลให้ชื่อของผู้มีอำนาจของ“CUSTOM” กับรุ่นไม่เกี่ยวข้องกับมัน ชื่อนี้ถูกระบุโดย OGC

หากฉันพบค่า 0 ในรหัสโรงงานอ้างอิงเชิงพื้นที่ฉันสามารถบอกได้หรือไม่ว่าการอ้างอิงเชิงพื้นที่ไม่ได้รับอนุญาต / ถูกต้อง?
Emi

2
@Emi, 0 สำหรับรหัสโรงงาน / wkid มักจะหมายความว่า ArcGIS ไม่รู้จักการอ้างอิงเชิงพื้นที่ (ระบบพิกัด) ฉันจะยังคงเรียกมันว่าการอ้างอิงเชิงพื้นที่ที่ถูกต้องเพราะมันสามารถใช้งานได้มันแค่ไม่มี ID
mkennedy

5

การอ้างอิงเดียวที่ฉันสามารถค้นหาเกี่ยวกับ EPSG นั้นอยู่ในสิ่งใหม่ใน ArcGIS 10ที่กล่าว

จัดทำแผนที่ประมาณการและระบบพิกัด

มีการเพิ่มระบบพิกัดและการแปลงใหม่รวมถึงสิ่งต่อไปนี้: •คำจำกัดความจากชุดข้อมูลพารามิเตอร์จีพีจีจีดีเดติกพารามิเตอร์รุ่น 6.15 ถึง 7.1 รวมถึงการแปลงทางภูมิศาสตร์ (datum) 181 และระบบพิกัดกว่า 280 รายการ ...

ฉันไม่รู้ว่านี่เป็นคำยืนยันที่คุณต้องการหรือไม่

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