如何使用GDAL的ogr2ogr工具将ArcGIS JSON转换为GeoJSON?
用GDAL ogr2ogr转换ArcGIS JSON到GeoJSON的实用方法
先确认GDAL版本
GDAL 3.0及以上版本对ArcGIS JSON的支持更完善,先检查你的版本:
gdalinfo --version
如果版本过低,建议升级到最新稳定版。
基础转换命令
最直接的转换命令,适用于大多数场景:
ogr2ogr -f GeoJSON output.geojson input_arcgis.json -nlt AUTO
参数说明:
-f GeoJSON:明确指定输出格式为GeoJSONoutput.geojson:替换成你要生成的输出文件路径input_arcgis.json:替换成你的ArcGIS JSON输入文件路径-nlt AUTO:让GDAL自动识别并匹配几何类型,避免手动指定出错
进阶场景处理
1. 转换到指定坐标系
如果需要将输出转换为WGS84(EPSG:4326,大多数GeoJSON的标准坐标系),加上-t_srs参数:
ogr2ogr -f GeoJSON -t_srs EPSG:4326 output.geojson input_arcgis.json
如果输入文件的坐标系未被正确识别,还可以用-s_srs指定输入坐标系,比如:
ogr2ogr -f GeoJSON -s_srs EPSG:3857 -t_srs EPSG:4326 output.geojson input_arcgis.json
2. 只保留需要的属性字段
如果不需要全部属性,用-select指定要保留的字段(多个字段用逗号分隔):
ogr2ogr -f GeoJSON -select name,id,area output.geojson input_arcgis.json
3. 保留嵌套属性结构
ArcGIS JSON常包含嵌套属性,GDAL默认会展开成扁平字段。如果要保留原始嵌套结构,在GDAL 3.2及以上版本可以用以下参数:
ogr2ogr -f GeoJSON -oo ARCGIS_JSON_SKIP_NESTED_ATTRIBUTES=NO output.geojson input_arcgis.json
常见问题解决
- 几何类型报错:如果出现几何类型不匹配的错误,要么用
-nlt AUTO自动识别,要么手动指定几何类型,比如-nlt POLYGON或-nlt LINESTRING - 文件无法读取:确认你的ArcGIS JSON是标准的REST API返回格式(包含
features数组),如果是其他ArcGIS JSON变种,可能需要先调整结构 - 属性丢失:检查输入文件的属性是否符合GDAL的解析规则,嵌套属性需要用上面提到的参数保留
内容的提问来源于stack exchange,提问作者Dana Sugu
相关产品推荐
相关产品推荐

