¿En qué se diferencian las proyecciones de ESRI WKT de las proyecciones de OGC WKT?

9

¿Alguien sabe la lista precisa de diferencias entre las cadenas de formato de proyección ESRI WKT y OGC WKT?

Sé que hay varias herramientas para ayudar a convertir ESRI WKT a OGC WKT, incluidas las utilidades GDAL y varios servicios de sitios web. Pero mi pregunta no es práctica, simplemente quiero entender las diferencias de formato / sintaxis que utilizan estos servicios. Las preguntas anteriores de Stackexchange solo hablaron sobre la diferencia en ejemplos específicos o sobre las herramientas y servicios disponibles.

Incluso si solo conoces una diferencia, sería genial si pudieras publicarla. Según mi propia experiencia, solo debería haber un pequeño puñado de diferencias. Las diferencias que conozco son:

  • la mayoría de los elementos de texto en la definición de esri usa guión bajo donde ogc usa espacio.
  • el texto que define el dato en esri wkt es el mismo que ogc wkt, excepto que comienza con "D_".
  • a veces los identificadores de texto para algunos PROJCS, PROJECTION, GEOGCS y DATUM predefinidos se escriben de manera diferente (por ejemplo, "NAD83" en uno que es "North_American_1983"). Supongo que la única forma de saber qué identificadores se escriben de manera diferente sería tener una lista o una tabla de búsqueda, así que por favor, nombre cualquiera que sepa que es diferente.
  • los diversos valores de texto de PARAMETER son todos iguales, excepto que ogc tiene cada palabra en mayúsculas y esri tiene todo en minúsculas. Sin embargo, he visto casos en los que esta regla no se ha utilizado, ¿alguien sabe si titlecase realmente importa cuando se trata de software que intenta cargarlos?
  • el tipo de UNIDAD se escribe en mayúsculas y minúsculas en ogc y en minúsculas en esri, por ejemplo, "Grado" frente a "grado". En algunos casos, he visto que OGC se deletrea como "metro" y "m" para "Medidor" y en otros casos con "metro" de ortografía francesa. ¿Alguien sabe cuál es la convención correcta para estos u otros tipos de unidades para ambos formatos?
Karim Bahgat
fuente

Respuestas:

6

No tengo esa lista, pero leer el código GDAL lo guiará:

https://svn.osgeo.org/gdal/trunk/autotest/osr/osr_esri.py

https://trac.osgeo.org/gdal/browser/trunk/gdal/ogr/ogr_srs_esri.cpp

https://trac.osgeo.org/gdal/browser/trunk/gdal/ogr/ogr_srs_esri_names.h

https://trac.osgeo.org/gdal/browser/trunk/gdal/ogr/ogrspatialreference.cpp

AndreJ
fuente
2
Básicamente, ESRI lo inventa a medida que avanza :-)
Ian Turton
1
@iant Habiendo sido los primeros en implementar una biblioteca de códigos en torno a las especificaciones EPSG, casi no tenían otra opción.
Vince
2
Probablemente fuimos segundos, ya que la especificación GeoTIFF también estaba disponible en ese momento. @iant, hay varias cosas que haría de manera diferente si creáramos un nuevo motor de proyección Esri.
mkennedy
bueno, mucho de esto parece ser muy especial, manejo de casos especiales. de hecho, a juzgar por los documentos vinculados, hay cientos de líneas de código de casos especiales en diferencias de nombre, etc. todo debido a diferentes implementaciones de software y probablemente a la falta de estándares acordados en cada momento: p
Karim Bahgat
Sería de gran ayuda si ESRI y GoeoTiff siempre agregaran el número de código EPSG a la cadena de proyección WKT. QGIS crea un archivo .qpj adicional para archivos shape para guardar esta configuración.
AndreJ
9

Has captado muchas de las diferencias. Esri nunca adoptó los WKID para los algoritmos de proyección del mapa o los nombres de los parámetros, por lo que todos son diferentes. No estamos de acuerdo con cuán cuidadosamente definidas están las definiciones de parámetros. Los nuestros son más generalizados.

No admitimos TOWGS84 ni algunas de las palabras clave más nuevas.

Cuando comparamos cadenas (nombres), ignoramos los guiones bajos, el GCS_ y D_, y el caso. Eso puede no ser cierto en otros analizadores. Nuestro analizador es estricto con los nombres, pero hemos agregado algunos sinónimos y ahora mantenemos listas de nombres de varios proveedores para realizar comparaciones.

La especificación del sistema de coordenadas original de OGC no fue específica en lo que respecta a los nombres de los objetos. Hay una nueva especificación OGC / ISO, "Información geográfica - Texto bien conocido para el estándar de sistemas de referencia de coordenadas", abriéndose paso a través del proceso hacia la estandarización. Es mucho más específico sobre cuáles deberían ser los nombres (¡coincide con el registro EPSG!). Será bastante emocionante implementar este estándar en el futuro.

Divulgación: trabajo en Esri, soy miembro del subcomité que mantiene el registro EPSG y fui miembro del comité de proyecto CRS WKT 2.0.

mkennedy
fuente
Wow, eso es realmente interesante, especialmente escuchar algo de la información interna de alguien que ha sido parte de la toma de decisiones. La nueva especificación OGC ISO suena muy prometedora, ¿cree que es probable que más de los principales proveedores de SIG y formatos de datos comiencen a converger hacia su uso? Desafortunadamente, sospecho que algunas de las viejas diferencias continuarán persistiendo mientras los formatos de datos más antiguos sigan siendo populares (por ejemplo, shapefile, geotiff).
Karim Bahgat
Estás diciendo que no estás apoyando a TOWGS84, pero ¿cómo pueden funcionar las cosas sin eso? Si el WKT usa nombres desconocidos (es decir, una proyección / dato definido por el usuario), el sistema de coordenadas no se puede configurar correctamente cuando se ignora el cambio de dato. ¿O me estoy perdiendo algo?
PMF
La mayoría de las mejores transformaciones usan archivos de cuadrícula, no un método de 3 o 7 parámetros. Un montón de transformaciones tampoco usan WGS84. Es una solución muy limitada. En su lugar, vinculamos tarde ... seleccionamos / establecemos una transformación en el momento de la transformación.
mkennedy
Si el sistema lo desconoce, use la herramienta de transformación geográfica personalizada. El nuevo CRS wkt también cubre las transformaciones. ¡Llegando Arron a un software cercano!
mkennedy
0

Como posible punto de partida para una lista de diferencias, podría ayudar ver mi nuevo paquete PyCRS , donde he intentado crear una clase para cada elemento crs, parámetro y datum / ellips / proj name, junto con su ortografía esri_wkt vs ogc_wkt . También he especificado cómo veo las diferencias de análisis en términos de la estructura wkt como un todo en la _from_wkt()función en el parser.pysubmódulo. Espero que con las contribuciones de los usuarios estas diferencias puedan agregarse y / o corregirse aún más.

https://github.com/karimbahgat/PyCRS

Karim Bahgat
fuente