Geometry 필드에서 SRID를 얻는 방법


16

Geometry 필드에서 SRID를 가져 오는 기능은 무엇입니까?

Geometry 필드가 정의 된 SQL Server 테이블에 shapefile을 삽입했습니다. shapefile의 투영이 Swreff99_1800 (EPSG : 3011)이라는 것을 알고 있습니다.

이제 내 질문은 지오메트리 필드의 OGC 방법을 사용 하여이 SRID : 3011을 얻는 방법입니다.


당신이 무엇을 원하는지 잘 모르겠습니다. SQL Server에서 SRID 3011의 정의가 필요합니까? 적절한 SRID 세트로 데이터를 이미 삽입 한 것 같습니다.
차드 쿠퍼

답변:


31

이것이 당신이 찾고있는 것입니까?

select distinct SP_GEOMETRY.STSrid from dbo.MYTABLE

그러면 테이블 dbo에 사용 된 다른 SRID가 포함 된 테이블이 제공됩니다.


감사!. 두 번째 질문은 SRID 3011이 sys.spatial_reference_systems 테이블에 정의되어 있지 않다는 것입니다. 그리고 지오메트리를 SRID 3011에서 SRID 4326으로 ​​변환해야합니다. 그러면 어떻게해야합니까?
user1899

1
내가 아는 한 SQL Server 2008은 서로 다른 좌표계로 지오메트리 데이터를 변환 할 수 없습니다. 모든 지오메트리 데이터를 수학 좌표계에 저장된 것으로 간주합니다.
피터 Horsbøll Møller

4

운없이 위의 시도를 한 후 아래 방법을 시도했습니다.

select [geomColumnName].STSrid
from [schema].[tableName]

테이블의 모든 레코드에 대한 SRID 값을 제공합니다. 모든 레코드가 동일한 SRID를 가져야하므로 단순히 한 레코드의 값을 얻으려면 전체 테이블의 SRID를 알려야합니다.

select top 1 [geomColumnName].STSrid
from [schema].[tableName]

사용중인 MS SQL Server 버전이 궁금하고 Distinct를 지원하지 않는 이후 버전에서 변경된 사항이 있는지 궁금합니다. 아니면 형상 열 이름이 SP_GEOMETRY가 아닌 것입니까? 지오메트리가 다른 좌표계를 참조하는 동안 다른 SRID와 함께 저장되는 몇 가지 사례를 보았습니다.
Peter Horsbøll Møller

1
@ PeterHorsbøllMøller 이것을 다시보고, SP_GEOMETRY를 사용하는 것이 지오메트리 열 이름을 참조하고 있다는 것을 알지 못했기 때문에 제 대답은 거의 같은 것입니다 ...
DPSSpatial

0

이 시점에서 사용하고자하는 숫자는 4619 또는 srid 4977이 SQL 서버라고 생각합니다.

이들은 모두 EPSG 3011과 동일합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.