¿Cómo enseño a ogr2ogr sobre una proyección?


11

Tengo JSON generado desde ArcGIS que quiero convertir a GeoJSON en EPSG 4326. Esto falla:

$ ogr2ogr -f GeoJSON -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

Encontré una publicación en el foro que dice que 102100 se puede cambiar a 3857, que es matemáticamente idéntico. Entonces, esto funciona, con el mismo mensaje de error:

$ ogr2ogr -f GeoJSON -s_srs EPSG:3857 -t_srs EPSG:4326 out.geo.json in.arcgis.json OGRGeoJSON 
ERROR 6: EPSG PCS/GCS code 102100 not found in EPSG support files.  Is this a valid
EPSG coordinate system?

Sin embargo, tengo varios archivos en el sistema de proyección 102100. Me gustaría enseñarle a ogr2ogr sobre la proyección 102100, para poder escribir la conversión. ¿Hay alguna manera de actualizar la configuración para que 102100 se reconozca y se trate igual que 3857?

Actualización : estos datos provienen de la API REST de ArgGIS Server 9.3.1. Si no especifico una referencia espacial de salida, obtengo 102100, que definen como el sistema de coordenadas proyectado "WGS_1984_Web_Mercator_Auxiliary_Sphere" . Una forma mucho más fácil de lograr mi objetivo es solicitar la proyección deseada, con el outSR=4326parámetro de consulta. La pregunta sigue siendo válida si no tiene acceso a los datos originales.

Respuestas:


11

Como 102100 y 3857 son matemáticamente idénticos, creo que puede ignorar los errores de manera segura y simplemente continuar anulando los srs de origen utilizando el indicador -s_srs .

Puede intentar agregar la definición de 102100 en su $ GDAL_DATA $ pero no se recomienda realmente. Sin embargo, si realmente quieres hacerlo, aquí está el método y la advertencia adjunta de Frank Warmerdam :

Los archivos .csv están destinados principalmente a los sistemas de coordenadas EPSG, por lo que no es realmente apropiado extenderlos manualmente.

Pero puede agregar sus propios diccionarios personalizados de manera similar a gdal / data / cubewerx_extra.wkt. Estos archivos de diccionario consisten en líneas con un nombre corto, una coma y luego la definición WKT del sistema de coordenadas.

Puede hacer referencia a dicha definición desde SetFromUserInput () y programas que usan esa función (como s_srs, a_srs, t_srs para gdal_translate, ogr2ogr y gdalwarp) usando el formulario:

gdal_translate -a_srs DICT: cubewerx_extra.wkt, 41001

Espero que esto ayude. ¡Buena suerte!


1
Gracias, hice algo similar a lo que sugeriste. Mi $GDAL_DATA$directorio está en /usr/local/share/gdal, y EPSG 3857 está definido pcs.csven esa carpeta. Copié esa línea pcs.override.csvy cambié la ID (primera columna) de 3857 a 102100. En ese momento, las conversiones funcionaron sin la -s_srsbandera. La solución a largo plazo fue obtener mis datos de origen en una proyección conocida, de modo que pudiera usar ogr2ogr solo para la conversión de formato, en lugar de mezclar las proyecciones.
— jwhitlock
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.