Posted by & filed under gis, web.

If you need to quickly whip out a map application but you don’t want to set up a full GIS server, my super-lightweight ArcpyServer might be just the thing that saves the day.

ArcpyServer is a single python script that you need to run. With very simple changes in the configuration section, you can be serving Features from Shapefiles or Geodatabases in no time. All you need is Python, and… well… yes you need ArcGIS with arcpy. If you don’t have those, you need to rewrite the rows_to_geojson function to use the free instead of arcpy, comment another line or two and you are good to go.

The features come out of the server as GeoJSON, ideal for JavaScript clients that use OpenLayers, Leaflet, or even ArcGIS API for Javascript with the Terraformer library.

There is also a slight extension of the GeoJSON format. You can serve objects without geometries! Either from a non-spatial table or when you choose to leave out the Shape column. Results then come out in a format similar to GeoJSON, but instead of ‘FeatureCollection’ we have ‘ObjectCollection’ and instead of ‘Feature’ we have ‘Object’.

The project includes a sample map application built with Leaflet and Bootstrap. Everything is available on GitHub so if you have any comments or suggestions, please post them there:

ArcpyServer Demo