Соответствуют ли фабричные коды объектов 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. Либо объект еще не находится в наборе данных геодезических параметров EPSG , либо он, вероятно, не будет добавлен. Если объект позже добавляется в набор данных 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 (33000 - 199999) приведет к имени Авторитет «ESRI», а версия будет текущая версия PE библиотека ( в настоящее время «9,3»).
  • WKID в пользовательском (objedit) диапазоне (200000 - 209199) приведет к имени Авторитет «CUSTOM», без версии , связанной с ним. Это имя указано OGC.

Если я обнаружил значение 0 в коде фабрики пространственной привязки, могу ли я сказать, что пространственная привязка не авторизована / недействительна?
Эми

2
@Emi, 0 для заводского кода / wkid обычно означает, что ArcGIS не распознает пространственную привязку (систему координат). Я все еще назвал бы это действительной пространственной привязкой, потому что это может использоваться, у этого просто нет идентификатора.
Mkennedy

5

Единственное упоминание о EPSG, которое я смог найти, было в разделе Что нового в ArcGIS 10, в котором сказано:

Картографические проекции и системы координат

Были добавлены новые системы координат и преобразования, включая следующие: • Определения из версий набора данных геодезических параметров EPSG 6.15–7.1, включая 181 географическое (базовое) преобразование и более 280 систем координат ...

Я не знаю, нужно ли вам это подтверждение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.