- 카테고리:
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) | +--------------------------------------------------------------------------+