geodist()

2 つの地理座標間の距離を計算します。Haversine 公式を使用して球面距離を計算します。

構文

geodist(LAT1, LON1, LAT2, LON2[, UNIT])

パラメータ

LAT1
1 つ目の地点の緯度(度単位)。数値型でなければなりません。
LON1
1 つ目の地点の経度(度単位)。数値型でなければなりません。
LAT2
2 つ目の地点の緯度(度単位)。数値型でなければなりません。
LON2
2 つ目の地点の経度(度単位)。数値型でなければなりません。
UNIT
距離単位の文字列。"km"(キロメートル)、"mile" または "mi"(マイル)、"nmile"(海里)のいずれかを指定します。省略した場合はキロメートル("km")で計算します。

説明

geodist() 関数は、緯度・経度の座標 2 組を受け取り、2 点間の距離を返します。地球の半径を 6378 km と仮定した Haversine 公式で距離を計算し、結果の型は 64 ビット実数です。

パラメータのいずれかが数値型でないか null の場合は null を返します。

エラーコード

エラーコード説明
91040サポートされていない単位文字列が指定された場合

使用例

  1. 2 点間の距離をデフォルト単位(km)で計算します。

    json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503)
    | # d: 1150.6201676325247
    
  2. マイル単位で距離を計算します。

    json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503, "mile")
    | # d: 714.9622253741429
    
  3. 海里単位で距離を計算します。

    json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503, "nmile")
    | # d: 621.2851877065468
    
  4. NULL 入力

    json "{}" | eval d = geodist(null, 126.9780, 35.6762, 139.6503)
    | # d: null
    

変更履歴

geodist() 関数は Sonar 4.0 より前のバージョンから提供されています。