ST_DISTANCE(NoSQL 쿼리)
적용 대상: NoSQL
두 GeoJSON Point, Polygon, MultiPolygon 또는 LineString 식 사이의 거리를 반환합니다.
참고 항목
자세한 내용은 지리 공간 및 GeoJSON 위치 데이터를 참조하세요.
구문
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
인수
설명 | |
---|---|
spatial_expr_1 |
유효한 GeoJSON Point, Polygon, MultiPolygon 또는 LineString 식입니다. |
spatial_expr_2 |
유효한 GeoJSON Point, Polygon, MultiPolygon 또는 LineString 식입니다. |
반환 형식
두 식 사이의 거리를 열거하는 숫자 식을 반환합니다.
예제
다음 예제에서는 두 개의 항목이 있는 컨테이너가 있다고 가정합니다.
[
{
"name": "Headquarters",
"location": {
"type": "Point",
"coordinates": [
-122.12826822304672,
47.63980239335718
]
},
"category": "business-offices"
},
{
"name": "Research and development",
"location": {
"type": "Point",
"coordinates": [
-96.84368664765994,
46.81297794314663
]
},
"category": "business-offices"
}
]
이 예제에서는 함수를 필터로 사용하여 지정된 거리 내에서 항목을 반환하는 방법을 보여 줍니다.
SELECT
o.name,
ST_DISTANCE(o.location, {
"type": "Point",
"coordinates": [-122.11758113953535, 47.66901087006131]
}) / 1000 AS distanceKilometers
FROM
offices o
WHERE
o.category = "business-offices"
[
{
"name": "Headquarters",
"distanceKilometers": 3.345269817267368
},
{
"name": "Research and development",
"distanceKilometers": 1907.438421299902
}
]
설명
- 결과는 기본 참조 시스템의 경우 미터 단위로 표현됩니다.
- 이 함수는 집계가 있는 쿼리를 제외하고 지리 공간적 인덱스의 이점을 제공합니다.
- GeoJSON 사양에서는 다각형 내의 지점을 시계 반대 방향으로 지정해야 합니다. 시계 방향 순서로 지정된 다각형은 내부 영역의 반전을 나타냅니다.