Tengo una tabla de servidor sql con datos espaciales Geo. Un ejemplo de fila sería (con nombres de columna):
type: streetline
code: 231001
geog: 0xE6100000011 ........
Centroid 0xE61000000C.......
geom: 0xE6100000011 ........
Estoy usando C # con MVC3 para dibujar las formas anteriores en el mapa de folleto. Estoy recuperando los datos sql anteriores en una tabla de datos. Usando la función sql "ToString ()" en la columna "geom" obtengo lo siguiente:
"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))",
La pregunta es cómo convierto lo anterior a GeoJSON para poder trazar en el mapa de folleto. Aquí hay un ejemplo de la salida esperada (GeoJSON) que quiero:
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]
}
};
fuente
Puedes usar GeoJSON.Net . Estoy planeando trabajar con eso. Te haré saber que es útil cuando lo haga.
fuente
Puede resolver esto fácilmente con algo como (código Javascript)
Traté de mantener esto lo más simple posible para que pudiera migrarlo fácilmente al idioma que quisiera. Tenga en cuenta que incluso si esto resuelve su problema, no se recomienda realizar el análisis de esta manera.
jsfiddle: https://jsfiddle.net/e78cgogo/32/
fuente
Si está utilizando Entity Framework, puede probar GeoJSON4EntityFramework . Acabo de comenzar a usarlo, y es bastante bueno. Aquí hay un ejemplo, usando un
DbGeometry
campo llamadoBoundaries
:Bastante simple.
fuente
La carga y visualización de GeoJSON con Leaflet se ha detallado bastante bien aquí: http://leafletjs.com/examples/geojson.html
fuente