¿Los códigos de fábrica de objetos ArcGIS SpatialReference se corresponden con los números EPSG?


22

Tengo un proyecto donde estoy leyendo objetos de geometría de archivos de texto para ponerlos en ArcSDE. Estos objetos de geometría tienen un código EPSG asociado, y estoy buscando una manera de asegurarme de que estén en la proyección correcta cuando haya terminado con ellos.

Después de echar un vistazo a los códigos de fábrica que me interesan (GCS GDA94; EPSG: 4283 y VicGrid 94; EPSG: 3111) para un proyecto en el que estoy trabajando, parece que los códigos EPSG corresponden directamente al ESRI códigos de fábrica para la referencia espacial ( aquí y aquí ). Esto es genial, ya que significa que no tengo que preocuparme por navegar a los archivos de proyección para crear objetos SpatialReference , por ejemplo, en el siguiente código:

import arcpy

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

Desafortunadamente, no puedo encontrar ninguna referencia en la documentación de ESRI para decir si esto es cierto todo el tiempo o no, supongo que sí, pero prefiero saberlo con certeza. ¿Alguien sabe dónde podría averiguarlo?

Respuestas:


30

Si una identificación conocida de Esri está por debajo de 32767, corresponde a la identificación EPSG. Los WKID que son 32767 o superiores están definidos por Esri. O el objeto aún no está en el conjunto de datos de parámetros geodésicos EPSG , o probablemente no se agregará. Si luego se agrega un objeto al conjunto de datos EPSG, Esri actualizará el WKID para que coincida con el EPSG, pero el valor anterior seguirá funcionando.

Hay algunas limitaciones Esri no sigue las direcciones de los ejes que hace EPSG, al menos en ArcGIS Desktop, siempre es longitud-latitud o norte-este (xy), aunque ahora estamos recogiendo el orden de los ejes en el servidor.

Estoy íntimamente familiarizado con esto, ya que soy el ingeniero de producto que maneja esto para Esri.


9

Esto parece estar documentado en la ayuda del SDK, por ejemplo, IGeometryServer.FindSRByWKID :

AuthorityName suele ser "EPSG" o "ESRI", pero también puede ser una cadena arbitraria. También puede ser la cadena vacía si desea el nombre de autoridad predeterminado asociado con la nueva referencia espacial. Los clientes pueden asociar sus propios nombres de autoridad con códigos de fábrica que están asociados actualmente con los nombres de autoridad EPSG o ESRI, porque solo se utiliza el WKID para crear la referencia espacial. Estas son las reglas actuales para asignar rangos WKID a nombres de autoridad predeterminados:

  • Un WKID en el rango de código EPSG (1000 - 32768) dará como resultado un nombre de AUTORIDAD de "EPSG", y la versión será la versión EPSG actual utilizada (actualmente "6.12").
  • Un WKID en el rango de código ESRI (33000 - 199999) dará como resultado un nombre de AUTORIDAD de "ESRI", y la versión será la versión actual de la biblioteca PE (actualmente "9.3").
  • Un WKID en el rango de usuario (objedit) (200000 - 209199) dará como resultado un nombre de AUTORIDAD de "CUSTOM", sin ninguna versión asociada. Este nombre es especificado por el OGC.

Si encontré un valor 0 en el código de fábrica de referencia espacial, ¿puedo decir que la referencia espacial no es autorizada / válida?
Emi

2
@Emi, A 0 para el código de fábrica / wkid generalmente significa que ArcGIS no reconoce la referencia espacial (sistema de coordenadas). Todavía lo llamaría una referencia espacial válida porque se puede usar, simplemente no tiene una ID.
mkennedy

5

La única referencia que pude encontrar con respecto a EPSG fue en Novedades de ArcGIS 10 que decía

Proyecciones cartográficas y sistemas de coordenadas.

Se han agregado nuevos sistemas de coordenadas y transformaciones, que incluyen lo siguiente: • Definiciones del EPSG Geodetic Parameter Dataset versiones 6.15 a 7.1, que incluyen 181 transformaciones geográficas (datum) y más de 280 sistemas de coordenadas ...

No sé si esa es la confirmación que necesitas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.