Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
This is a interesting question. I would very much like to know how to.. – George Jul 29 '11 at 17:08
up vote 3 down vote accepted

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, 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

share|improve this answer
I think CRUD is all I would expect it to do. My thought is allowing CRUD functions on a FeatureLayer exposed through ArcGIS Server. – npeihl 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.

share|improve this answer

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

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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