geo_distance_2points()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
地球上の 2 つの地理空間座標間の最短距離をメートル単位で計算します。
構文
geo_distance_2points(
p1_longitude,
p1_latitude,
p2_longitude,
p2_latitude)
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
p1_longitude | real |
✔️ | 最初の地理空間座標の経度値 (度単位)。 有効な値は [-180, +180] の範囲内です。 |
p1_latitude | real |
✔️ | 最初の地理空間座標の緯度値 (度単位)。 有効な値の範囲は [-90, +90] です。 |
p2_longitude | real |
✔️ | 2 番目の地理空間座標の経度値 (度単位)。 有効な値は [-180, +180] の範囲内です。 |
p2_latitude | real |
✔️ | 2 番目の地理空間座標の緯度値 (度単位)。 有効な値の範囲は [-90, +90] です。 |
返品
地球の2つのgeography 型の*場所同士を結ぶ最短距離 (メートル単位)。 座標が無効な場合、クエリによって 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)
出力
次の例では、2 つの座標間の最短距離が 1 メートルから 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 |
---|