카테고리:

지리 공간 함수

ST_DISTANCE

Returns the minimum geodesic distance between two GEOGRAPHY or the minimum Euclidean distance between two GEOMETRY objects.

구문

ST_DISTANCE( <geography_expression_1> , <geography_expression_2> )

인자

geography_expression_1

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

geography_expression_2

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

반환

거리를 미터 단위로 나타내는 REAL 형식 값을 반환합니다.

사용법 노트

  • 입력 지점 중 하나 이상이 NULL인 경우, NULL을 반환합니다.

  • For GEOMETRY objects, the function reports an error if the two input GEOMETRY objects have different SRIDs.

GEOGRAPHY Examples

이는 적도를 따라 1도 떨어진 두 지점 사이의 거리를 미터 단위로 보여줍니다(약 111 킬로미터 또는 69 마일).

WITH d AS
    ( ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(1, 0)) )
SELECT d / 1000 AS kilometers, d / 1609 AS miles;
+---------------+--------------+
|    KILOMETERS |        MILES |
|---------------+--------------|
| 111.195101177 | 69.108204585 |
+---------------+--------------+

다음은 NULL 값과 함께 ST_DISTANCE 함수를 사용하는 방법을 보여줍니다.

SELECT ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL));
+-----------------------------------------------------------+
| ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL)) |
|-----------------------------------------------------------|
|                                                      NULL |
+-----------------------------------------------------------+

GEOMETRY Examples

The following example compares the distance calculated for GEOGRAPHY and GEOMETRY input objects.

SELECT ST_DISTANCE(TO_GEOMETRY('POINT(0 0)'), TO_GEOMETRY('POINT(1 1)')) AS geometry_distance,
       ST_DISTANCE(TO_GEOGRAPHY('POINT(0 0)'), TO_GEOGRAPHY('POINT(1 1)')) AS geography_distance;
+-------------------+--------------------+
| GEOMETRY_DISTANCE | GEOGRAPHY_DISTANCE |
|-------------------+--------------------|
|       1.414213562 |   157249.628092508 |
+-------------------+--------------------+
맨 위로 이동