¿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.

jwhitlock
fuente

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!

RK
fuente
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