ST_COVERS
ST_COVERS
ST_COVERS 함수는 하나의 지리공간 객체의 한 점도 다른 지리공간 객체의 밖에 있지 않으면 TRUE를 반환해요.
출처: ST_COVERS
본문
ST_COVERS 함수는 하나의 지리공간 객체의 어떤 점도 다른 지리공간 객체의 밖에 있지 않으면 TRUE를 반환해요. 즉:
GEOGRAPHY객체 g2가GEOGRAPHY객체 g1의 밖에 있지 않음.GEOMETRY객체 g2가GEOMETRY객체 g1의 밖에 있지 않음.
ST_COVERS는 ST_CONTAINS와 유사하지만 미묘하게 다르며, "covers"(덮음)와 "contains"(포함)의 차이에 대한 자세한 내용은 Dimensionally Extended 9-Intersection Model(DE-9IM)을 참조해요.
참고: 이 함수는 입력 값으로 GeometryCollection 또는 FeatureCollection을 지원하지 않아요.
팁: 검색 최적화 서비스를 사용해 이 함수를 호출하는 쿼리의 성능을 향상시킬 수 있어요. 자세한 내용은 Search optimization service를 참조해요.
함께 보기: ST_CONTAINS, ST_COVEREDBY
구문 (Syntax)
ST_COVERS( <geography_expression_1> , <geography_expression_2> )
ST_COVERS( <geometry_expression_1> , <geometry_expression_2> )
인자 (Arguments)
- geography_expression_1 —
GEOGRAPHY객체로, GeometryCollection 또는 FeatureCollection이 아니어야 해요. - geography_expression_2 —
GEOGRAPHY객체로, GeometryCollection 또는 FeatureCollection이 아니어야 해요. - geometry_expression_1 —
GEOMETRY객체로, GeometryCollection 또는 FeatureCollection이 아니어야 해요. - geometry_expression_2 —
GEOMETRY객체로, GeometryCollection 또는 FeatureCollection이 아니어야 해요.
반환 (Returns)
BOOLEAN.
사용 메모 (Usage notes)
GEOMETRY객체의 경우, 두 입력GEOMETRY객체의 SRID가 다르면 함수는 오류를 보고해요.
예제 (Examples)
GEOGRAPHY 예제
ST_COVERS 함수의 간단한 사용법을 보여줘요:
create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY);
insert into geospatial_table_01 (g1, g2) values
('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');
SELECT ST_COVERS(g1, g2)
FROM geospatial_table_01;
+-------------------+
| ST_COVERS(G1, G2) |
|-------------------|
| True |
+-------------------+
GEOMETRY 예제
아래 쿼리는 ST_COVERS를 사용하는 여러 예제를 보여줘요. Polygon이 경계의 LineString을 포함(contain)하지 않으면서 덮는(covers) 방식을 주목해요:
SELECT ST_COVERS(poly, poly_inside),
ST_COVERS(poly, poly),
ST_COVERS(poly, line_on_boundary),
ST_COVERS(poly, line_inside)
FROM (SELECT TO_GEOMETRY('POLYGON((-2 0, 0 2, 2 0, -2 0))') AS poly,
TO_GEOMETRY('POLYGON((-1 0, 0 1, 1 0, -1 0))') AS poly_inside,
TO_GEOMETRY('LINESTRING(-1 1, 0 2, 1 1)') AS line_on_boundary,
TO_GEOMETRY('LINESTRING(-2 0, 0 0, 0 1)') AS line_inside);
+------------------------------+----------------------+----------------------------------+-----------------------------+
| ST_COVERS(POLY, POLY_INSIDE) | ST_COVERS(POLY,POLY) | ST_COVERS(POLY,LINE_ON_BOUNDARY) | ST_COVERS(POLY,LINE_INSIDE) |
|------------------------------+----------------------+----------------------------------+-----------------------------|
| True | True | True | True |
+------------------------------+----------------------+----------------------------------+-----------------------------+
더 알아보기 (Learn more)
- ST_CONTAINS
- ST_COVEREDBY
- 지리공간 함수 (Geospatial functions)