2017-02-07 15 views
1

私のデータベースには、カラムのタイプが「ジオメトリ」のテーブルがあります。 この列に含まれているデータ(ポリゴンとサークル)を取り込み、簡単に解析してHTML形式(好ましくはSVG形式)に変換したいのですが、できないようです。Microsoft.SqlServer.Types.SqlGeometryをSVGに解析する方法はありますか?

私はデータベースからGMLとWKTを抽出することができましたが、どちらも、エラーが発生する可能性のあるフロントエンドでの追加の解析なしに私の目標に近づけないようです。これを行うことができるビルトインまたはサードパーティのライブラリがありますか?私は見落としていることができます簡単な変換はありますか?私はこれが他人が必要とする有用なツールになると思っていたので、なぜこのようなことができないのか、迷っています。

答えて

1

GeoJsonGEOMETRYGEOGRAPHY SQLタイプに変換するのは比較的簡単です。

そこからSVGに変換する方が簡単です。

編集:

NPM package for GeoJson to SVG converter

GitHub repo for another GeoJson to SVG converter

SQL: Returning Spatial Data in GeoJson Format (part 1)

SQL: Returning Spatial Data in GeoJson Format (part 1)

そして第二に、チュートリアルから関連するSQL関数:

CREATE FUNCTION dbo.geometry2json (@geo GEOMETRY) 
RETURNS NVARCHAR(MAX) 
AS 
    BEGIN 
     RETURN (
    '{' + 
    (CASE @geo.STGeometryType() 
    WHEN 'POINT' THEN 
    '"type": "Point","coordinates":' + 
    REPLACE(REPLACE(REPLACE(REPLACE(@geo.ToString(),'POINT ',''),'(','['),')',']'),' ',',') 
    WHEN 'POLYGON' THEN 
    '"type": "Polygon","coordinates":' + 
    '[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@geo.ToString(),'POLYGON ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' 
    WHEN 'MULTIPOLYGON' THEN 
    '"type": "MultiPolygon","coordinates":' + 
    '[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@geo.ToString(),'MULTIPOLYGON ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' 
    WHEN 'MULTIPOINT' THEN 
    '"type": "MultiPoint","coordinates":' + 
    '[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@geo.ToString(),'MULTIPOINT ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' 
    WHEN 'LINESTRING' THEN 
    '"type": "LineString","coordinates":' + 
    '[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@geo.ToString(),'LINESTRING ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' 
    ELSE NULL 
    END) 
    +'}'); 
    END; 
+0

あなたはそれが比較的簡単だと言いますが、必要な方法やツールを追加してもらえますか?ありがとう。 –

+0

GeoJsonにGEOMETRYのリンクとSQLを追加しました。 – toadflakz

関連する問題