共用方式為


ST_DISTANCE (NoSQL 查詢)

適用於:NoSQL

傳回兩個 GeoJSON 點、多邊形、MultiPolygon 或 LineString 表達式之間的距離。

注意

如需詳細資訊,請參閱地理空間和 GeoJSON 位置資料

語法

ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)  

引數

描述
spatial_expr_1 任何有效的 GeoJSON PointPolygon、MultiPolygonLineString 運算式。
spatial_expr_2 任何有效的 GeoJSON PointPolygon、MultiPolygonLineString 運算式。

傳回類型

傳回數值表示式,列舉兩個表達式之間的距離。

範例

下列範例假設有兩個專案的容器存在。

[
  {
    "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 規格要求 Polygon 內的點必須以逆時針順序指定。 以順時針順序指定的多邊形,代表區域內的反轉。