J'ai entendu parler de personnes utilisant l'API Javascript ESRI pour créer des webmaps avec des données spatiales à partir de SQL Server ou d'autres SGBDR. D'après ce que je peux dire, ils n'utilisent pas ArcGIS Server comme middleware. En particulier, j'ai récemment entendu parler d'une entreprise qui utilise une base de données SQL Server avec des types spatiaux et Entity Framework pour lier la base de données à l'application, mais ils utilisent ensuite l'API ESRI JS sur le frontal pour rendre les données.
C'est quelque chose qui m'intéresse vraiment car j'ai travaillé séparément avec SQL Server, Entity Framework, ASP.Net et l'API JS et je n'ai pas accès à ArcGIS Server. Quelqu'un connaît-il une architecture ou un flux de travail particulier pour utiliser simplement l'API JS comme frontal pour un backend non ESRI?
FeatureLayer
qu'objets? Maintenant je travaille sur un projet utilisant ArcGIS Online et l'API JS. Le problème est que je ne peux faire aucun traitement dans AGOL, donc tous les calculs doivent être effectués côté client. Je travaille avec seulement quelques couches, mais certaines d'entre elles pourraient avoir des centaines de milliers de fonctionnalités.Réponses:
Juste pour ajouter plus de détails, lorsque vous créez un service pour renvoyer JSON à partir de SQL Server, vous utilisez ensuite l'objet de collection d'entités pour créer une nouvelle couche sur la carte. À partir de javascript, vous devez prendre les attributs et la composante spatiale renvoyés par votre service et les formater au format géométrique Esri pour créer la collection d'entités.
Plus votre serveur retourne un format comme le format Esri, moins vous devez analyser le client. JSON est assez facile à analyser une fois que vous avez compris.
La collection d'entités affichée serait une couche graphique sur la carte. Vous pouvez avoir un Esri ou un autre fond de carte public en dessous. Un problème que vous aurez est la performance lorsque vous commencez à approcher des milliers d'entités, en particulier si elles ont beaucoup de sommets par géométrie. Les services d'entités sur le serveur ArcGIS renvoient un maximum de 1000 enregistrements par défaut.
En ce qui concerne les calculs, vous devez les faire avec SQL (il a des extensions spatiales) dans la base de données avant de les renvoyer au client. Si vous essayez d'afficher des centaines de milliers de fonctionnalités, vous devrez utiliser Geoserver ou UMN Mapserver et les renvoyer sous forme de WMS ou d'un service en mosaïque - vous ne pouvez pas afficher autant de graphiques dans le navigateur.
Découvrez cet exemple où un calque est créé à partir d'un flux de données Flickr. Aucun serveur ArcGIS impliqué - http://developers.arcgis.com/en/javascript/jssamples/fl_featureCollection.html
la source
Comment utiliser les données spatiales SQL avec WCF ODATA Spatial peut être un moyen. Étant donné qu'OData a été développé après la spécification REST d'Esri et avec une plus grande implication avec Microsoft, il pourrait être un peu plus mature.
la source