此 ST_DISTANCE 函式會傳回兩個 GeoJSON Point、Polygon、MultiPolygon 或 LineString 運算式之間的距離。
函 ST_DISTANCE 式會傳回數值,代表適用於 NoSQL 的 Azure Cosmos DB 中兩個 GeoJSON 物件之間的距離。
語法
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
Arguments
| Description | |
|---|---|
spatial_expr_1 |
任何有效的 GeoJSON 點、多邊形、多邊形或 LineString 運算式。 |
spatial_expr_2 |
任何有效的 GeoJSON 點、多邊形、多邊形或 LineString 運算式。 |
傳回類型
傳回數值運算式,列舉兩個運算式之間的距離。
範例
本節包含如何使用此查詢語言建構的範例。
計算點與點之間的距離
在此範例中,該 ST_DISTANCE 函數用於計算辦公位置與參考點之間的距離,並傳回以公里為單位的結果。
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 規格要求以逆時針順序指定多邊形內的點。 以順時針順序指定的多邊形代表其中區域的倒數。