Spatial Data Type (공간 데이터 형식)
- Version : SQL Server 2008, 2008R2, 2012
공간 데이터 형식은 두 가지가 있다.
l Geometry 데이터 형식 : 평면 데이터 지원 (유클리드 데이터), OGC(Open Geospatial Consotium)의 Simple Features for SQL Specification 버전 1.1.0을 따르며 SQL MM(ISO 표준)과 호환.
l Geopraphy : GPS 및 위도 경도 좌표등의 타원(둥근 표면) 데이터를 저장하는 데이터 형식
Geometry 및 geography 데이터 형식은 16개가 있으며 이들 중 11개의 유형만 인스턴스화 할 수 있다.
인스턴스는 GeometryCollection에서 Point, LineStrings, CircularStrings, CompoundCurves, Polygons, CurvePolygons 로 구분하거나 여러 Geometry 또는 Geography 인스턴스로 구분하는 부모 데이터 형식에서 특정 속성을 파생 시킨다. Geopraphy 형식에는 FullGlobe라는 추가 인스턴스 유형이 있다.
다음 그린은 geometry 및 geopraphy 데이터 형식의 기반인 geometry 계층을 보여준다. 인스턴스화 할 수 있는 형식은 파란색으로 표시되어 있다.
Geometry 및 geography 형식의 하위 형식은 단순 형식과 컬렉션 형식으로 나누어 진다. STNumCurves()와 같은 일부 메서드는 단순 형식에서만 작동 한다.
l 단순형식 : 지점, LineString, CurcualrString, CompoundCurve, 다각형, CurvePolygon
l 컬렉션 형식 : Multopoint, MultiLineString, MultiPolygon, GeometryCollection
공간 데이터의 두 가지 형식은 매우 비슷하게 작동하지만 데이터가 저장되고 조작되는 방식에서 몇 가지 주요한 차이점이 있다.
[연결 가장 자리가 정의되는 방식]
LineString, Polygon 형식을 정의하는 데이터는 꼭지점 뿐이다.
l Geometry : 두 꼭지점을 잇는 연결 가장자리는 직선이다.
l Geography : 두 꼭지점을 잇는 연결 가장자리가 두 꼭지점 사이의 짧고 큰 타원 호이다. 큰 타원은 타원면과 타원면의 중심을 관통하는 평면이 교차하는 지점이고 큰 타원 호는 큰 타원의 호 세그먼트이다.
[원호 세그먼트가 정의되는 방식]
l Geometry : 세그먼트는 XY 데카르트 좌표 평면(Z 값은 무시됨)에 정의 된다.
l Geography : 세그먼트는 참조 구의 곡선 세그먼트로 정의. 참조 구의 위도 선은 두 호의 점이 일정한 위도를 갖는 두 개의 보완 원호로 정의될 수 있음.
[공간 데이터 형식의 측정]
l Geometry ; 평면 시스템에서 거리와 영역의 측정은 좌표와 동일한 측정 단위로 지정된다. 단위에 상관없이 (2,2)와 (5,6)사이의 거리는 5단위 이다.
l Geography : 타원 또는 둥근 지구 시스템에서 좌표는 위도와 경도의 도 단위로 지정된다. 그러나 SRID(spatial reference identifier)에 따라 측정이 달라지더라도 길이 및 영역은 일반적으로 미터와 제곱미터로 측정이 된다. 가장 일반적인 geography 데이터 형식의 측정 단위는 미터이다.
[공간 데이터 방향]
평면 시스템에서는 다각형의 링 방향은 중요한 요소가 아니다. OGC Simple Features for SQL Specification에서는 링 순서를 지정하지 않으며 SQL Server에서는 링 순서를 강제로 지정하지 않는다.
Geography 데이터 형식을 사용하여 공간 인스턴스를 저장할 경우 링의 방향을 지정하고 인스턴스의 위치를 정확하게 나타내야 한다.
[참고자료]
http://technet.microsoft.com/ko-kr/library/bb964711.aspx
2013-11-22 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2012 FORMAT 함수와 CONCAT 함수 (0) | 2015.07.23 |
---|---|
하위 쿼리 사용시 공간 인덱스 사용 불가 (0) | 2015.07.23 |
Spatial Index (공간 인덱스) 생성, 수정, 삭제 (0) | 2015.07.23 |
Spatial Indexing 개요 (공간 인덱스) (0) | 2015.07.23 |
Event Session을 이용한 Session Health check (0) | 2015.07.23 |