내용 목차
본 장에서는 Tibero Spatial에서 제공되는 함수에 대해 설명한다.
ST_AREA는 멀티 폴리곤의 면적을 반환하는 함수이다.
ST_AREA의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
multi_polygon | 멀티 폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_AREA 함수를 사용하는 예이다.
SQL> SELECT ST_AREA(GEOM), ST_ASTEXT(GEOM)FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'MULTIPOLYGON'; ST_AREA(GEOM) ST_ASTEXT(GEOM) ------------- ----------------------------------------------------------------- 5 MULTIPOLYGON(((1 1,2 1,2 2,1 2,1 1)),((3 3,3 5,5 5,5 3,3 3))) 175 MULTIPOLYGON(((10 10,10 20,20 20,20 15,10 10)),((60 60,70 70,80 60,60 60)))
ST_ASBINARY는 GEOMETRY 객체를 WKB(Well Known Binary) 형태로 반환하는 함수이다.
ST_ASBINARY의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ASBINARY 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM), ST_ASBINARY(GEOM) FROM GIS; ST_ASTEXT(GEOM) ST_ASBINARY(GEOM) ------------------------------- --------------------------------------------- POINT(1 1) 0101000000000000000000F03F000000000000F03F MULTIPOINT(1 1,2 2) 0104000000020000000101000000000000000000F0... LINESTRING(1 1,2 2) 010200000002000000000000000000F03F00000000... POLYGON((1 1,2 1,2 2,1 2,1 1)) 01030000000100000005000000000000000000F03F... EMPTY 0108000000 POINT(10 10) 010100000000000000000024400000000000002440
ST_ASTEXT는 GEOMETRY 객체를 WKT(Well Known Text) 형태로 반환하는 함수이다.
ST_ASTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ASTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM) FROM GIS ST_ASTEXT(GEOM) ----------------------------------------------------------------- POINT(1 1) MULTIPOINT(1 1,2 2) LINESTRING(1 1,2 2) MULTILINESTRING((1 1,2 2),(3 3,4 5)) POLYGON((1 1,2 1,2 2,1 2,1 1)) MULTIPOLYGON(((1 1,2 1,2 2,1 2,1 1)),((3 3,3 5,5 5,5 3,3 3))) GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) EMPTY
ST_BOUNDARY는 주어진 GEOMETRY 객체의 경계를 반환하는 함수이다.
ST_BOUNDARY의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_BOUNDARY 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_ASTEXT(ST_BOUNDARY(GEOM)) FROM GIS; ST_ASTEXT(GEOM) ST_ASTEXT(ST_BOUNDARY(GEOM)) ----------------------------------- -------------------------------------- POINT(1 1) EMPTY MULTIPOINT(1 1,2 2) EMPTY LINESTRING(1 1,2 2) MULTIPOINT(1 1,2 2) MULTILINESTRING((1 1,2 2),(3 3,4 5))MULTIPOINT(1 1,2 2,3 3,4 5) POLYGON((1 1,2 1,2 2,1 2,1 1)) LINESTRING(1 1,2 1,2 2,1 2,1 1)
ST_BUFFER는 주어진 GEOMETRY 객체로부터 일정 거리 안에 있는 모든 점을 표현하는 GEOMETRY 객체를 반환하는 함수이다.
ST_BUFFER의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
expr | 임의의 연산식이며 주어진 GEOMETRY 객체로부터의 거리를 의미한다. |
예제
다음은 ST_BUFFER 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_ASTEXT(ST_BUFFER(GEOM,10)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POINT'; ST_ASTEXT(GEOM) ST_ASTEXT(ST_BUFFER(GEOM,10)) --------------- ------------------------------------------------------------- POINT(1 1) POLYGON((11 1,10 -0,10 -2, ... ,6 9,8 8,9 6,10 4,10 2,11 1))
ST_CENTROID는 주어진 GEOMETRY 객체의 중심을 반환하는 함수이다.
ST_CENTROID의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
polygon | 폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_CENTROID 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_ASTEXT(ST_CENTROID(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON'; ST_ASTEXT(GEOM) ST_ASTEXT(ST_CENTROID(GEOM)) --------------------------------------- ------------------------------------ POLYGON((1 1,2 1,2 2,1 2,1 1)) POINT(1.5 1.5) POLYGON((10 10,10 20,20 20,20 15,10 10)) POINT(14.4 16.1)
ST_CONTAINS는 GEOMETRY 객체 2가 GEOMETRY 객체 1의 외부에 존재하지 않고, 객체 1의 내부에 하나 이상의 포인트가 존재할 때만 1을 반환하는 함수이다. 두 GEOMETRY 객체 모두 GEOMETRY 객체가 아니어야 한다.
ST_CONTAINS의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | 포함하는 GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | 포함되는 GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_CONTAINS 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_CONTAINS(A.GEOM,B.GEOM) >0 AND ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) --------------------------------------- ------------------------------------ MULTIPOINT(1 1,2 2) POINT(1 1) MULTILINESTRING((1 1,2 2),(3 3,4 5)) LINESTRING(1 1,2 2) POLYGON((1 1,2 1,2 2,1 2,1 1)) LINESTRING(1 1,2 2) POLYGON((0 0,0 12,12 12,12 0,0 0)... POINT(1 1) POLYGON((0 0,0 12,12 12,12 0,0 0)... MULTIPOINT(1 1,2 2) POLYGON((0 0,0 12,12 12,12 0,0 0)... LINESTRING(1 1,2 2) POLYGON((0 0,0 12,12 12,12 0,0 0)... MULTILINESTRING((1 1,2 2),(3 3,4 5)) POLYGON((0 0,0 12,12 12,12 0,0 0)... POLYGON((1 1,2 1,2 2,1 2,1 1)) POLYGON((0 0,0 12,12 12,12 0,0 0)... MULTIPOLYGON(((1 1,2 1,2 2,1 2, ...
ST_CONVEXHULL은 주어진 GEOMETRY의 convex hull을 반환하는 함수이다. convex hull은 GEOMETRY 객체를 포함하는 제일 작은 볼록한 폐곡선을 의미한다.
ST_CONVEXHULL의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_CONVEXHULL 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_ASTEXT(ST_CONVEXHULL(GEOM)) FROM GIS; ST_ASTEXT(GEOM) ST_ASTEXT(ST_CONVEXHULL(GEOM)) --------------------------------------- ------------------------------------- POINT(1 1) POINT(1 1) MULTIPOINT(1 1,2 2) LINESTRING(1 1,2 2) LINESTRING(1 1,2 2) LINESTRING(1 1,2 2) MULTILINESTRING((1 1,2 2),(3 3,4 5)) POLYGON((1 1,4 5,3 3,1 1)) POLYGON((1 1,2 1,2 2,1 2,1 1)) POLYGON((1 1,1 2,2 2,2 1,1 1)) POLYGON((0 0,0 12,12 12,12 0,0 0),... POLYGON((0 0,0 12,12 12,12 0,0 0))
ST_CROSSES는 주어진 두 GEOMETRY 객체가 교차하면 1을 반환하는 함수이다. 포함관계에 있거나, 경계가 닿아 있는 경우는 해당하지 않는다.
ST_CROSSES의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_CROSSES 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_CROSSES(A.GEOM,B.GEOM) >0 AND ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) --------------------------------------- -------------------------------- MULTILINESTRING((1 1,2 2),(3 3,4 5)) POLYGON((1 1,2 1,2 2,1 2,1 1)) POLYGON((1 1,2 1,2 2,1 2,1 1)) MULTILINESTRING((1 1,2 2),(3 3,4 5)) POLYGON((0 0,0 12,12 12,12 0,0 0),... MULTIPOINT(10 10,20 20) POLYGON((0 0,0 12,12 12,12 0,0 0),... LINESTRING(10 10,20 20,30 40) MULTILINESTRING((10 10,20 20),(15 ... MULTIPOINT(10 10,20 20)
ST_DIFFERENCE는 GEOMETRY 객체 2와 겹치지 않는 객체 1의 부분을 반환하는 함수이다.
ST_DIFFERENCE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_DIFFERENCE 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM), ST_ASTEXT(ST_DIFFERENCE(A.GEOM,B.GEOM)) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_DIMENSION(A.GEOM) = ST_DIMENSION(B.GEOM); ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ST_DIFFERENCE( ... ------------------- ------------------------------------ ------------------ POINT(1 1) MULTIPOINT(1 1,2 2) EMPTY LINESTRING(1 1,2 2) MULTILINESTRING((1 1,2 2),(3 3,4 5)) EMPTY
ST_DIMENSION은 GEOMETRY 객체의 차원을 반환하는 함수이다.
ST_DIMENSION의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_DIMENSION 함수를 사용하는 예이다.
SQL> SELECT ST_DIMENSION(GEOM), ST_ASTEXT(geom) FROM GIS; ST_DIMENSION(GEOM) ST_ASTEXT(GEOM) ------------------ ------------------------------------------------------- 0 POINT(1 1) 0 MULTIPOINT(1 1,2 2) 1 LINESTRING(1 1,2 2) 1 MULTILINESTRING((1 1,2 2),(3 3,4 5)) 2 POLYGON((1 1,2 1,2 2,1 2,1 1)) 2 POLYGON((0 0,0 12,12 12,12 0,0 0),(6 10,6 11,9 11,9 10,6 10)) 2 MULTIPOLYGON(((1 1,2 1,2 2,1 2,1 1)),((3 3,3 5,5 5,5 3,3 3))) 1 GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) -1 EMPTY
ST_DISJOINT는 두 GEOMETRY 객체가 어떤 영역도 공유하지 않을 때 1을 반환하는 함수이다.
ST_DISJOINT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_DISJOINT 함수를 사용하는 예이다.
SQL> SELECT ST_DISJOINT(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; DISJOINT ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) -------- ------------------------- ------------------ ------------------------ 0 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(1 1) LINESTRING(1 1,2 2) 1 POINT(1 1) EMPTY 1 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 0 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11, ... 0 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_DISTANCE는 두 GEOMETRY 객체사이의 최단 거리를 반환하는 함수이다.
ST_DISTANCE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_DISTANCE 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM),ST_DISTANCE(A.GEOM,B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_DIMENSION(a.Geom) = ST_DIMENSION(b.geom); ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ST_DISTANCE ------------------------------- ------------------------------- ------------- MULTIPOINT(1 1,2 2) POINT(1 1) 0 POINT(10 10) POINT(1 1) 12.72792 MULTIPOINT(10 10,20 20) POINT(1 1) 12.72792 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(10 10) MULTIPOINT(1 1,2 2) 11.31371 LINESTRING(10 10,20 20,30 40) LINESTRING(1 1,2 2) 11.31371
ST_ENDPOINT는 라인 스트링 GEOMETRY 객체의 마지막 포인트를 반환하는 함수이다.
ST_ENDPOINT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ENDPOINT 함수를 사용하는 예이다.
SQL> SELECT ST_astext(geom),ST_ASTEXT(ST_ENDPOINT(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_ASTEXT(GEOM) ST_ASTEXT(ST_ENDPOINT(GEOM)) ------------------------------- --------------------------------------- LINESTRING(1 1,2 2) POINT(2 2) LINESTRING(10 10,20 20,30 40) POINT(30 40)
ST_ENVELOPE는 주어진 GEOMETRY 객체를 둘러싸는 사각형을 GEOMETRY 형태로 반환하는 함수이다.
ST_ENVELOPE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ENVELOPE 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(ST_ENVELOPE(GEOM)) FROM GIS; ST_ASTEXT(ST_ENVELOPE(GEOM)) ------------------------------------------------------ POLYGON((1 1,1 1,1 1,1 1,1 1)) POLYGON((1 1,1 2,2 2,2 1,1 1)) POLYGON((1 1,1 2,2 2,2 1,1 1)) POLYGON((1 1,1 5,4 5,4 1,1 1)) POLYGON((1 1,1 2,2 2,2 1,1 1)) POLYGON((0 0,0 12,12 12,12 0,0 0)) POLYGON((1 1,1 5,5 5,5 1,1 1)) POLYGON((1 1,1 3,3 3,3 1,1 1)) EMPTY
ST_EQUALS는 두 GEOMETRY 객체가 같은 GEOMETRY를 표현하면 1을 반환하는 함수이다.
ST_EQUALS의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_EQUALS 함수를 사용하는 예이다.
SQL> SELECT ST_EQUALS(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_EQUALS ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) --------- ------------------- ----------------------- 0 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(1 1) LINESTRING(1 1,2 2) 0 MULTIPOINT(1 1,2 2) POINT(1 1) 0 EMPTY EMPTY
ST_EXTERIORRING은 폴리곤 객체의 외부 링을 반환하는 함수이다.
ST_EXTERIORRING의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
polygon | 폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_EXTERIORRING 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(ST_EXTERIORRING(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON'; ST_ASTEXT(ST_EXTERIORRING(GEOM)) --------------------------------------------- LINESTRING(1 1,2 1,2 2,1 2,1 1) LINESTRING(0 0,0 12,12 12,12 0,0 0) LINESTRING(10 10,10 20,20 20,20 15,10 10) LINESTRING(1 1,1 13,13 13,13 1,1 1)
ST_GEOMCOLLFROMTEXT는 주어진 WKT를 컬렉션 객체로 반환하는 함수이다.
ST_GEOMCOLLFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 컬렉션 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_GEOMCOLLFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(2 2,3 3))') FROM DUAL; ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(11),LINESTRING(22,33))') -------------------------------------------------------------------------- 000000000000F03F000000000000F03F00000000000008400000000000000840070000...
ST_GEOMCOLLFROMWKB는 주어진 WKB를 컬렉션 객체로 반환하는 함수이다.
ST_GEOMCOLLFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 컬렉션 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_GEOMCOLLFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_GEOMCOLLFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'GEOMETRYCOLLECTION'; ST_GEOMCOLLFROMWKB(ST_ASBINARY(GEOM)) ----------------------------------------------------------------------------- 000000000000F03F000000000000F03F000000000000084000000000000008400700000002... 000000000000244000000000000024400000000000003E400000000000003E400700000003...
ST_GEOMFROMTEXT는 주어진 WKT를 GEOMETRY 객체로 반환하는 함수이다.
ST_GEOMFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 객체를 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_GEOMFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)') FROM DUAL; ST_GEOMFROMTEXT('MULTIPOINT(11,22)') ----------------------------------------------- 000000000000F03F000000000000F03F000000000000004000000000000000400400000002...
ST_GEOMFROMWKB는 주어진 WKB를 GEOMETRY 객체로 반환하는 함수이다.
ST_GEOMFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 객체를 표현하기 위한 WKB 형식이 저장되어 있는 바이너리 타입(BLOB 또는 RAW) 값이다. |
예제
다음은 ST_GEOMFROMWKB 함수를 사용하는 예이다.
SQL>SELECT ST_GEOMFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) NOT LIKE 'EMPTY'; ST_GEOMFROMWKB(ST_ASBINARY(GEOM)) ------------------------------------------------------------------------------ 000000000000F03F000000000000F03F000000000000F03F000000000000F03F01000000000... 000000000000F03F000000000000F03F0000000000000040000000000000004004000000020... 000000000000F03F000000000000F03F0000000000000040000000000000004002000000020... 000000000000F03F000000000000F03F0000000000001040000000000000144005000000020... 000000000000F03F000000000000F03F0000000000000040000000000000004003000000010... 000000000000000000000000000000000000000000002840000000000000284003000000030... 000000000000F03F000000000000F03F0000000000001440000000000000144006000000020... 000000000000F03F000000000000F03F0000000000000840000000000000084007000000020... 000000000000244000000000000024400000000000002440000000000000244001000000000... 000000000000244000000000000024400000000000003440000000000000344004000000020... 000000000000244000000000000024400000000000003E40000000000000444002000000030... 000000000000244000000000000024400000000000003E40000000000000344005000000020... 000000000000244000000000000024400000000000003440000000000000344003000000010... 000000000000F03F000000000000F03F0000000000002A400000000000002A4003000000030... 000000000000244000000000000024400000000000005440000000000080514006000000020... 000000000000244000000000000024400000000000003E400000000000003E4007000000030...
ST_GEOMETRYN은 GEOMETRY 컬렉션, 멀티 포인트, 멀티 라인 스트링, 멀티 폴리곤 객체에서 N번째 GEOMETRY 객체를 반환하는 함수이다.
ST_GEOMETRYN의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
num | N번째 객체를 지정한다. |
예제
다음은 ST_GEOMETRYN 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(ST_GEOMETRYN(GEOM,2)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) IN ('MULTIPOLYGON','MULTILINESTRING','MULTIPOINT','GEOMETRYCOLLECTION'); ST_ASTEXT(ST_GEOMETRYN(GEOM,2)) ----------------------------------------- POINT(2 2) LINESTRING(3 3,4 5) POLYGON((3 3,3 5,5 5,5 3,3 3)) LINESTRING(2 2,3 3) POINT(20 20) LINESTRING(15 15,30 15) POLYGON((60 60,70 70,80 60,60 60)) POINT(30 30)
ST_GEOMETRYTYPE은 GEOMETRY 객체의 타입을 반환하는 함수이다.
ST_GEOMETRYTYPE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_GEOMETRYTYPE 함수를 사용하는 예이다.
SQL> SELECT ST_GEOMETRYTYPE(GEOM) FROM GIS; ST_GEOMETRYTYPE(GEOM) ---------------------------------------------------- POINT MULTIPOINT LINESTRING MULTILINESTRING POLYGON POLYGON MULTIPOLYGON GEOMETRYCOLLECTION EMPTY
ST_INTERIORRINGN은 폴리곤 객체의 N번째 내부 링을 반환하는 함수이다.
ST_INTERIORRINGN의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
polygon | 폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
num | N번째 내부 링을 지정한다. |
예제
다음은 ST_INTERIORRINGN 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(ST_INTERIORRINGN(GEOM,1)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON' AND ST_NUMINTERIORRING(GEOM) > 1 ST_ASTEXT(ST_INTERIORRINGN(GEOM,1)) ------------------------------------------------------ LINESTRING(6 10,6 11,9 11,9 10,6 10) LINESTRING(7 11,7 12,10 12,10 11,7 11)
ST_INTERSECTION은 GEOMETRY 객체 1과 GEOMETRY 객체 2가 공유하는 부분을 나타내는 GEOMETRY 객체를 반환하는 함수이다.
ST_INTERSECTION의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_INTERSECTION 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM), ST_ASTEXT(ST_INTERSECTION(A.GEOM,B.GEOM)) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_DIMENSION(A.GEOM) = ST_DIMENSION(B.GEOM); ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ST_INTERSECTION ----------------------- ----------------------------------- ----------------- POINT(1 1) MULTIPOINT(1 1,2 2) POINT(1 1) LINESTRING(1 1,2 2) MULTILINESTRING((1 1,2 2),(3 3,4 5))LINESTRING(1 1,2 2) POLYGON((1 1,2 1,2 2,...POLYGON((0 0,0 12,12 12,12 0,0 0))) POLYGON((1 1,...
ST_INTERSECTS는 두 GEOMETRY 객체가 공유하는 부분이 있을 때 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.
ST_INTERSECTS의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_INTERSECTS 함수를 사용하는 예이다.
SQL> SELECT ST_INTERSECTS(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_INTERSECTS ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ------------- -------------------- ------------------- 1 POINT(1 1) MULTIPOINT(1 1,2 2) 1 POINT(1 1) LINESTRING(1 1,2 2) 0 POINT(1 1) EMPTY 0 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 1 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1), ... 1 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_ISCLOSED는 라인 스트링 객체의 첫 포인트와 마지막 포인트가 동일할 때 1을 반환하는 함수이다.
ST_ISCLOSED의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
multi_line | 멀티 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ISCLOSED 함수를 사용하는 예이다.
SQL> SELECT ST_ISCLOSED(GEOM), ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'MULTILINESTRING' ST_ISCLOSED(GEOM) ST_ASTEXT(GEOM) ----------------- -------------------------------------------- 0 MULTILINESTRING((1 1,2 2),(3 3,4 5)) 0 MULTILINESTRING((10 10,20 20),(15 15,30 15))
ST_ISEMPTY는 주어진 GEOMETRY 객체가 EMPTY 타입일 때 1을 반환하는 함수이다.
ST_ISEMPTY의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ISEMPTY 함수를 사용하는 예이다.
SQL> SELECT ST_ISEMPTY(GEOM),ST_ASTEXT(GEOM) FROM GIS ST_ISEMPTY(GEOM) ST_ASTEXT(GEOM) ---------------- --------------------------------------- 0 POINT(1 1) 1 EMPTY
ST_ISRING은 주어진 라인 스트링이 닫혀있고(첫 포인트와 마지막 포인트가 동일) 심플하면 1을 반환하는 함수이다.
ST_ISRING의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ISRING 함수를 사용하는 예이다.
SQL> SELECT ST_ISRING(GEOM),ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_ISRING(GEOM) ST_ASTEXT(GEOM) --------------- ------------------------------------------- 0 LINESTRING(1 1,2 2) 0 LINESTRING(10 10,20 20,30 40)
ST_ISSIMPLE은 GEOMETRY 객체가 자체 교차점이나 자체 접촉점을 가지지 않으면 1을 반환하는 함수이다.
ST_ISSIMPLE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ISSIMPLE 함수를 사용하는 예이다.
SQL> SELECT ST_ISSIMPLE(GEOM),ST_ASTEXT(GEOM) FROM GIS; ST_ISSIMPLE(GEOM) ST_ASTEXT(GEOM) ----------------- -------------------------------------------- 1 MULTIPOINT(10 10,20 20) 1 LINESTRING(10 10,20 20,30 40) 0 MULTILINESTRING((10 10,20 20),(15 15,30 15))
ST_ISVALID는 GEOMETRY 객체가 공간적으로 유효한지(well-formed 인지)를 검사하는 함수이다. 공간적으로 유효하면 1, 아니면 0을 반환한다. EMPTY 공간 객체에 대해서는 1을 반환한다.
ST_ISVALID의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_ISVALID 함수를 사용하는 예이다.
SQL> SELECT ST_ISVALID(ST_GEOMFROMTEXT('POLYGON((0 0, 1 1, 0 1, 1 0, 0 0))')) BAD, ST_ISVALID(ST_GEOMFROMTEXT('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))')) GOOD FROM DUAL; BAD GOOD ---------- ---------- 0 1
ST_LENGTH는 라인 스트링 객체의 길이를 반환하는 함수이다.
ST_LENGTH의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_LENGTH 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM), ST_LENGTH(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_ASTEXT(GEOM) ST_LENGTH(GEOM) ------------------------------- --------------- LINESTRING(1 1,2 2) 1.4142135623731 LINESTRING(10 10,20 20,30 40) 23 36.502815398729
ST_LINEFROMTEXT는 주어진 WKT를 라인 스트링 객체로 반환하는 함수이다.
ST_LINEFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 라인 스트링 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_LINEFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_LINEFROMTEXT('LINESTRING(1 1,2 2)') FROM DUAL; ST_LINEFROMTEXT('LINESTRING(11,22)') ------------------------------------------------------------------------------ 000000000000F03F000000000000F03F00000000000000400000000000000040020000000200...
ST_LINEFROMWKB는 주어진 WKB를 라인 스트링 객체로 반환하는 함수이다.
ST_LINEFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 라인 스트링 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_LINEFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_LINEFROMWKB(ST_ASBINARY(GEOM)) F ROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; SST_ASTEXT(GEOM) T_LINEFROMWKB(ST_ASBINARY(GEOM)) -------------------------------- -------------------------------------------- LINESTRING(1 1,2 2) 000000000000F03F000000000000F03F0000000000... LINESTRING(10 10,20 20,30 40) 000000000000244000000000000024400000000000...
ST_MAXX는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 X 좌표값 중 큰 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.
ST_MAXX의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_MAXX 함수를 사용하는 예이다.
SQL> SELECT ID, ST_MAXX(GEOM) FROM GIS; ID ST_MAXX(GEOM) ---------- ------------- 101 1 102 2 103 2 104 4 105 2 106 12 107 5 108 3 109 110 3
ST_MAXY는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 Y 좌표값 중 큰 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.
ST_MAXY의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_MAXY 함수를 사용하는 예이다.
SQL> SELECT ID, ST_MAXY(GEOM) FROM GIS; ID ST_MAXY(GEOM) ---------- ------------- 101 1 102 2 103 2 104 5 105 2 106 12 107 5 108 3 109 110 3
ST_MINX는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 X 좌표값 중 작은 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.
ST_MINX 의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_MINX 함수를 사용하는 예이다.
SQL> SELECT ID, ST_MINX(GEOM) FROM GIS; ID ST_MINX(GEOM) ---------- ------------- 101 1 102 1 103 1 104 1 105 1 106 0 107 1 108 1 109 110 1
ST_MINY는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 Y 좌표값 중 작은 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.
ST_MINY 의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_MINY 함수를 사용하는 예이다.
SQL> SELECT ID, ST_MINY(GEOM) FROM GIS; ID ST_MINY(GEOM) ---------- ------------- 101 1 102 1 103 1 104 1 105 1 106 0 107 1 108 1 109 110 1
ST_MLINEFROMTEXT는 주어진 WKT를 멀티 라인 스트링 객체로 반환하는 함수이다.
ST_MLINEFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 라인 스트링 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MLINEFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_MLINEFROMTEXT('MULTILINESTRING((1 1,2 2),(3 3,4 5))') FROM DUAL; ST_MLINEFROMTEXT('MULTILINESTRING((11,22),(33,45))') ------------------------------------------------------------------------------- 000000000000F03F000000000000F03F00000000000010400000000000001440050000000200...
ST_MLINEFROMWKB는 주어진 WKB를 멀티 라인 스트링 객체로 반환하는 함수이다.
ST_MLINEFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 라인 스트링 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MLINEFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_MLINEFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'MULTILINESTRING'; ST_MLINEFROMWKB(ST_ASBINARY(GEOM)) ----------------------------------------------------------------------------- 000000000000F03F000000000000F03F000000000000104000000000000014400500000002... 000000000000244000000000000024400000000000003E4000000000000034400500000002...
ST_MPOINTFROMTEXT는 주어진 WKT를 멀티 포인트 객체로 반환하는 함수이다.
ST_MPOINTFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 포인트 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MPOINTFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_MPOINTFROMTEXT('MULTIPOINT(10 10,20 20)') FROM DUAL; ST_MPOINTFROMTEXT('MULTIPOINT(1010,2020)') ----------------------------------------------------------------------------- 00000000000024400000000000002440000000000000344000000000000034400400000002...
ST_MPOINTFROMWKB는 주어진 WKB를 멀티 포인트 객체로 반환하는 함수이다.
ST_MPOINTFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 포인트 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MPOINTFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_MPOINTFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'MULTIPOINT'; ST_MPOINTFROMWKB(ST_ASBINARY(GEOM)) ----------------------------------------------------------------------------- 000000000000F03F000000000000F03F000000000000004000000000000000400400000002... 00000000000024400000000000002440000000000000344000000000000034400400000002...
ST_MPOLYFROMTEXT는 주어진 WKT를 멀티 폴리곤 객체로 반환하는 함수이다.
ST_MPOLYFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 폴리곤 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MPOLYFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_MPOLYFROMTEXT('MULTIPOLYGON(((10 10,10 20,20 20,20 15,10 10)), ((60 60,70 70,80 60,60 60)))') FROM DUAL; ST_MPOLYFROMTEXT('MULTIPOLYGON(((1010,1020,2020,2015,1010)),((6060,7070,8060, ----------------------------------------------------------------------------- 00000000000024400000000000002440000000000000544000000000008051400600000002...
ST_MPOLYFROMWKB는 주어진 WKB를 멀티 폴리곤 객체로 반환하는 함수이다.
ST_MPOLYFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 멀티 폴리곤 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_MPOLYFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_MPOLYFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'MULTIPOLYGON'; ST_MPOLYFROMWKB(ST_ASBINARY(GEOM)) ------------------------------------------------------------------------------- 000000000000F03F000000000000F03F00000000000014400000000000001440060000000200... 0000000000002440000000000000244000000000000054400000000000805140060000000200...
ST_NUMGEOMETRIES는 GEOMETRY 컬렉션, 멀티 포인트, 멀티 라인 스트링, 멀티 폴리곤 객체에서 GEOMETRY 객체 수를 반환하는 함수이다.
ST_NUMGEOMETRIES의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom_call | 컬렉션 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_NUMGEOMETRIES 함수를 사용하는 예이다.
SQL> SELECT ST_NUMGEOMETRIES(GEOM),ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'GEOMETRYCOLLECTION'; ST_NUMGEOMETRIES(GEOM) ST_ASTEXT(GEOM) ---------------------- ------------------------------------------------------ 2 GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) 3 GEOMETRYCOLLECTION(POINT(10 10),POINT(30 30),LINESTRING(15 15,20 20))
ST_NUMINTERIORRING은 폴리곤 내부 링의 수를 반환하는 함수이다.
ST_NUMINTERIORRING의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
poly | 폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_NUMINTERIORRING 함수를 사용하는 예이다.
SQL> SELECT ST_NUMINTERIORRING(GEOM), ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON'; NUMINTERIORRING ST_ASTEXT(GEOM) --------------- ------------------------------------------------------------ 0 POLYGON((1 1,2 1,2 2,1 2,1 1)) 2 POLYGON((0 0,0 12,12 12,12 0,0 0),(6 10,6 11,9 11,9 10, ... 0 POLYGON((10 10,10 20,20 20,20 15,10 10)) 2 POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11,7 12,10 12,10 11, ...
ST_NUMPOINTS는 라인 스트링의 포인트 수를 반환하는 함수이다.
ST_NUMPOINTS의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_NUMPOINTS 함수를 사용하는 예이다.
SQL> SELECT ST_NUMPOINTS(GEOM),ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_NUMPOINTS(GEOM) ST_ASTEXT(GEOM) ------------------ ---------------------------------------------------- 2 LINESTRING(1 1,2 2) 3 LINESTRING(10 10,20 20,30 40)
ST_OVERLAPS는 주어진 두 GEOMETRY 객체가 서로 겹치는 영역이 존재하며, 완전히 포함되지는 않을 경우 1을 반환하는 함수이다.
ST_OVERLAPS의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_OVERLAPS 함수를 사용하는 예이다.
SQL> SELECT ST_OVERLAPS(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_OVERLAPS ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ----------- ------------------- --------------------------------------------- 0 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(1 1) LINESTRING(1 1,2 2) 0 POINT(1 1) EMPTY 0 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 0 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11, ... 0 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_POINTFROMTEXT는 주어진 WKT를 포인트 객체로 반환하는 함수이다.
ST_POINTFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 포인트 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_POINTFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_POINTFROMTEXT('POINT(10 10)') FROM DUAL; ST_POINTFROMTEXT('POINT(1010)') ------------------------------------------------------------------------------ 000000000000244000000000000024400000000000002440000000000000244001000000000...
ST_POINTFROMWKB는 주어진 WKB를 포인트 객체로 반환하는 함수이다.
ST_POINTFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 포인트 객체을 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_POINTFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_POINTFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POINT'; ST_POINTFROMWKB(ST_ASBINARY(GEOM)) ------------------------------------------------------------------------------ 000000000000F03F000000000000F03F000000000000F03F000000000000F03F01000000000... 000000000000244000000000000024400000000000002440000000000000244001000000000...
ST_POINTN은 라인 스트링 객체의 N번째 포인트를 반환하는 함수이다.
ST_POINTN의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
num | N번째 포인트를 지정한다. |
예제
다음은 ST_POINTN 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_ASTEXT(ST_POINTN(GEOM,1)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_ASTEXT(GEOM) ST_ASTEXT(ST_POINTN(GEOM,1)) ------------------------------- ------------------------------------------- LINESTRING(1 1,2 2) POINT(1 1) LINESTRING(10 10,20 20,30 40) POINT(10 10)
ST_POINTONSURFACE는 해당 공간 객체 위에 놓이는 것이 보장되는 하나의 점을 반환한다.
ST_POINTONSURFACE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_POINTONSURFACE 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(ST_POINTONSURFACE(GEOM)),ST_ASTEXT(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON'; ST_POINTONSURFACE(GEOM) ST_ASTEXT(GEOM) ------------------------ ---------------------------------------------------- POINT(1.5 1.5) POLYGON((1 1,2 1,2 2,1 2,1 1)) POINT(3 6) POLYGON((0 0,0 12,12 12,12 0,0 0),(6 10,6 11, ... POINT(15 15) POLYGON((10 10,10 20,20 20,20 15,10 10)) POINT(4 7) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11,7 12, ...
ST_POLYFROMTEXT는 주어진 WKT를 폴리곤 객체로 반환하는 함수이다.
ST_POLYFROMTEXT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 폴리곤 객체를 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_POLYFROMTEXT 함수를 사용하는 예이다.
SQL> SELECT ST_POLYFROMTEXT('POLYGON((1 1,2 1,2 2,1 2,1 1))') FROM DUAL; ST_POLYFROMTEXT('POLYGON((11,21,22,12,11))') ---------------------------------------------------------------------------- 000000000000F03F000000000000F03F00000000000000400000000000000040030000000...
ST_POLYFROMWKB는 주어진 WKB를 폴리곤 객체로 반환하는 함수이다.
ST_POLYFROMWKB의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
str | GEOMETRY 폴리곤 객체를 표현하기 위한 WKB 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_POLYFROMWKB 함수를 사용하는 예이다.
SQL> SELECT ST_POLYFROMWKB(ST_ASBINARY(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POLYGON'; ST_POLYFROMWKB(ST_ASBINARY(GEOM)) ----------------------------------------------------------------------------- 000000000000F03F000000000000F03F00000000000000400000000000000040030000000... 0000000000000000000000000000000000000000000028400000000000002840030000000... 0000000000002440000000000000244000000000000034400000000000003440030000000... 000000000000F03F000000000000F03F0000000000002A400000000000002A40030000000...
ST_RELATE는 GEOMETRY 객체 1과 GEOMETRY 객체 2가 주어진 관계를 만족시키면 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.
ST_RELATE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
str | 두 객체의 관계를 의미하는 문자열를 타나내는 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다. |
예제
다음은 ST_RELATE 함수를 사용하는 예이다.
SQL> SELECT ST_RELATE(A.GEOM,B.GEOM,'TTTTTTTTT'), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_RELATE ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) --------- ------------------- ------------------------------------------------- 0 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(1 1) LINESTRING(1 1,2 2) 0 POINT(1 1) EMPTY 0 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 0 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11, ... 0 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_SRID는 주어진 GEOMETRY 객체의 SRID를 반환하는 함수이다.
ST_SRID의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_SRID 함수를 사용하는 예이다.
SQL> SELECT ID,ST_SRID(GEOM) FROM GIS; ST_SRID(GEOM) ST_ASTEXT(B.GEOM) ------------- -------------------------------------------------------- 101 MULTIPOINT(1 1,2 2) 101 LINESTRING(1 1,2 2) 101 EMPTY
ST_STARTPOINT는 라인 스트링의 첫 포인트를 반환하는 함수이다.
ST_STARTPOINT의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
line | 라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_STARTPOINT 함수를 사용하는 예이다.
SQL> SELECT ST_astext(geom),ST_ASTEXT(ST_STARTPOINT(GEOM)) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'LINESTRING'; ST_ASTEXT(GEOM) ST_ASTEXT(ST_ENDPOINT(GEOM)) ------------------------------- -------------------------------------- LINESTRING(1 1,2 2) POINT(1 1) LINESTRING(10 10,20 20,30 40) POINT(10 10)
ST_SYMDIFFERENCE는 주어진 두 GEOMETRY 객체의 INTERSECTION을 제외한 영역을 나타내는 GEOMETRY 객체를 반환하는 함수이다.
ST_SYMDIFFERENCE의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_SYMDIFFERENCE 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM), ST_ASTEXT(ST_SYMDIFFERENCE(A.GEOM,B.GEOM)) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_DIMENSION(A.GEOM) = ST_DIMENSION(B.GEOM); ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ST_SYMDIFFERENCE(A.GEOM,B.GEOM) ----------------------- --------------------- -------------------------------- POINT(1 1) POINT(1 1) EMPTY MULTIPOINT(1 1,2 2) POINT(1 1) POINT(2 2) POINT(10 10) POINT(1 1) MULTIPOINT(1 1,10 10) MULTILINESTRING(...) LINESTRING(1 1,2 2) LINESTRING(3 3,4 5) LINESTRING(...) LINESTRING(1 1,2 2) MULTILINESTRING((10 10,20 20, ... EMPTY EMPTY EMPTY
ST_TOUCHES는 주어진 두 GEOMETRY 객체가 한 점 이상을 공유하지만 INTERSECTION이 존재하지는 않을 때 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.
ST_TOUCHES의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_TOUCHES 함수를 사용하는 예이다.
SQL> SELECT ST_TOUCHES(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B VWHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_TOUCHES ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ---------- ------------------- ----------------------------------------------- 0 POINT(1 1) MULTIPOINT(1 1,2 2) 1 POINT(1 1) LINESTRING(1 1,2 2) 0 POINT(1 1) EMPTY 0 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 1 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11, ... 0 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_UNION은 주어진 두 GEOMETRY 객체의 영역을 합한 GEOMETRY 객체를 반환하는 함수이다.
ST_UNION의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_UNION 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM), ST_ASTEXT(ST_UNION(A.GEOM,B.GEOM)) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_DIMENSION(A.GEOM) = ST_DIMENSION(B.GEOM); ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ST_UNION(A.GEOM,B.GEOM) --------------------- --------------------------- ---------------------------- POINT(1 1) MULTIPOINT(1 1,2 2) MULTIPOINT(1 1,2 2) POINT(1 1) POINT(10 10) MULTIPOINT(1 1,10 10) MULTIPOINT(1 1,2 2) POINT(10 10) MULTIPOINT(1 1,2 2,10 10) POINT(1 1) MULTIPOINT(10 10,20 20) MULTIPOINT(1 1,10 10,20 20) LINESTRING(1 1,2 2) LINESTRING(10 10,20 20, ... MULTILINESTRING((1 1, ...
ST_WITHIN은 GEOMETRY 객체 1이 GEOMETRY 객체 2 내부에 포함되면 1을 반환하는 함수이다.
ST_WITHIN의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
geom1 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
geom2 | GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_WITHIN 함수를 사용하는 예이다.
SQL> SELECT ST_WITHIN(A.GEOM,B.GEOM), ST_ASTEXT(A.GEOM),ST_ASTEXT(B.GEOM) FROM GIS A,GIS B WHERE ST_GEOMETRYTYPE(A.GEOM) NOT LIKE 'GEOMETRYCOLLECTION' AND ST_GEOMETRYTYPE(B.GEOM) NOT LIKE 'GEOMETRYCOLLECTION'; ST_WITHIN ST_ASTEXT(A.GEOM) ST_ASTEXT(B.GEOM) ---------- ------------------- ----------------------------------------------- 1 POINT(1 1) MULTIPOINT(1 1,2 2) 0 POINT(1 1) LINESTRING(1 1,2 2) 0 POINT(1 1) EMPTY 0 POINT(1 1) POLYGON((10 10,10 20,20 20,20 15,10 10)) 0 POINT(1 1) POLYGON((1 1,1 13,13 13,13 1,1 1),(7 11, ... 0 MULTIPOINT(1 1,2 2) POINT(1 1)
ST_X는 포인트 객체의 X 좌표를 반환하는 함수이다.
ST_X의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
point | 포인트 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_X 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_X(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POINT'; ST_ASTEXT(GEOM) ST_X(GEOM) --------------- --------- POINT(1 1) 1 POINT(10 10) 10
ST_Y는 포인트 객체의 Y 좌표를 반환하는 함수이다.
ST_Y의 세부 내용은 다음과 같다.
문법
구성요소
구성요소 | 설명 |
---|---|
point | 포인트 객체를 나타내는 GEOMETRY TYPE이어야 한다. |
예제
다음은 ST_Y 함수를 사용하는 예이다.
SQL> SELECT ST_ASTEXT(GEOM),ST_Y(GEOM) FROM GIS WHERE ST_GEOMETRYTYPE(GEOM) LIKE 'POINT'; ST_ASTEXT(GEOM) ST_Y(GEOM) --------------- --------- POINT(1 1) 1 POINT(10 10) 10