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 | サポートされていない単位文字列が指定された場合 |
使用例
-
2 点間の距離をデフォルト単位(km)で計算します。
json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503) | # d: 1150.6201676325247 -
マイル単位で距離を計算します。
json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503, "mile") | # d: 714.9622253741429 -
海里単位で距離を計算します。
json "{}" | eval d = geodist(37.5665, 126.9780, 35.6762, 139.6503, "nmile") | # d: 621.2851877065468 -
NULL 入力
json "{}" | eval d = geodist(null, 126.9780, 35.6762, 139.6503) | # d: null
変更履歴
geodist() 関数は Sonar 4.0 より前のバージョンから提供されています。