카테고리:

지리 공간 함수

ST_LENGTH

GEOGRAPHY 오브젝트에서 LineString(s)의 측지 길이 또는 GEOMETRY 오브젝트에서 LineString(s)의 유클리드 길이를 반환합니다.

구문

ST_LENGTH( <geography_or_geometry_expression> )
Copy

인자

geography_or_geometry_expression

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

반환

길이를 나타내는 REAL 값을 반환합니다.

  • GEOGRAPHY 입력값의 경우 길이는 미터 단위입니다.

  • GEOMETRY 입력값의 경우 길이는 입력 좌표를 정의하는 데 사용되는 것과 동일한 단위로 계산됩니다.

사용법 노트

  • geography_or_geometry_expression 이 LineString, MultiLineString, 또는 linestring을 포함하는 GeometryCollection이 아닌 경우, ST_LENGTH는 0을 반환합니다.

  • geography_or_geometry_expression 이 GeometryCollection인 경우, ST_LENGTH는 컬렉션에 있는 linestring 길이의 합계를 반환합니다.

  • 다각형의 둘레 길이를 원하는 경우, 대신 ST_PERIMETER 함수를 사용하십시오.

GEOGRAPHY 예

이는 적도에서 호 1도의 길이를 미터 단위로 보여줍니다.

SELECT ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)'));
+---------------------------------------------------------+
| ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')) |
|---------------------------------------------------------|
|                                        111195.101177484 |
+---------------------------------------------------------+
Copy

GEOMETRY 예

다음 예제에서는 ST_LENGTH 함수의 사용 방법을 보여줍니다.

SELECT ST_LENGTH(g), ST_ASWKT(g)
FROM (SELECT TO_GEOMETRY(column1) AS g
  FROM VALUES ('POINT(1 1)'),
              ('LINESTRING(0 0, 1 1)'),
              ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));
Copy
+--------------+--------------------------------+
| ST_LENGTH(G) | ST_ASWKT(G)                    |
|--------------+--------------------------------|
|  0           | POINT(1 1)                     |
|  1.414213562 | LINESTRING(0 0,1 1)            |
|  0           | POLYGON((0 0,0 1,1 1,1 0,0 0)) |
+--------------+--------------------------------+
Copy