@MickyT의 답변을 바탕으로 WKB (또는 우리가 부르는 것)에 이미 값이있는 테이블이 있기 때문에 모든 레코드를 지오메트리로 변환하지 않고 sql을 작성하려고합니다. 변수 선언 등
따라서 하나의 레코드에서 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를 geometry로 변환하십시오.
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가 대답 한 것처럼 바이너리에 있으며 테스트를 위해 SQL 쿼리를 1 개 더 랩핑 할 수 있습니다.
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 (콜로라도 상태 비행기)을 산출하고 정확합니다.