2010년 11월 25일 목요일

PostGIS Type

PostGIS는 OpenGIS에서 정의한 공간객체를 표현하는 방법을 지원하고 있음.

OpenGIS
- WKB(Well-Known Binary) form 과 WKT(Well-Known Text) form 으로 공간 개체의 종류와 좌표정보를 표현 할 수 있음.

PostGIS
- 기존의 표현 방법에서 SRID와 z값이 포함된 EWKB(WKB + SRID + Z) 와 EWKT(WKT + SRID) 사용

ex)

WKT(Well-Known Text)
- ex)
• POINT(0 0)
• LINESTRING(0 0,1 1,1 2)
• POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
• MULTIPOINT(0 0,1 2)
• MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
• MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
• GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4))

EWKT(WKT + SRID)

• POINT(0 0 0) -- XYZ
• SRID=32632;POINT(0 0) -- XY with SRID
• POINTM(0 0 0) -- XYM
• POINT(0 0 0 0) -- XYZM
• SRID=4326;MULTIPOINTM(0 0 0,1 2 1) -- XYM with SRID
• MULTILINESTRING((0 0 0,1 1 0,1 2 1),(2 3 1,3 2 1,5 4 1))
• POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))
• MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),((-1 -1 0,-1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)))
• GEOMETRYCOLLECTIONM(POINTM(2 3 9), LINESTRINGM(2 3 4, 3 4 5))

※ dimension 의 표현법

• 0 => point
• 1 => line
• 2 => area
• T => {0,1,2}
• F => empty set
• * => don’t care

※ 기본 지원 Indexing의 종류

B-Tree indexes
- 하나의 축에 대해서 정렬이 가능 할 때 사용하며 GIS 데이터에 대해서는 사용하지 않음.
ex) 숫자, 문자, 날짜 등

R-Tree indexes
- 공간을 최소경계의 사각형(Rectangles) 들로 분할하여 저장하는 방식으로 GIS데이터의 인덱싱하는 기법.
PostGIS의 R-Tree 인덱스 구현은 GiST 기법 만큼 견고하지는 않음.

GiST(Generalized Search Tree) indexes
- 단일 종류의 인덱스가 아닌 다른 많은 인덱스 전략(R-tree, B+-tree, hb-tree, TV-tree, Ch-Tree 등)이 가능하게 할 수 있는 기법.
복수의 이차원 기하데이터형용의 GiST연산자 클래스가 포함되어 있음.
ex) <<, &<, &>, >>, |&>, @>, =, && 등

댓글 없음:

댓글 쓰기