Użyj REST Esri Geoservices jako backendu dla frameworka Python (Django?)

9

Chciałbym wiedzieć, czy jest możliwe wykorzystanie istniejącego frameworka Python, takiego jak Django / GeoDjango, jako interfejsu do pracy z interfejsem REST API Esoser Geoservices? Przewiduję opracowanie silnika bazy danych, który trafi do punktów końcowych REST w JSON jako „tabele” bazy danych. Django Admin i Django Forms są bardzo dobrze zaprojektowane i myślę, że mogłyby one służyć jako świetne interfejsy do dodawania, zmieniania i usuwania zarówno tabel przestrzennych, jak i nieprzestrzennych, szczególnie tych z relacjami.

EDYCJA: Kiedy myślę o tym więcej, być może nie chodzi o zmianę kodu źródłowego Django, ale o zaprojektowanie aplikacji internetowej w celu zaspokojenia potrzeb. Modele zapewniają przechowywanie łączy usług map, a widoki zapewniają funkcjonalność CRUD poprzez połączenia z punktami końcowymi REST.

nickpeihl
źródło
To interesujące pytanie. Bardzo chciałbym wiedzieć, jak ...
George Silva

Odpowiedzi:

3

Interfejs API REST Esri nie ujawnia żadnych funkcji administratora tabeli / warstwy, więc nie można tak naprawdę używać go do dodawania / zmieniania / usuwania map lub schematu warstwy. Pozwala to jednak na CRUD dla funkcji w każdej tabeli.

więc mogłem zobaczyć nakładanie pojedynczego odtwarzacza funkcji za pośrednictwem GeoDjango (używanie odtwarzacza funkcji jako „tabeli”), ale będziesz mógł tylko wyszukiwać i edytować funkcje w tabeli (nie jej schemat)

idąc naprzód ze swoim hostowanym rozwiązaniem na ArcGIS.com, nadal nie jest jasne, czy pozwolą one na dostęp REST do funkcji administracyjnych. Na przykład, większość pokazanych przez nich demonstracji mapowania przeciągnij / upuść plik kształtów / csv nie tworzy właściwie FeatureLayers, są one dodawane jako pojedyncze elementy do JSON-a mapy (trochę jak bardziej funkcjonalna warstwa graficzna). Mam nadzieję, że jeśli dodadzą one funkcję administrowania schematem, specyfikacja REST w Geospatial również zostanie zaktualizowana.

na zdrowie Brian

b Powódź
źródło
Myślę, że CRUD to wszystko, czego bym się spodziewał. Myślę, że zezwalam na funkcje CRUD na FeatureLayer udostępnianym przez ArcGIS Server.
nickpeihl
4

Jest to całkowicie możliwe, ale nikt tego jeszcze nie zrobił. Arc2Earth korzysta z niezależnej implementacji interfejsu API REST Esri do hostowania w Google App Engine. Zaimplementowanie interfejsu API REST umożliwia eksponowanie usług geoprzetwarzania i warstw obiektów do analizy w ArcGIS Explorer.

Jason Scheirer
źródło
4

To trudniejsze niż się wydaje. Modele Django są w tej chwili dość związane ze światem baz danych SQL, a Administrator z kolei jest dość związany z modelami Django.

Najlepszym rozwiązaniem jest prawdopodobnie spojrzenie na coś takiego jak Django-nonrel

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

Jesse Emery
źródło