Ich würde gerne wissen, ob es möglich ist, ein vorhandenes Python-Webframework wie Django / GeoDjango als Frontend für die Arbeit mit der Geoservices-REST-API von Esri zu verwenden. Ich stelle mir vor, ein Datenbankmodul zu entwickeln, das REST-Endpunkte in JSON als Datenbanktabellen trifft. Django Admin- und Django-Formulare sind sehr gut gestaltet und ich denke, sie könnten als hervorragende Schnittstellen zum Hinzufügen, Ändern und Löschen von räumlichen und nicht räumlichen Tabellen dienen, insbesondere von Tabellen mit Beziehungen.
EDIT: Wenn ich mehr darüber nachdenke, geht es vielleicht nicht darum, den Quellcode von Django zu ändern, sondern die Webanwendung so zu gestalten, dass sie die Anforderungen unterstützt. Modelle bieten Speicherplatz für Karten-Service-Links und Ansichten bieten die CRUD-Funktionalität durch Aufrufe der REST-Endpunkte.
quelle
Antworten:
Die Esri REST-API stellt keine Tabellen- / Ebenenverwaltungsfunktionen zur Verfügung, sodass Sie sie nicht wirklich zum Hinzufügen / Ändern / Löschen von Karten oder Ebenenschemata verwenden können. Es erlaubt jedoch CRUD für Funktionen in jeder Tabelle.
Ich konnte also sehen, wie ein einzelner Featurelayer über GeoDjango frontend erstellt wurde (wobei der Featurelayer als "Tabelle" verwendet wurde), aber Sie konnten nur die Features in der Tabelle abfragen und bearbeiten (nicht das Schema).
Bei der Weiterentwicklung der auf ArcGIS.com gehosteten Lösung ist noch unklar, ob sie den REST-Zugriff auf die Administratorfunktionen ermöglichen. Zum Beispiel erstellen die meisten Demos, die sie für Drag / Drop-Shapefile / CSV-Mapping gezeigt haben, keine FeatureLayer, sondern werden als einzelne Features zum Json der Map hinzugefügt (ein bisschen wie eine funktionalere Grafikebene). Wenn sie Schema-Administratorfunktionen hinzufügen, wird hoffentlich auch die Geospatial REST-Spezifikation aktualisiert.
Prost Brian
quelle
Es ist durchaus möglich, aber noch hat es niemand gemacht. Arc2Earth verwendet eine unabhängige Implementierung der Esri REST-API zum Hosten in Google App Engine. Durch die Implementierung der REST-API können beispielsweise Geoverarbeitungsservices und Feature-Layer für die Analyse in ArcGIS Explorer verfügbar gemacht werden.
quelle
Es ist schwieriger als es klingt. Django-Modelle sind im Moment ziemlich an eine SQL-Datenbankwelt gebunden, und der Administrator ist wiederum ziemlich an Django-Modelle gebunden.
Ihre beste Wette ist wahrscheinlich, sich so etwas wie Django-nonrel anzusehen
http://www.allbuttonspressed.com/projects/django-nonrel
quelle
ArcGIS veröffentlicht im Februar 2017 eine API für Python. Ich denke, dies ist jetzt der Weg (6 Jahre später).
https://developers.arcgis.com/python/
quelle