Utilisez Esri Geoservices REST comme backend pour le framework web Python (Django?)

9

Je voudrais savoir s'il est possible d'utiliser un framework web Python existant tel que Django / GeoDjango comme interface pour travailler avec l'API REST Geoservices d'Esri? J'envisage de développer un moteur de base de données qui atteint les points de terminaison REST dans JSON en tant que "tables" de base de données. Django Admin et Django Forms sont très bien conçus et je pense qu'ils pourraient servir d'excellentes interfaces pour ajouter, modifier et supprimer des tables spatiales et non spatiales, en particulier celles qui ont des relations.

EDIT: En y réfléchissant davantage, il ne s'agit peut-être pas de changer le code source de Django, mais plutôt de concevoir l'application Web pour répondre aux besoins. Les modèles fournissent un stockage des liens du service de carte et les vues fournissent la fonctionnalité CRUD via des appels aux points de terminaison REST.

nickpeihl
la source
C'est une question intéressante. J'aimerais beaucoup savoir comment ..
George Silva

Réponses:

3

L'API Esri REST n'expose aucune fonction d'administration de table / couche, vous ne pouvez donc pas vraiment l'utiliser pour ajouter / modifier / supprimer des cartes ou un schéma de couche. Il permet cependant CRUD sur les fonctionnalités de chaque table.

donc, je pouvais voir une interface avec une couche de fonctionnalités individuelle via GeoDjango (en utilisant la couche de fonctionnalités comme une "table"), mais vous ne pourriez interroger et modifier les fonctionnalités de la table (pas son schéma)

à l'avenir avec leur solution hébergée sur ArcGIS.com, il n'est pas encore clair s'ils autoriseront l'accès REST aux fonctionnalités d'administration. Par exemple, la plupart des démos qu'ils ont montrées sur le mappage de fichiers de formes / csv par glisser / déposer ne créent en fait aucun FeatureLayers, ils sont ajoutés en tant qu'entités individuelles au json de la carte (un peu comme une couche graphique plus fonctionnelle). Si tout va bien s'ils ajoutent la fonctionnalité d'administrateur de schéma, la spécification REST géospatiale sera également mise à jour.

cheers brian

bFlood
la source
Je pense que CRUD est tout ce à quoi je m'attendrais. Ma pensée est d'autoriser les fonctions CRUD sur un FeatureLayer exposé via ArcGIS Server.
nickpeihl
4

C'est tout à fait possible, mais personne ne l'a encore fait. Arc2Earth utilise une implémentation indépendante de l'API REST Esri pour héberger sur Google App Engine. Et l'implémentation de l'API REST permet de faire des choses comme exposer les services de géotraitement et les couches d'entités pour l'analyse dans ArcGIS Explorer.

Jason Scheirer
la source
4

C'est plus difficile qu'il n'y paraît. Les modèles Django sont, pour le moment, assez liés à un monde de base de données SQL et l'administrateur est, à son tour, assez lié aux modèles Django.

Votre meilleur pari est probablement de regarder quelque chose comme Django-nonrel

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

Jesse Emery
la source