Previous: dist 距離 Up: mcal Next: dow 曜日 MCMD2
MCMD2 : mcal : distgps GPS距離

4.35 distgps GPS距離

書式: distgps(緯度1,経度1,緯度2,経度2[,方位])

2地点の緯度経度座標からその直線距離(km単位)を求める。 緯度経度は10進表記で与える。 地球の球状を考慮した計算を行っている。 緯度経度の指定は、60進表記には対応しておらず10進表記に変換しておくことが必要である。 60進法で表記された度分秒をそれぞれ$d,m,s$とすると、 10進の座標は$d+m/60+s/60/60$で計算できる。

また方位については、北緯と東経はプラスで表記し、南緯と西経はマイナスで表記する。

例えば、大阪駅(北緯34.702398,東経135.495188),東京駅間(北緯35.681391,東経139.766103)の距離を求めるには 以下のとおり指定すればよい。

distgps(34.702398,135.495188,35.681391,139.766103)

またエベレスト(北緯32.655556,東経79.015833),からアコンカグア(南緯27.987778,西経86.944444)の距離は、以下のとおり指定すればよい。

distgps(32.655556,79.015833,-27.987778,-86.944444)

利用例

例1: 基本例

$ more dat1.csv
point1,point2,lat1,lon1,lat2,lon2
osaka,tenma,34.702398,135.495188,34.704923,135.512233
osaka,tokyo,34.702398,135.495188,35.681391,139.766103
osaka,kobe,34.702398,135.495188,34.679453,135.178221
osaka,Fuji,34.702398,135.495188,35.360556,138.727500
Evelest,Aconcagua,32.655556,79.015833,-27.987778,-86.944444
Denali,Kilimanjaro,63.069444,-151.007222,-3.075833,37.353333
$ mcal c='distgps(${lat1},${lon1},${lat2},${lon2})' a=rsl i=dat1.csv o=rsl1.csv
#END# kgcal a=rsl c=distgps(${lat1},${lon1},${lat2},${lon2}) i=dat1.csv o=rsl1.csv
$ more rsl1.csv
point1,point2,lat1,lon1,lat2,lon2,rsl
osaka,tenma,34.702398,135.495188,34.704923,135.512233,1.585046048
osaka,tokyo,34.702398,135.495188,35.681391,139.766103,405.774306
osaka,kobe,34.702398,135.495188,34.679453,135.178221,29.12042213
osaka,Fuji,34.702398,135.495188,35.360556,138.727500,304.7527532
Evelest,Aconcagua,32.655556,79.015833,-27.987778,-86.944444,16956.12242
Denali,Kilimanjaro,63.069444,-151.007222,-3.075833,37.353333,11362.37758
Previous: dist 距離 Up: mcal Next: dow 曜日 MCMD2