Ich habe von Leuten gehört, die die ESRI-Javascript-API verwenden, um Webmaps mit räumlichen Daten von SQL Server oder anderen RDBMS zu erstellen. Soweit ich weiß, verwenden sie ArcGIS Server nicht als Middleware. Insbesondere habe ich kürzlich von einem Unternehmen gehört, das eine SQL Server-Datenbank mit räumlichen Typen und Entity Framework verwendet, um die Datenbank mit der App zu verknüpfen, aber dann die ESRI JS-API im Front-End zum Rendern der Daten verwendet.
Dies interessiert mich wirklich, da ich separat mit SQL Server, Entity Framework, ASP.Net und der JS-API gearbeitet habe und keinen Zugriff auf ArcGIS Server habe. Kennt jemand eine bestimmte Architektur oder einen bestimmten Workflow für die einfache Verwendung der JS-API als Frontend für ein Nicht-ESRI-Backend?
FeatureLayer
Objekte bereitstellen? Jetzt arbeite ich an einem Projekt mit ArcGIS Online und JS API. Das Problem ist, dass ich in AGOL keine Verarbeitung durchführen kann, daher müssen alle Berechnungen clientseitig durchgeführt werden. Ich arbeite mit nur wenigen Ebenen, aber einige von ihnen könnten Hunderttausende von Funktionen haben.Antworten:
Um weitere Details hinzuzufügen, würden Sie beim Erstellen eines Dienstes zur Rückgabe von JSON von SQL Server das Feature-Auflistungsobjekt verwenden, um einen neuen Layer auf der Karte zu erstellen. Aus Javascript würden Sie die Attribute und die räumliche Komponente, die von Ihrem Dienst zurückgegeben wurden, in das Esri-Geometrieformat formatieren, um die Feature-Sammlung zu erstellen.
Je näher Ihr Server ein Format wie das Esri-Format zurückgibt, desto weniger Analyse müssen Sie auf dem Client durchführen. JSON ist ziemlich einfach zu analysieren, sobald Sie den Dreh raus haben.
Die angezeigte Feature-Sammlung wäre eine grafische Ebene auf der Karte. Sie könnten einen Esri oder eine andere öffentliche Basiskarte darunter haben. Ein Problem, das Sie haben werden, ist die Leistung, wenn Sie sich Tausenden von Features nähern - insbesondere, wenn sie viele Scheitelpunkte pro Geometrie haben. Feature-Services auf dem ArcGIS-Server geben standardmäßig maximal 1000 Datensätze zurück.
Berechnungen sollten mit SQL (mit räumlichen Erweiterungen) in der Datenbank durchgeführt werden, bevor sie an den Client zurückgegeben werden. Wenn Sie jedoch versuchen, Hunderttausende von Funktionen anzuzeigen, müssen Sie Geoserver oder UMN Mapserver verwenden und diese als WMS oder gekachelten Dienst zurückgeben. Sie können nicht so viele Grafiken im Browser anzeigen.
Schauen Sie sich dieses Beispiel an, in dem eine Ebene aus einem Flickr-Datenfeed erstellt wird. Kein ArcGIS-Server beteiligt - http://developers.arcgis.com/de/javascript/jssamples/fl_featureCollection.html
quelle
Die Verwendung von SQL Spatial Data mit WCF ODATA Spatial kann eine Möglichkeit sein. Da OData nach Esris REST-Spezifikation entwickelt wurde und sich stärker mit Microsoft befasst, ist es möglicherweise etwas ausgereifter.
quelle