다음을 통해 공유


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 사양에서는 다각형 내의 지점을 시계 반대 방향으로 지정해야 합니다. 시계 방향 순서로 지정된 다각형은 내부 영역의 반전을 나타냅니다.