geo_distance_2points()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
計算地球上兩個地理空間座標之間的最短距離。
語法
geo_distance_2points(
,
p1_longitude p1_latitude,
p2_longitude p2_latitude,
)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
p1_longitude | real |
✔️ | 第一個地理空間座標的經度值。 有效的值位於範圍 [-180, +180]。 |
p1_latitude | real |
✔️ | 第一個地理空間座標的緯度值。 有效的值位於範圍 [-90, +90]。 |
p2_longitude | real |
✔️ | 第二個地理空間座標的經度值。 有效的值位於範圍 [-180, +180]。 |
p2_latitude | real |
✔️ | 第二個地理空間座標的緯度值。 有效的值位於範圍 [-90, +90]。 |
傳回
地球上兩個地理位置之間的最短距離,以公尺為單位。 如果座標無效,查詢會產生 Null 結果。
範例
下列範例會尋找西雅圖和洛杉磯之間的最短距離。
print distance_in_meters = geo_distance_2points(-122.407628, 47.578557, -118.275287, 34.019056)
輸出
distance_in_meters |
---|
1546754.35197381 |
下列範例會尋找從西雅圖到倫敦最短路徑的近似值。 該線由LineString和500公尺內的座標組成。
range i from 1 to 1000000 step 1
| project lng = rand() * real(-122), lat = rand() * 90
| where lng between(real(-122) .. 0) and lat between(47 .. 90)
| where geo_distance_point_to_line(lng,lat,dynamic({"type":"LineString","coordinates":[[-122,47],[0,51]]})) < 500
| render scatterchart with (kind=map)
輸出
下列範例會尋找兩個座標之間的最短距離介於一公尺到11公尺之間的所有數據列。
StormEvents
| extend distance_1_to_11m = geo_distance_2points(BeginLon, BeginLat, EndLon, EndLat)
| where distance_1_to_11m between (1 .. 11)
| project distance_1_to_11m
輸出
distance_1_to_11m |
---|
10.5723100154958 |
7.92153588248414 |
下列範例會傳回 Null 結果,因為座標輸入無效。
print distance = geo_distance_2points(300,1,1,1)
輸出
distance |
---|