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

22

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

Habiendo examinado 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 a los códigos de fábrica de ESRI 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 SpatialReference objetos, 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 estar seguro. ¿Alguien sabe dónde podría averiguarlo?

    
pregunta om_henners 10.01.2012 - 05:46

3 respuestas

30

Si una ID conocida de Esri está por debajo de 32767, corresponde a la ID de EPSG. Los WKID que son 32767 o superiores están definidos por Esri. O bien el objeto no se encuentra en el Conjunto de datos de parámetros geodésicos EPSG todavía, 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 de longitud-latitud o este-norte (xy), aunque ahora estamos recogiendo el orden de los ejes en el Servidor.

Estoy muy familiarizado con esto, ya que soy el ingeniero de producto que se encarga de esto para Esri.

    
respondido por el mkennedy 10.01.2012 - 18:19
8

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 que el nombre de autoridad predeterminado se asocie con la nueva referencia espacial. Los clientes pueden asociar sus propios nombres de autoridad con los códigos de fábrica que actualmente están asociados con los nombres de autoridad de EPSG o ESRI, porque solo se utiliza el WKID para crear la referencia espacial. Aquí están las reglas actuales para asignar los rangos de WKID a los nombres de autoridad predeterminados:

     
  • Un WKID en el rango del código EPSG (1000 - 32768) dará como resultado un nombre de AUTORIDAD de "EPSG", y la versión será la versión actual de EPSG utilizada (actualmente, "6.12").
  •   
  • Un WKID en el rango del 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 de PE (actualmente, "9.3").
  •   
  • Un WKID en el rango de usuario (objedit) (200000 - 209199) dará como resultado un nombre de AUTORIDAD de "PERSONALIZADO", sin ninguna versión asociada. Este nombre está especificado por el OGC.
  •   
    
respondido por el blah238 10.01.2012 - 18:38
5

La única referencia que pude encontrar con respecto a EPSG estaba en Novedades en ArcGIS 10 que dijo

  
    

Proyecciones de mapas y sistemas de coordenadas

  
     

Se han agregado nuevos sistemas de coordenadas y transformaciones, incluyendo   las siguientes: • Definiciones del conjunto de datos de parámetros geodésicos de EPSG   versiones 6.15 a 7.1, incluidas 181 geográficas (datum)   Transformaciones y más de 280 sistemas de coordenadas ...

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

    
respondido por el user681 10.01.2012 - 12:55

Lea otras preguntas en las etiquetas