Apakah kode pabrik objek ArcGIS SpatialReference sesuai dengan angka EPSG?

22

Saya punya proyek di mana saya membaca objek geometri dari file teks untuk meletakkannya di ArcSDE. Objek geometri ini memiliki kode EPSG terkait, dan saya sedang mencari cara untuk memastikan mereka dalam proyeksi yang tepat ketika saya selesai menggunakannya.

Setelah melihat kode pabrik yang saya minati, (GCS GDA94; EPSG: 4283, dan VicGrid 94; EPSG: 3111) untuk proyek yang sedang saya kerjakan tampaknya kode-kode EPSG berhubungan langsung dengan ESRI kode pabrik untuk referensi spasial (di sini dan di sini ). Ini hebat, karena itu berarti saya tidak perlu khawatir menavigasi ke file proyeksi untuk membuat objek SpatialReference , misalnya dalam kode di bawah ini:

import arcpy

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

Sayangnya saya tidak dapat menemukan referensi apa pun dalam dokumentasi ESRI untuk mengatakan apakah ini benar atau tidak - saya kira memang demikian, tetapi saya lebih suka tahu pasti. Adakah yang tahu di mana saya bisa mengetahuinya?

om_henners
sumber

Jawaban:

30

Jika ID Esri terkenal di bawah 32767, itu sesuai dengan ID EPSG. WKID yang 32767 atau lebih ditentukan Esri. Entah objek belum dalam Dataset Parameter Geodetik EPSG , atau mungkin tidak akan ditambahkan. Jika suatu objek kemudian ditambahkan ke Dataset EPSG, Esri akan memperbarui WKID agar sesuai dengan yang EPSG, tetapi nilai sebelumnya masih akan berfungsi.

Ada beberapa batasan. Esri tidak mengikuti arahan sumbu yang EPSG lakukan, setidaknya di ArcGIS Desktop, selalu garis bujur atau garis lintang-timur (xy), meskipun kami mengambil urutan sumbu di Server sekarang.

Saya akrab dengan ini karena saya adalah insinyur produk yang menangani ini untuk Esri.

mkennedy
sumber
9

Ini tampaknya didokumentasikan dalam bantuan SDK, misalnya IGeometryServer.FindSRByWKID :

AuthorityName biasanya "EPSG" atau "ESRI", tetapi juga bisa berupa string arbitrer. Ini juga bisa menjadi string kosong jika Anda ingin nama otoritas default yang terkait dengan referensi spasial baru. Klien dapat mengaitkan nama otoritas mereka sendiri dengan kode pabrik yang saat ini dikaitkan dengan nama otoritas EPSG atau ESRI, karena hanya WKID yang digunakan untuk membuat referensi spasial. Berikut adalah aturan saat ini untuk memetakan rentang WKID ke nama otoritas default:

  • Sebuah WKID di kisaran kode EPSG (1.000-32.768) akan menghasilkan nama KEWENANGAN dari “EPSG”, dan versi akan versi EPSG saat digunakan (saat “6.12”).
  • Sebuah WKID di kisaran kode ESRI (33.000-199.999) akan menghasilkan nama KEWENANGAN dari “ESRI”, dan versi akan menjadi versi perpustakaan PE saat ini (saat ini “9,3”).
  • Sebuah WKID di pengguna (objedit) Kisaran (200.000-209.199) akan menghasilkan nama KEWENANGAN dari “CUSTOM”, dengan tidak ada versi yang terkait dengan itu. Nama ini ditentukan oleh OGC.
blah238
sumber
Jika saya menemukan nilai 0 dalam kode pabrik referensi spasial, dapatkah saya memberi tahu bahwa referensi spasial tidak diotorisasi / valid?
Emi
2
@ Emi, A 0 untuk kode pabrik / wkid biasanya berarti bahwa ArcGIS tidak mengenali referensi spasial (sistem koordinat). Saya masih akan menyebutnya referensi spasial yang valid karena dapat digunakan, hanya saja tidak memiliki ID.
mkennedy
5

Satu-satunya referensi yang dapat saya temukan mengenai EPSG adalah dalam Apa yang baru di ArcGIS 10 yang mengatakan

Memetakan proyeksi dan sistem koordinat

Sistem dan transformasi koordinat baru telah ditambahkan, termasuk yang berikut: • Definisi dari EPSG Geodetic Parameter Dataset versi 6.15 hingga 7.1, termasuk 181 transformasi geografis (datum) dan lebih dari 280 sistem koordinat ...

Saya tidak tahu apakah itu konfirmasi yang Anda butuhkan.


sumber