Standardversion: Gibt es eine leichtgewichtige C # /. NET-Bibliothek, die in einer ASP.NET MVC-Anwendung verwendet werden kann, um WFS-Anforderungen zu bedienen?
Ausführliche Version: Wir entwickeln eine C # ASP.NET MVC-App, die auf einer Sql Server 2008-Datenbank mit einigen grundlegenden Geodaten steht. Ich muss in der Lage sein, eine Karte mit unseren einfachen Point / Line-Features (DB-Entitäten) über einen Kartenhintergrund im Browser anzuzeigen. Der Plan ist, OpenLayers zu verwenden, um die Karte zu rendern. Die Hintergrundkarte wird von einem Drittanbieter bereitgestellt, der WMS verwendet, sodass ich weiß, dass ich eine Verbindung herstellen und das OK anzeigen kann.
Das Problem, das ich habe, ist, dass die Daten, die wir über die Karte zeigen möchten, vom Benutzer gefiltert werden müssen (er wird derzeit in Tabellenform angezeigt). Es scheint, dass ich wirklich einen WFS-Dienst verfügbar machen muss, damit der Benutzer Daten für die Anzeige auf der Karte filtern kann.
Gibt es eine leichte (und im Idealfall freie) C # -Komponente, die das kann? Ich hatte ein kurzes Spiel mit SharpMap , das weitgehend unseren Anforderungen entspricht, aber ich kann es verwenden, um eine Karte und unsere Daten zu rendern Ich bin nicht in der Lage, herauszufinden, wie man Filter auf die gerenderten Daten anwendet (die von Anfrage zu Anfrage variieren). Hat jemand andere Vorschläge?
Ich versuche, die Verwendung von vollständigen Geo-Servern (z. B. GeoServer, MapServer usw.) möglichst zu vermeiden, da unsere Anforderungen ziemlich einfach sind und wir verschiedene Infrastruktur-Einschränkungen haben.
Vielen Dank im Voraus!
Nicht unbedingt eine Antwort auf die Frage, wie ich es im Titel gestellt habe, aber ich habe eine Lösung für mein Problem gefunden, die hoffentlich anderen hilft.
Anstatt zu versuchen, einen WFS-Service zu implementieren, habe ich einfach einen Controller implementiert, der leichtgewichtige Objekte GeoJSON zurückgibt. Dadurch kann mein Controller die Filter- / Abfragemechanismen verwenden, die ich an anderer Stelle in meinem System verwende. GeoJSON funktioniert gut mit OpenLayers.
Ich musste einen einfachen Code implementieren, um SqlGeography
in GeoJSON zu serialisieren. Ich habe versucht, die SqlGeography.AsGml()
verwenden, aber OpenLayers-Unterstützung für GML scheint nicht zu weit fortgeschritten.
Hoffe das hilft jemandem.
Tags und Links asp.net-mvc c# sql-server-2008 gis