Cannot download data from a map server served by Geocortex Essentials
Geocortex Essentials is a non-ESRI product that looks and acts like ArcMap/MapServer.
The City of Naperville, Illinois, uses it to power its Your Place (zoning) map.
The zoning layer is here: http://gis.naperville.il.us/Geocortex/Essentials/REST/sites/GisViewer/map/mapservices/0/layers/20
Here's the full command and error response:
$ esri2geojson http://gis.naperville.il.us/Geocortex/Essentials/REST/sites/GisViewer/map/mapservices/0/layers/20 naperville_zoning_122417.geojson
2017-12-24 18:31:14,265 - cli.esridump - INFO - Source does not support feature count
Traceback (most recent call last):
File "/usr/local/bin/esri2geojson", line 11, in <module>
sys.exit(main())
File "/Library/Python/2.7/site-packages/esridump/cli.py", line 103, in main
feature = next(feature_iter)
File "/Library/Python/2.7/site-packages/esridump/dumper.py", line 304, in __iter__
oid_field_name = self._find_oid_field_name(metadata)
File "/Library/Python/2.7/site-packages/esridump/dumper.py", line 156, in _find_oid_field_name
if f['type'] == 'esriFieldTypeOID':
KeyError: 'type'
The same data is on an actual ESRI MapServer at this URL: http://gis.naperville.il.us/arcgis/rest/services/GTX/YourPlace/MapServer/20
But esri2geojson didn't download any geometry data:
{"type":"FeatureCollection","features":[
{"geometry": null, "type": "Feature", "properties": {"ZONING_DESCRIPTION": "NOT APPLICABLE", "OBJECTID": 1, "CONDITIONAL_USE": "U", "PARCEL_OWNERSHIP": "PRIVATE", "INCORPORATED": "N", "DOWNTOWN_MAP": "N", "LANDUSE_DESCRIPTION": " ", "ZONING_CODE": "N/A", "HISTORIC_DISTRICT": "U", "LANDUSE_CODE": " ", "PROP_ID": 50913, "FUTURE_LANDUSE_DESCRIPTION": " "}},
[snippped]
Yea, we've been trying to figure out a way to use Geocortex servers. They wrap the Esri stuff so that it looks like Esri but it's not quite compatible with the way we do our searches.