2012년 2월 21일 화요일

[ArcGIS]FeatureClass XY Domain..

 
> XY Domain에 대한 자료를 찾던 중 알게 된 내용을 정리하였습니다. 보다 자세한 내용을 알고 싶었으나, 짧은 영어로 인한 독해의 압박에 그만.. 혹시 한글로 된 기술문서를 가지고 계시거나 사이트를 아시는 분은 코멘트 부탁 드립니다. ㅜㅜ
 
<< XY Domain >>
 
image_thumb[2]
 
> ShapeFile 의 경우에는 FeatureClass의 XY Domain이 없어 Edit 시에도 범위의 구애를 받지 않는다. 하지만 PersonalGDB(mdb), SDE의 경우에는  XY Domain의 범위를 관리한다.
 
> 위 그림은 ArcCatalog에서 FeatureClass의 속성 창에 표시되는 Domain 정보이다.
 
■ PersonalGDB(mdb) : mdb파일을 MS Access로 연다.
 
> GDB_GeomColumns 테이블 : 해당 테이블의 [TableName] 필드로 FeatureClass를 찾아 SpatialReference ID 인 [SRID]필드에서 ID를 찾는다. 이 ID가 키 가 된다.
 
> GDB_SpatialRefs 테이블 : 해당 [SRID]의 Row에 보면 좌표정보와 FalseX, FalseY, XYUnits 등 Domain에 대한 정보와 기타 다양한 정보를 확인할 수 있다.
 
■ SDE : Oracle에 SDE 유저로 접속하면 SDE에서 관리하는 테이블을 볼 수 있다.
 
> SDE.LAYERS 테이블 : 해당 테이블의 [TABLE_NAME] 필드로 FeatureClass를 찾아 SpatialReference ID 인 [SRID]필드에서 ID를 찾는다. 이 ID가 키 가 된다.
 
> SDE.SPATIAL_REFERENCES 테이블 : 해당 [SRID]의 Row에 보면 좌표정보와 FALSEX, FALSEY, XYUNITS 등 Domain에 대한 정보와 기타 다양한 정보를 확인할 수 있다.
 
■ PersonalGDB 와 SDE 에서 관리하는 위 테이블의 내용을 수정하면 XYDomain이 변경은 되지만 잘못된 값이 들어갈 경우에는 도면이 보이지 않는다거나, Geometry가 전혀 다른 위치에 그려질 수도 있음으로 유의해야 한다.
 
 
2. Spatial Reference Domain
 
> Saptial Reference Domain은 X, Y, Z, M 값으로 구성되며, 이중 X, Y 는 우리가 흔히 사용하는 2차원의 공간을 표현하기 위한 것이며, 옵션사항으로 Z(Elevation Value), M(Measure Value)가 있다.
 
■ Coordinate Resolution (좌표의 해상도?)
 
image
 
> 그림에서과 같이 XY Resolution이 만약에 0.01이 된다면, X, Y의 좌표값의 정밀도는 0.01단위로 구분이 된다. 따라서 1.22 와 1.23 은 명확히 다른 위치로 인식되지만 그 사이의 값 (1.222,1.223) 은 다른 값이 아닌 1.22와 같은 값으로 인식된다.
 
> XY Resolution 이 높을 수록 보다 정확한 위치를 표현할 수 있다.
 
 
■ Coordinate Grid (좌표의 격자?)
 
image

image

> 위 그림에서와 같이 ArcGIS 에서는 FalseX(X Min), FalseY(Y Min), XY Resolution의 값을 사용하여 격자를 구성하여 Geometry 를 관리한다.

> 생성되는 격자는 반드시 정사각형이다. 그러므로 (XMax – XMin == YMax – YMin) 이 된다.

> 생성되는 격자의 갯수는 Int형의 최대값인 2,147,483,645 개가 생성된다.

> 그러므로 다음의 식이 성립된다.

    XMax = XMin + (XY Resolution * 2,147,483,645)

    YMax = YMin + (XY Resolution * 2,147,483,645)

> 실제로 SDE의 관리테이블 (SDE.SPATIAL_REFERENCES)에도 Min값 (FalseX, FalseY)과 XYUNITS 값만 존재한다.

> XYUNITS : Precision of the Domain (도메인의 정밀도) 이며, 계산 방법은 다음과 같다

    XYUNITS = 1 / XY Resolution

> 따라서 다음의 식도 성립한다.

    XMax = XMin + (2,147,483,645 / XYUNITS)

    YMax = YMin + (2,147,483,645 / XYUNITS)

 

■ 관련 기술문서

http://support.esri.com/en/knowledgebase/whitepapers/view/productid/66/metaid/1301