Je viens d'utiliser le lien que Jason a posté ci-dessus. Je ne peux pas imaginer quand sa sortie, la spécification officielle sera très différente. Il s'agissait principalement de retrousser vos manches, de lancer Fiddler, de frapper les serveurs d'échantillons 10.0 et de commencer à pirater l'implémentation. Il n'y a rien d'impossible, juste fastidieux avec beaucoup de petits problèmes à prendre en compte. Nous ne rendrons même pas les nôtres 100% compatibles, mais ils couvrent 85% et tous les API clients semblent fonctionner assez bien (c'était la seule raison pour laquelle je l'ai fait au début)
voici un catalogue de démonstration (plein de petits bugs dedans :) [bFlood - ancien lien supprimé]
nous l'exécutons sur AppEngine (python) et son assez étroitement couplé avec les structures spatiales sous-jacentes, mais il pourrait probablement être transformé en un projet WCF .Net décent. Je ne sais pas comment nous le distribuerions
cheers brian
Mise à jour - 3/8/12 - Je viens de voir ce post apparaître dans stackexchange, alors j'ai pensé que je mettrais à jour le contenu. Vous pouvez faire fonctionner votre FeatureService en quelques minutes si vous essayez la version bêta d'Arc2Earth Sync. le backend fonctionne avec Google Fusion Tables et CartoDB, mais nous prendrons en charge d'autres fournisseurs très bientôt. Vous n'avez besoin de rien sauf ArcView 9.2 ou supérieur ...
voici un article de blog montrant comment commencer à collecter des données de terrain en quelques minutes à l'aide des applications mobiles ArcGIS.com:
http://www.arc2earth.com/2012/03/arc2earth-sync-live-mobile-data-collection-in-5 -minutes/
La seule documentation que je connaisse pour l'API REST d'esri se trouve dans leur aide en ligne ici:
http://help.arcgis.com/EN/arcgisserver/10.0/apis/rest/index.html
Ceci est écrit plus du point de vue d'un consommateur que d'un fournisseur, mais devrait être piratable.
Certaines parties de cette API sont tout à fait propriétaires (certains des formats de sortie ) et impossibles à implémenter par un projet open source à moins que ces spécifications de format ne soient également mises à disposition.
De plus, certaines des API REST ne sont pas spécialement RESTful. Par exemple, regardez le Feature Service. Il semble y avoir des «points de terminaison» distincts pour ajouter / mettre à jour / supprimer / interroger au lieu d'utiliser des verbes HTTP standard pour opérer sur les ressources. Cela me laisse perplexe; Je sais qu'esri a des gens assez intelligents qui comprennent REST. Je suppose que ces appels correspondent à une sorte d'interface SOAP, et esri a estimé qu'il serait plus facile pour eux et leurs clients de maintenir une cohérence entre eux.
Mon avis? Si vous cherchez uniquement à partager des données (pas la configuration de la carte, les métadonnées, etc.) et que vous n'êtes pas pressé, vous feriez mieux d'attendre que Microsoft comprenne comment ils vont représenter les types de données spatiales dans EDM. Avec cela en place, vous pouvez facilement créer un accès vraiment RESTful à vos tables spatiales en utilisant OData et probablement OData compatible RIA. Cela peut être une tarte dans le ciel pour tout ce que je sais.
la source
Envisagez-vous d'exposer des tables spatiales à partir de SQL Server 2008 Spatial? ESRI MapIt le fait déjà et je pense que la licence permet à ceux qui ont AGS d'avoir accès à ESRI MapIt.
Quelques écrans de ce à quoi cela ressemble peuvent être trouvés sur mon blog: http://geo.geek.nz/development/hiding-databases-from-unauthorised-users-when-using-esri-mapit/
Pas besoin d'écrire quelque chose vous-même? ;)
À votre santé
la source
Je l'ai déjà fait dans une application. Je n'ai pas implémenté complètement l'API REST complète, mais suffisamment pour obtenir une tâche de requête pour exécuter et formater correctement le JSON. J'ai utilisé ASP .NET MVC pour créer mon point de terminaison. J'ai essayé de faire cela il y a environ un an avec WCF et la sortie JSON n'était pas formatée de cette manière pour fonctionner. L'astuce avec MVC est de s'assurer que vous avez un résultat JSONP qui tirera le paramètre de requête de rappel et produira la réponse jsonp correcte. Je vais essayer de publier quelque chose. Vous pouvez consulter la réponse ici:
http://www.ci.austin.tx.us/GIS/TrafficViewer/Home/JsonpIncidents/query?f=json&where=1%3D1&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields= * & outSR = 4326 & callback = dojo.iop.js
Cependant, seul le paramètre de rappel est utilisé:
http://www.ci.austin.tx.us/GIS/TrafficViewer/Home/JsonpIncidents?callback=woot
Modifier: voici comment implémenter un résultat JSONP dans ASP .NET MVC
/programming/758879/asp-net-mvc-returning-jsonp
Edit # 2: Voici un exemple de code que j'ai rapidement fait et mis en place sur dropbox.
http://dl.dropbox.com/u/28924446/EsriGeoServicesExampleMvc3.zip
la source
Il semble que vous puissiez finir par remplacer les fonctionnalités d'ArcGIS. Je recommanderais d'utiliser un projet open source existant pour implémenter un tel système s'il en existe un qui prend en charge cette API, écrivez peut-être votre propre adaptateur pour un projet open source. Peut-être existe-t-il mais je n'ai pas encore regardé très fort. Je ne suis pas sûr qu'ils aient publié une spécification d'API complète pour le moment, mais si vous êtes pressé, vous pouvez simplement utiliser la documentation API existante et tester votre implémentation par rapport au logiciel ESRI existant.
la source
http://geoserver.org/display/GEOS/REST+Overview+Page
Utilisation du service REST avec GeoServer
http://code.google.com/p/geoserver-manager/
la source
voici un exemple: http://www.arcgis.com/home/item.html?id=6d28a606369c43fd9a6f929541ae7c93
la source
@JasonBirch - Je pense que le principal attrait pour faire cela est la possibilité d'intégrer les applications esri / apis / arcgis.com. Si esri tire la prise en les utilisant à bon marché (gratuitement), cela devient beaucoup moins important. Je ne sais pas exactement ce qu'ils envisagent de faire avec ArcGIS.com et même comment il est autorisé à l'heure actuelle. Je l'ai vu comme un emplacement central pour les données / services où les applications Web pouvaient être enregistrées, quelque chose comme un appstore pour les données esri. Les tierces parties enregistrent des applications Web (cloud) multi-locataires, esri prend une coupe et votre application est instantanément disponible pour tous les preneurs compatibles avec les autres spécifications de l'API. dans cette optique, il est logique d'ouvrir l'api de repos et de permettre au plus grand nombre de services de s'intégrer au concentrateur que possible. La recherche / stockage de données géospatiales est rapidement sur le point d'être commercialisée, alors déplacez-la d'un cran et essayez de contrôler l'espace de l'application.
Je pense que votre commentaire OData a du mérite, mais OMI, c'est loin. et plus important encore, sans application client largement distribuée et appréciée (quelque chose comme Google Earth), toute spécification bien écrite a le potentiel de flétrir sur la vigne. Cela ne veut pas dire que c'est le cas avec OData, il y a beaucoup de développeurs MS qui obtiendront cela câblé gratuitement dans VS, mais je ne le vois pas à court terme. mes 2 cents ...
(btw, il semble y avoir une longueur de commentaire assez courte, d'où la nouvelle réponse à la place)
la source