카테고리:

지리 공간 함수

ST_ENVELOPE

지정된 GEOGRAPHY 또는 GEOMETRY 오브젝트를 에워싸는 최소 경계 상자(사각형 “봉투”)를 반환합니다.

구문

ST_ENVELOPE( <geography_or_geometry_expression> )
Copy

인자

geography_or_geometry_expression

인자는 GEOGRAPHY 또는 GEOMETRY 형식이어야 합니다.

반환

함수는 입력 오브젝트 주위의 최소 경계 상자를 나타내는 GEOGRAPHY 또는 GEOMETRY 형식의 값을 반환합니다.

사용법 노트

  • GEOGRAPHY 오브젝트:

    • geography_expression 이 자오선 호(경도선을 따르는 호)를 나타내는 LineString인 경우, ST_ENVELOPE는 해당 LineString을 반환합니다.

    • geography_expression 이 적도가 아닌 평행선의 호(위도선을 따르는 호)를 나타내는 LineString인 경우, ST_ENVELOPE는 호의 경계 상자를 나타내는 Polygon을 반환합니다.

    • geography_expression 이 단일 Point인 경우, ST_ENVELOPE는 해당 Point를 반환합니다.

  • GEOMETRY 오브젝트:

    • 퇴화 사례에서는(예: 입력이 점 또는 수직선이나 수평선인 경우), 이 함수가 더 낮은 차원의 기하 도형(즉, 점 또는 LineString)을 반환할 수 있습니다.

    • GEOMETRY 오브젝트의 경우 반환된 GEOMETRY 오브젝트는 입력과 동일한 SRID를 가집니다.

GEOGRAPHY 예

다음 예는 다각형의 최소 경계 상자를 반환합니다.

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'POLYGON((-122.306067 37.55412, -122.32328 37.561801, -122.325879 37.586852, -122.306067 37.55412))'
    )
) as minimum_bounding_box_around_polygon;
+-----------------------------------------------------------------------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_POLYGON                                                                                   |
|-----------------------------------------------------------------------------------------------------------------------|
| POLYGON((-122.325879 37.55412,-122.306067 37.55412,-122.306067 37.586852,-122.325879 37.586852,-122.325879 37.55412)) |
+-----------------------------------------------------------------------------------------------------------------------+
Copy

다음 예는 자오선 호를 나타내는 LineString을 전달합니다. 함수는 Polygon이 아닌 동일한 LineString을 반환합니다.

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'LINESTRING(-122.32328 37.561801, -122.32328 37.562001)'
    )
) as minimum_bounding_box_around_meridian_arc;
+-------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_MERIDIAN_ARC              |
|-------------------------------------------------------|
| LINESTRING(-122.32328 37.561801,-122.32328 37.562001) |
+-------------------------------------------------------+
Copy

다음 예는 적도가 아닌 평행선의 호를 나타내는 LineString을 전달합니다. 함수는 경계 상자를 나타내는 Polygon을 반환합니다.

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'LINESTRING(-122.32328 37.561801,-122.32351 37.561801)'
    )
) as minimum_bounding_box_around_arc_along_parallel;
+---------------------------------------------------------------------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_ARC_ALONG_PARALLEL                                                                      |
|---------------------------------------------------------------------------------------------------------------------|
| POLYGON((-122.32351 37.561801,-122.32328 37.561801,-122.32328 37.561801,-122.32351 37.561801,-122.32351 37.561801)) |
+---------------------------------------------------------------------------------------------------------------------+
Copy

다음 예는 단일 Point를 전달합니다. 함수는 동일한 Point를 반환합니다.

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'POINT(-122.32328 37.561801)'
    )
) as minimum_bounding_box_around_point;
+-----------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_POINT |
|-----------------------------------|
| POINT(-122.32328 37.561801)       |
+-----------------------------------+
Copy

GEOMETRY 예