Ich habe eine SQL Server-Tabelle mit Geo-Geodaten. Ein Beispiel für eine Zeile wäre (mit Spaltennamen):
type: streetline
code: 231001
geog: 0xE6100000011 ........
Centroid 0xE61000000C.......
geom: 0xE6100000011 ........
Ich verwende C # mit MVC3, um die obigen Formen auf der Faltblattkarte zu zeichnen. Ich rufe die obigen SQL-Daten in eine Datentabelle. Mit der SQL-Funktion "ToString ()" in der Spalte "Geom" erhalte ich Folgendes:
"LINESTRING (-1.131510412 52.65531, -1.13286 52.65559)",
"POLYGON ((-1.1116360 52.6409953, -1.1116683 52.6413, -1.11146723 52.641317, -1.11133263 52.6413572, -1.1113059))",
Die Frage ist, wie ich das Obige in GeoJSON konvertiere, um auf der Faltblattkarte zeichnen zu können. Hier ist ein Beispiel für die erwartete Ausgabe (GeoJSON), die ich möchte:
var geojsonFeature = {
"type": "Feature",
"properties": {
"name": "Coors Field",
"amenity": "Baseball Stadium",
"popupContent": "This is where the Rockies play!"
},
"geometry": {
"type": "Point",
"coordinates": [-104.99404, 39.75621]
}
};
quelle
Sie können GeoJSON.Net verwenden . Ich habe vor, damit zu arbeiten. Ich werde Sie wissen lassen, dass es nützlich ist, wenn ich es tue.
quelle
Sie können dies leicht mit etwas wie (Javascript-Code) lösen.
Ich habe versucht, dies so einfach wie möglich zu halten, damit Sie es problemlos in eine beliebige Sprache migrieren können. Bitte beachten Sie, dass selbst wenn dies Ihr Problem löst, es nicht empfohlen wird, das Parsen auf diese Weise durchzuführen.
jsfiddle: https://jsfiddle.net/e78cgogo/32/
quelle
Wenn Sie Entity Framework verwenden, können Sie GeoJSON4EntityFramework ausprobieren . Ich habe gerade angefangen, es zu benutzen, und es ist ziemlich ordentlich. Hier ist ein Beispiel mit einem
DbGeometry
Feld namensBoundaries
:Ziemlich einfach.
quelle
Das Laden und Anzeigen von GeoJSON mit Leaflet wurde hier ziemlich detailliert beschrieben: http://leafletjs.com/examples/geojson.html
quelle