Используйте Esri Geoservices REST в качестве бэкенда для веб-фреймворка Python (Django?)

9

Я хотел бы знать, возможно ли использовать существующую веб-инфраструктуру Python, такую ​​как Django / GeoDjango, в качестве интерфейса для работы с Esri Geoservices REST API? Я предполагаю разработку механизма базы данных, который обращается к конечным точкам REST в JSON как к «таблицам» базы данных. Django Admin и Django Forms очень хорошо спроектированы, и я думаю, что они могли бы послужить отличными интерфейсами для добавления, изменения и удаления как пространственных, так и непространственных таблиц, особенно тех, которые имеют отношения.

РЕДАКТИРОВАТЬ: Как я думаю об этом больше, возможно, дело не в изменении исходного кода Django, а в разработке веб-приложения для удовлетворения потребностей. Модели обеспечивают хранение ссылок картографического сервиса, а представления обеспечивают функциональность CRUD посредством вызовов к конечным точкам REST.

nickpeihl
источник
Это интересный вопрос. Я очень хотел бы знать, как ..
Джордж Сильва

Ответы:

3

API Esri REST не предоставляет никаких функций администратора таблиц / слоев, поэтому вы не можете использовать его для добавления / изменения / удаления карт или схемы слоев. Это позволяет CRUD для функций в каждой таблице, хотя.

Таким образом, я мог видеть внешний интерфейс отдельного векторного слоя через GeoDjango (используя векторный слой как «таблицу»), но вы могли бы только запрашивать и редактировать объекты в таблице (но не в ее схеме).

Двигаясь вперед со своим размещенным решением на ArcGIS.com, все еще неясно, разрешат ли они REST-доступ к функциям администратора. Например, большинство демонстраций, которые они демонстрируют с помощью перетаскивания шейп-файла / CSV-отображения, на самом деле не создают никаких слоев слоев, они добавляются как отдельные элементы в json карты (что-то вроде более функционального графического слоя). Надеемся, что если они действительно добавят функциональность администратора схемы, спецификация Geospatial REST также будет обновлена.

ура Брайан

bFlood
источник
Я думаю, что CRUD - это все, чего я ожидал. Моя мысль - разрешить функции CRUD на FeatureLayer, предоставляемом через ArcGIS Server.
nickpeihl
4

Это вполне возможно, но пока никто этого не сделал. Arc2Earth использует независимую реализацию Esri REST API для размещения на Google App Engine. А реализация REST API позволяет делать такие вещи, как предоставление сервисов геообработки и векторных слоев для анализа в ArcGIS Explorer.

Джейсон Шайрер
источник
4

Это сложнее, чем кажется. В настоящее время модели Django тесно связаны с миром баз данных SQL, а администратор, в свою очередь, тесно связан с моделями Django.

Лучше всего, наверное, смотреть на что-то вроде Джанго-нонрел

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

Джесси Эмери
источник