제4장 Spatial 관련 함수

내용 목차

4.1. ST_AREA
4.2. ST_ASBINARY
4.3. ST_ASTEXT
4.4. ST_BOUNDARY
4.5. ST_BUFFER
4.6. ST_CENTROID
4.7. ST_CONTAINS
4.8. ST_CONVEXHULL
4.9. ST_CROSSES
4.10. ST_DIFFERENCE
4.11. ST_DIMENSION
4.12. ST_DISJOINT
4.13. ST_DISTANCE
4.14. ST_ENDPOINT
4.15. ST_ENVELOPE
4.16. ST_EQUALS
4.17. ST_EXTERIORRING
4.18. ST_GEOMCOLLFROMTEXT
4.19. ST_GEOMCOLLFROMWKB
4.20. ST_GEOMFROMTEXT
4.21. ST_GEOMFROMWKB
4.22. ST_GEOMETRYN
4.23. ST_GEOMETRYTYPE
4.24. ST_INTERIORRINGN
4.25. ST_INTERSECTION
4.26. ST_INTERSECTS
4.27. ST_ISCLOSED
4.28. ST_ISEMPTY
4.29. ST_ISRING
4.30. ST_ISSIMPLE
4.31. ST_ISVALID
4.32. ST_LENGTH
4.33. ST_LINEFROMTEXT
4.34. ST_LINEFROMWKB
4.35. ST_MAXX
4.36. ST_MAXY
4.37. ST_MINX
4.38. ST_MINY
4.39. ST_MLINEFROMTEXT
4.40. ST_MLINEFROMWKB
4.41. ST_MPOINTFROMTEXT
4.42. ST_MPOINTFROMWKB
4.43. ST_MPOLYFROMTEXT
4.44. ST_MPOLYFROMWKB
4.45. ST_NUMGEOMETRIES
4.46. ST_NUMINTERIORRING
4.47. ST_NUMPOINTS
4.48. ST_OVERLAPS
4.49. ST_POINTFROMTEXT
4.50. ST_POINTFROMWKB
4.51. ST_POINTN
4.52. ST_POINTONSURFACE
4.53. ST_POLYFROMTEXT
4.54. ST_POLYFROMWKB
4.55. ST_RELATE
4.56. ST_SRID
4.57. ST_STARTPOINT
4.58. ST_SYMDIFFERENCE
4.59. ST_TOUCHES
4.60. ST_UNION
4.61. ST_WITHIN
4.62. ST_X
4.63. ST_Y

본 장에서는 Tibero Spatial에서 제공되는 함수에 대해 설명한다.

4.1. ST_AREA

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)))        

4.2. ST_ASBINARY

ST_ASBINARY는 GEOMETRY 객체를 WKB(Well Known Binary) 형태로 반환하는 함수이다.

ST_ASBINARY의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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    

4.3. ST_ASTEXT

ST_ASTEXT는 GEOMETRY 객체를 WKT(Well Known Text) 형태로 반환하는 함수이다.

ST_ASTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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          

4.4. ST_BOUNDARY

ST_BOUNDARY는 주어진 GEOMETRY 객체의 경계를 반환하는 함수이다.

ST_BOUNDARY의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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)      

4.5. ST_BUFFER

ST_BUFFER는 주어진 GEOMETRY 객체로부터 일정 거리 안에 있는 모든 점을 표현하는 GEOMETRY 객체를 반환하는 함수이다.

ST_BUFFER의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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))      

4.6. ST_CENTROID

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)       

4.7. ST_CONTAINS

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, ...       

4.8. ST_CONVEXHULL

ST_CONVEXHULL은 주어진 GEOMETRY의 convex hull을 반환하는 함수이다. convex hull은 GEOMETRY 객체를 포함하는 제일 작은 볼록한 폐곡선을 의미한다.

ST_CONVEXHULL의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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))      

4.9. ST_CROSSES

ST_CROSSES는 주어진 두 GEOMETRY 객체가 교차하면 1을 반환하는 함수이다. 포함관계에 있거나, 경계가 닿아 있는 경우는 해당하지 않는다.

ST_CROSSES의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)      

4.10. ST_DIFFERENCE

ST_DIFFERENCE는 GEOMETRY 객체 2와 겹치지 않는 객체 1의 부분을 반환하는 함수이다.

ST_DIFFERENCE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geomGEOMETRY 객체를 나타내는 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          

4.11. ST_DIMENSION

ST_DIMENSION은 GEOMETRY 객체의 차원을 반환하는 함수이다.

ST_DIMENSION의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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         

4.12. ST_DISJOINT

ST_DISJOINT는 두 GEOMETRY 객체가 어떤 영역도 공유하지 않을 때 1을 반환하는 함수이다.

ST_DISJOINT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)          

4.13. ST_DISTANCE

ST_DISTANCE는 두 GEOMETRY 객체사이의 최단 거리를 반환하는 함수이다.

ST_DISTANCE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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          

4.14. ST_ENDPOINT

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)         

4.15. ST_ENVELOPE

ST_ENVELOPE는 주어진 GEOMETRY 객체를 둘러싸는 사각형을 GEOMETRY 형태로 반환하는 함수이다.

ST_ENVELOPE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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         

4.16. ST_EQUALS

ST_EQUALS는 두 GEOMETRY 객체가 같은 GEOMETRY를 표현하면 1을 반환하는 함수이다.

ST_EQUALS의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geomGEOMETRY 객체를 나타내는 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        

4.17. ST_EXTERIORRING

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)        

4.18. ST_GEOMCOLLFROMTEXT

ST_GEOMCOLLFROMTEXT는 주어진 WKT를 컬렉션 객체로 반환하는 함수이다.

ST_GEOMCOLLFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 컬렉션 객체을 표현하기 위한 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...         

4.19. ST_GEOMCOLLFROMWKB

ST_GEOMCOLLFROMWKB는 주어진 WKB를 컬렉션 객체로 반환하는 함수이다.

ST_GEOMCOLLFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 컬렉션 객체을 표현하기 위한 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...         

4.20. ST_GEOMFROMTEXT

ST_GEOMFROMTEXT는 주어진 WKT를 GEOMETRY 객체로 반환하는 함수이다.

ST_GEOMFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 객체를 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다.
  • 예제

    다음은 ST_GEOMFROMTEXT 함수를 사용하는 예이다.

    SQL> SELECT ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)') FROM DUAL;
    
    ST_GEOMFROMTEXT('MULTIPOINT(11,22)')
    -----------------------------------------------
    000000000000F03F000000000000F03F000000000000004000000000000000400400000002...         

4.21. ST_GEOMFROMWKB

ST_GEOMFROMWKB는 주어진 WKB를 GEOMETRY 객체로 반환하는 함수이다.

ST_GEOMFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 객체를 표현하기 위한 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...         

4.22. ST_GEOMETRYN

ST_GEOMETRYN은 GEOMETRY 컬렉션, 멀티 포인트, 멀티 라인 스트링, 멀티 폴리곤 객체에서 N번째 GEOMETRY 객체를 반환하는 함수이다.

ST_GEOMETRYN의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    numN번째 객체를 지정한다.
  • 예제

    다음은 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)         

4.23. ST_GEOMETRYTYPE

ST_GEOMETRYTYPE은 GEOMETRY 객체의 타입을 반환하는 함수이다.

ST_GEOMETRYTYPE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
  • 예제

    다음은 ST_GEOMETRYTYPE 함수를 사용하는 예이다.

    SQL> SELECT ST_GEOMETRYTYPE(GEOM) FROM GIS;
    
    ST_GEOMETRYTYPE(GEOM)
    ----------------------------------------------------
    POINT
    MULTIPOINT
    LINESTRING
    MULTILINESTRING
    POLYGON
    POLYGON
    MULTIPOLYGON
    GEOMETRYCOLLECTION
    EMPTY         

4.24. ST_INTERIORRINGN

ST_INTERIORRINGN은 폴리곤 객체의 N번째 내부 링을 반환하는 함수이다.

ST_INTERIORRINGN의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    polygon폴리곤 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    numN번째 내부 링을 지정한다.
  • 예제

    다음은 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)         

4.25. ST_INTERSECTION

ST_INTERSECTION은 GEOMETRY 객체 1과 GEOMETRY 객체 2가 공유하는 부분을 나타내는 GEOMETRY 객체를 반환하는 함수이다.

ST_INTERSECTION의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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,...         

4.26. ST_INTERSECTS

ST_INTERSECTS는 두 GEOMETRY 객체가 공유하는 부분이 있을 때 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.

ST_INTERSECTS의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)         

4.27. ST_ISCLOSED

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))          

4.28. ST_ISEMPTY

ST_ISEMPTY는 주어진 GEOMETRY 객체가 EMPTY 타입일 때 1을 반환하는 함수이다.

ST_ISEMPTY의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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         

4.29. ST_ISRING

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)         

4.30. ST_ISSIMPLE

ST_ISSIMPLE은 GEOMETRY 객체가 자체 교차점이나 자체 접촉점을 가지지 않으면 1을 반환하는 함수이다.

ST_ISSIMPLE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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))         

4.31. ST_ISVALID

ST_ISVALID는 GEOMETRY 객체가 공간적으로 유효한지(well-formed 인지)를 검사하는 함수이다. 공간적으로 유효하면 1, 아니면 0을 반환한다. EMPTY 공간 객체에 대해서는 1을 반환한다.

ST_ISVALID의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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

4.32. ST_LENGTH

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          

4.33. ST_LINEFROMTEXT

ST_LINEFROMTEXT는 주어진 WKT를 라인 스트링 객체로 반환하는 함수이다.

ST_LINEFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 라인 스트링 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다.
  • 예제

    다음은 ST_LINEFROMTEXT 함수를 사용하는 예이다.

    SQL> SELECT ST_LINEFROMTEXT('LINESTRING(1 1,2 2)') FROM DUAL;
    
    ST_LINEFROMTEXT('LINESTRING(11,22)')
    ------------------------------------------------------------------------------
    000000000000F03F000000000000F03F00000000000000400000000000000040020000000200...          

4.34. ST_LINEFROMWKB

ST_LINEFROMWKB는 주어진 WKB를 라인 스트링 객체로 반환하는 함수이다.

ST_LINEFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 라인 스트링 객체을 표현하기 위한 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...          

4.35. ST_MAXX

ST_MAXX는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 X 좌표값 중 큰 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.

ST_MAXX의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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

4.36. ST_MAXY

ST_MAXY는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 Y 좌표값 중 큰 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.

ST_MAXY의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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

4.37. ST_MINX

ST_MINX는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 X 좌표값 중 작은 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.

ST_MINX 의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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

4.38. ST_MINY

ST_MINY는 해당 공간 객체를 둘러싸는 최소 경계 사각형의 Y 좌표값 중 작은 값을 반환하는 함수이다. EMPTY 공간 객체에 대해서는 NULL을 반환한다.

ST_MINY 의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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

4.39. ST_MLINEFROMTEXT

ST_MLINEFROMTEXT는 주어진 WKT를 멀티 라인 스트링 객체로 반환하는 함수이다.

ST_MLINEFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 라인 스트링 객체을 표현하기 위한 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...          

4.40. ST_MLINEFROMWKB

ST_MLINEFROMWKB는 주어진 WKB를 멀티 라인 스트링 객체로 반환하는 함수이다.

ST_MLINEFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 라인 스트링 객체을 표현하기 위한 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...         

4.41. ST_MPOINTFROMTEXT

ST_MPOINTFROMTEXT는 주어진 WKT를 멀티 포인트 객체로 반환하는 함수이다.

ST_MPOINTFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 포인트 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다.
  • 예제

    다음은 ST_MPOINTFROMTEXT 함수를 사용하는 예이다.

    SQL> SELECT ST_MPOINTFROMTEXT('MULTIPOINT(10 10,20 20)') FROM DUAL;
    
    ST_MPOINTFROMTEXT('MULTIPOINT(1010,2020)')
    -----------------------------------------------------------------------------
    00000000000024400000000000002440000000000000344000000000000034400400000002...         

4.42. ST_MPOINTFROMWKB

ST_MPOINTFROMWKB는 주어진 WKB를 멀티 포인트 객체로 반환하는 함수이다.

ST_MPOINTFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 포인트 객체을 표현하기 위한 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...         

4.43. ST_MPOLYFROMTEXT

ST_MPOLYFROMTEXT는 주어진 WKT를 멀티 폴리곤 객체로 반환하는 함수이다.

ST_MPOLYFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 폴리곤 객체을 표현하기 위한 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...          

4.44. ST_MPOLYFROMWKB

ST_MPOLYFROMWKB는 주어진 WKB를 멀티 폴리곤 객체로 반환하는 함수이다.

ST_MPOLYFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 멀티 폴리곤 객체을 표현하기 위한 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...         

4.45. ST_NUMGEOMETRIES

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))          

4.46. ST_NUMINTERIORRING

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, ...          

4.47. ST_NUMPOINTS

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)         

4.48. ST_OVERLAPS

ST_OVERLAPS는 주어진 두 GEOMETRY 객체가 서로 겹치는 영역이 존재하며, 완전히 포함되지는 않을 경우 1을 반환하는 함수이다.

ST_OVERLAPS의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)         

4.49. ST_POINTFROMTEXT

ST_POINTFROMTEXT는 주어진 WKT를 포인트 객체로 반환하는 함수이다.

ST_POINTFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 포인트 객체을 표현하기 위한 WKT 형식으로 된 CHAR, VARCAHR, NCHAR, NVARCHAR 타입 중 하나이다.
  • 예제

    다음은 ST_POINTFROMTEXT 함수를 사용하는 예이다.

    SQL> SELECT ST_POINTFROMTEXT('POINT(10 10)') FROM DUAL;
    
    ST_POINTFROMTEXT('POINT(1010)')
    ------------------------------------------------------------------------------
    000000000000244000000000000024400000000000002440000000000000244001000000000...

4.50. ST_POINTFROMWKB

ST_POINTFROMWKB는 주어진 WKB를 포인트 객체로 반환하는 함수이다.

ST_POINTFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 포인트 객체을 표현하기 위한 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...         

4.51. ST_POINTN

ST_POINTN은 라인 스트링 객체의 N번째 포인트를 반환하는 함수이다.

ST_POINTN의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    line라인 스트링 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    numN번째 포인트를 지정한다.
  • 예제

    다음은 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)         

4.52. ST_POINTONSURFACE

ST_POINTONSURFACE는 해당 공간 객체 위에 놓이는 것이 보장되는 하나의 점을 반환한다.

ST_POINTONSURFACE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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, ...         

4.53. ST_POLYFROMTEXT

ST_POLYFROMTEXT는 주어진 WKT를 폴리곤 객체로 반환하는 함수이다.

ST_POLYFROMTEXT의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 폴리곤 객체를 표현하기 위한 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...          

4.54. ST_POLYFROMWKB

ST_POLYFROMWKB는 주어진 WKB를 폴리곤 객체로 반환하는 함수이다.

ST_POLYFROMWKB의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    strGEOMETRY 폴리곤 객체를 표현하기 위한 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...         

4.55. ST_RELATE

ST_RELATE는 GEOMETRY 객체 1과 GEOMETRY 객체 2가 주어진 관계를 만족시키면 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.

ST_RELATE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)         

4.56. ST_SRID

ST_SRID는 주어진 GEOMETRY 객체의 SRID를 반환하는 함수이다.

ST_SRID의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geomGEOMETRY 객체를 나타내는 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          

4.57. ST_STARTPOINT

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)          

4.58. ST_SYMDIFFERENCE

ST_SYMDIFFERENCE는 주어진 두 GEOMETRY 객체의 INTERSECTION을 제외한 영역을 나타내는 GEOMETRY 객체를 반환하는 함수이다.

ST_SYMDIFFERENCE의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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         

4.59. ST_TOUCHES

ST_TOUCHES는 주어진 두 GEOMETRY 객체가 한 점 이상을 공유하지만 INTERSECTION이 존재하지는 않을 때 1을 반환하는 함수이다. GEOMETRY 인자로 GEOMETRYCOLLECTION 타입이 올 경우에는 런타임 에러를 발생시킨다.

ST_TOUCHES의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)         

4.60. ST_UNION

ST_UNION은 주어진 두 GEOMETRY 객체의 영역을 합한 GEOMETRY 객체를 반환하는 함수이다.

ST_UNION의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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, ... 

4.61. ST_WITHIN

ST_WITHIN은 GEOMETRY 객체 1이 GEOMETRY 객체 2 내부에 포함되면 1을 반환하는 함수이다.

ST_WITHIN의 세부 내용은 다음과 같다.

  • 문법

  • 구성요소

    구성요소설명
    geom1GEOMETRY 객체를 나타내는 GEOMETRY TYPE이어야 한다.
    geom2GEOMETRY 객체를 나타내는 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)             

4.62. ST_X

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         

4.63. ST_Y

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