A Python library for converting ArcGIS JSON to GeoJSON: A partial port of ESRI's arcgis-to-geojson-utils.
pip install arcgis2geojson
Convert an ArcGIS JSON string to a GeoJSON string
>>> from arcgis2geojson import arcgis2geojson
>>> input = """{
... "attributes": {"OBJECTID": 123},
... "geometry": { "rings": [ [ [41.8359375, 71.015625],
... [56.953125, 33.75],
... [21.796875, 36.5625],
... [41.8359375, 71.015625]]],
... "spatialReference": {"wkid": 4326}}}"""
>>> output = arcgis2geojson(input)
>>> output
'{"type": "Feature", "geometry": {"type": "Polygon", "coordinates": [[[41.8359375, 71.015625], [21.796875, 36.5625], [56.953125, 33.75], [41.8359375, 71.015625]]]}, "properties": {"OBJECTID": 123}, "id": 123}'
>>> type(output)
<class 'str'>Convert a python dict to a python dict
>>> from arcgis2geojson import arcgis2geojson
>>> input = {
... 'attributes': {'OBJECTID': 123},
... 'geometry': { 'rings': [ [ [41.8359375, 71.015625],
... [56.953125, 33.75],
... [21.796875, 36.5625],
... [41.8359375, 71.015625]]],
... 'spatialReference': {'wkid': 4326}}}
>>> output = arcgis2geojson(input)
>>> output
{'type': 'Feature', 'geometry': {'type': 'Polygon', 'coordinates': [[[41.8359375, 71.015625], [21.796875, 36.5625], [56.953125, 33.75], [41.8359375, 71.015625]]]}, 'properties': {'OBJECTID': 123}, 'id': 123}
>>> type(output)
<class 'dict'># convert ArcGIS json file to GeoJOSN file
$ arcgis2geojson arcgis.json > geo.json
# fetch ArcGIS json from the web and convert to GeoJSON
$ curl "https://myserver.com/arcgis.json" | arcgis2geojsonarcgis2geojson follows semantic versioning. For this project, the "API" also includes:
- CLI flags and options
- CLI exit codes
From version 3 onwards, arcgis2geojson will drop compatibility with unsupported python versions without incrementing the major version. This is in line with common practice in the python community.
arcgis2geojson is a derivative work of ESRI's arcgis-to-geojson-utils. Original code is Copyright 2015 by Esri and was licensed under the Apache License, Version 2.0.
arcgis2geojson is made available under the MIT License.