我有从ArcGIS生成的JSON,我想将其转换为EPSG 4326中的GeoJSON。此操作失败:
$ 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?
我发现一个论坛帖子说102100可以更改为3857,在数学上是相同的。因此,这可行,并带有相同的错误消息:
$ 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?
但是,我在102100投影系统中有几个文件。我想教ogr2ogr有关102100投影的知识,所以我可以编写转换脚本。有没有一种方法可以更新配置,使102100被识别并与3857一样对待?
更新 -此数据来自ArgGIS Server 9.3.1的REST API。如果未指定输出空间参考,则会得到102100,它们将其定义为投影坐标系“ WGS_1984_Web_Mercator_Auxiliary_Sphere”。实现我的目标的一种简单得多的方法是使用outSR=4326
查询参数来请求所需的投影。如果您无权访问原始数据,则该问题仍然有效。
$GDAL_DATA$
目录位于/usr/local/share/gdal
,并且pcs.csv
该文件夹中定义了EPSG 3857 。我将该行复制到pcs.override.csv
,然后将ID(第一列)从3857更改为102100。这时,转换工作没有-s_srs
标记。较长期的解决方案是将源数据放在一个已知的投影中,以便我可以单独使用ogr2ogr进行格式转换,而不必混入投影中。