計算すると言いながら、自分で計算するわけではありません。国土地理院のAPI を利用させてもらうだけです。
入力は世界測地系の10進緯度経度(xx.yyyyy度)です。出力はJSON形式としました。
#!/bin/bash lat1=`getparstr $# "$*" "lat1"` #出発点緯度 lon1=`getparstr $# "$*" "lon1"` #出発点経度 lat2=`getparstr $# "$*" "lat2"` #到着点緯度 lon2=`getparstr $# "$*" "lon2"` #到着点経度 output=`\ wget "http://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/bl2st_calc.pl?\ outputType=json&ellipsoid=GRS80&\ latitude1=${lat1}&\ longitude1=${lon1}&\ latitude2=${lat2}&\ longitude2=${lon2}" -q -O /dev/stdout` printf "%s\n" ${output}
例えばdistGSIという名前にするならば、
といった具合に、東京駅(北緯35.6816度、東経139.7677度)と神田駅(北緯35.6918度、東経139.7706度)間の距離が1169mである、と求めることができます。
下段のようにjqコマンドも活用すれば、修飾なしの距離の値を取り出すこともできます。