I would like to know if it's feasible to use an existing Python web framework such as Django/GeoDjango as a frontend to work with Esri's Geoservices REST API? I envision developing a database engine that hits REST endpoints in JSON as database "tables". Django Admin and Django Forms are very well designed and I think they could serve as great interfaces for adding, changing and deleting both spatial and non-spatial tables, especially those with relationships.

EDIT: As I think more about this, maybe it isn't about changing the source code of Django, but instead designing the web application to support the needs. Models provide storage of map service links and Views provide the CRUD functionality through calls to the REST endpoints.

  • This is a interesting question. I would very much like to know how to.. – George Silva Jul 29 '11 at 17:08

the Esri REST api does not expose any table/layer admin functions, so you can't really use it for adding/changing/deleting maps or layer schema. It does allow for CRUD on features within each table though.

so, I could see frontending an individual featurelayer via GeoDjango (using the featurelayer as a "table") but you would only be able to query and edit the features within the table (not its schema)

moving forward with their hosted solution on ArcGIS.com, it's still unclear if they will allow for REST access to admin functionality. For instance, most of the demos they've been showing of drag/drop shapefile/csv mapping don't actually create any FeatureLayers, they are added as individual features to the map's json (kinda like a more functional graphics layer). Hopefully if they do add schema admin functionality, the Geospatial REST spec will be updated as well.

cheers brian

  • I think CRUD is all I would expect it to do. My thought is allowing CRUD functions on a FeatureLayer exposed through ArcGIS Server. – nickpeihl Jul 29 '11 at 18:02

It's entirely possible, but nobody's done it yet. Arc2Earth uses an independent implementation of the Esri REST API to host on Google App Engine. And implementing the REST API makes it possible to do things like expose geoprocessing services and feature layers for analysis in ArcGIS Explorer.


It's harder than it sounds. Django Models are, at the moment, pretty tied to a SQL database world and the Admin is, in turn, pretty tied to Django models.

Your best bet is probably to look at something like Django-nonrel



ArcGIS realease an API for python in february of 2017, i think this is the way now (6 years later)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.