- 카테고리:
ST_CENTROID¶
GEOGRAPHY 또는 GEOMETRY 오브젝트의 기하학적 중심을 나타내는 Point를 반환합니다.
구문¶
ST_CENTROID( <geography_or_geometry_expression> )
인자¶
geography_or_geometry_expression
인자는 GEOGRAPHY 또는 GEOMETRY 형식의 식이어야 합니다.
반환¶
입력 오브젝트의 기하학적 중심을 나타내는 Point에 대한 GEOGRAPHY 또는 GEOMETRY 오브젝트를 반환합니다.
사용법 노트¶
입력이 NULL인 경우, NULL을 반환합니다.
입력 오브젝트가 다양한 형식의 오브젝트(Polygon, LineString, Point)를 포함하는 GeometryCollection인 경우, ST_CENTROID는 가장 높은 차원 을 가진 형식을 사용하여 기하학적 중심을 결정합니다. 예:
GeometryCollection에 Polygon, LineString, Point가 포함된 경우, ST_CENTROID는 Polygon을 사용하고 컬렉션의 LineString 및 Point를 무시합니다.
GeometryCollection에 LineString 및 Point가 포함된 경우, ST_CENTROID는 LineString을 사용하고 컬렉션의 Point를 무시합니다.
GEOMETRY 오브젝트의 경우 반환된 GEOMETRY 오브젝트는 입력과 동일한 SRID를 가집니다.
예¶
GEOGRAPHY 예¶
다음 예는 LineString의 기하학적 중심을 나타내는 Point를 반환합니다.
SELECT ST_CENTROID( TO_GEOGRAPHY( 'LINESTRING(0 0, 0 -2)' ) ) as center_of_linestring; +----------------------+ | CENTER_OF_LINESTRING | |----------------------| | POINT(0 -1) | +----------------------+
다음 예는 Polygon의 기하학적 중심을 나타내는 Point를 반환합니다.
SELECT ST_CENTROID( TO_GEOGRAPHY( 'POLYGON((10 10, 10 20, 20 20, 20 10, 10 10))' ) ) as center_of_polygon; +------------------------+ | CENTER_OF_POLYGON | |------------------------| | POINT(15 15.014819855) | +------------------------+
다음 예는 GeometryCollection의 기하학적 중심을 나타내는 Point를 반환합니다. 이 컬렉션은 Polygon, LineString, Point를 포함합니다. ST_CENTROID는 기하학적 중심을 결정할 때 Polygon만 사용합니다(LineString 및 Point는 무시함).
SELECT ST_CENTROID( TO_GEOGRAPHY( 'GEOMETRYCOLLECTION(POLYGON((10 10, 10 20, 20 20, 20 10, 10 10)), LINESTRING(0 0, 0 -2), POINT(50 -50))' ) ) as center_of_collection_with_polygons; +------------------------------------+ | CENTER_OF_COLLECTION_WITH_POLYGONS | |------------------------------------| | POINT(15 15.014819855) | +------------------------------------+
GEOMETRY 예¶
다음 예제에서는 간단한 직사각형 Polygon의 도심을 계산합니다. 결과가 GEOGRAPHY 오브젝트와 함께 ST_CENTROID 를 사용할 때의 결과와 어떻게 다른지 확인하십시오.
SELECT ST_CENTROID(TO_GEOMETRY('POLYGON((10 10, 10 20, 20 20, 20 10, 10 10))'));+--------------------------------------------------------------------------+ | ST_CENTROID(TO_GEOMETRY('POLYGON((10 10, 10 20, 20 20, 20 10, 10 10))')) | |--------------------------------------------------------------------------| | POINT(15 15) | +--------------------------------------------------------------------------+