地理空間データを含むSQLサーバーテーブルがあります。行の例は(列名付き)です。
type: streetline
code: 231001
geog: 0xE6100000011 ........
Centroid 0xE61000000C.......
geom: 0xE6100000011 ........
上記の図形をリーフレットマップに描画するために、MVC3でC#を使用しています。上記のsqlデータをデータテーブルにフェッチしています。列「geom」でSQL関数「ToString()」を使用すると、次の結果が得られます。
"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))",
問題は、上記をGeoJSONに変換して、リーフレットマップにプロットできるようにする方法です。期待される出力(GeoJSON)の例を次に示します。
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]
}
};