Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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
add comment

3 Answers

up vote 2 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 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

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
add comment

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

http://www.allbuttonspressed.com/projects/django-nonrel

share|improve this answer
add comment

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
add comment

Your Answer

 
discard

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.