@MickyTの答えに基づいて、値が既にWKB(または私たちが呼んでいるもの)にあるテーブルを作成するため、すべてのレコードをジオメトリに変換するSQLを記述する必要があります。変数の宣言など。
したがって、1つのレコードでWKBを複製する単純な一時テーブルから始めると、次のようになります。
select 0x3D0B0000010C80BAE380AE064841005149CD6EFD3941 as wkb
これを一時テーブルとして扱い、SQLをラップすると、WKBが含まれる列が作成され、上記のようにvarbinaryに変換できます。
select
cast(temp.wkb as varbinary(max)) as geombinary
from
(
select 0x3D0B0000010C80BAE380AE064841005149CD6EFD3941 as wkb
) as temp
どこtemp.wkbは、 CSVからのWKB値を含む、あなたの大きなテーブルの列することができ
最後に、MickyTで説明されている方法を使用して、varbinaryをジオメトリに変換します。
select
cast(geomconvert.geombinary as geometry) as geom
from (
select
cast(temp.wkb as varbinary(max)) as geombinary
from
(
select 0x3D0B0000010C80BAE380AE064841005149CD6EFD3941 as wkb
) as temp
) as geomconvert
ジオメトリと空間結果を返す:
編集 SRIDはどこで宣言されますか?MickyTが答えたように、それはバイナリであり、テストのためにさらに1つのSQLクエリをラップすることができます:
select top 1 getsrid.geom.STSrid from (
select
cast(geomconvert.geombinary as geometry) as geom
from (
select
cast(temp.wkb as varbinary(max)) as geombinary
from
(
select 0x3D0B0000010C80BAE380AE064841005149CD6EFD3941 as wkb
) as temp
) as geomconvert
) as getsrid
私の例では、2877(コロラド州平面)が得られ、正しいです: