0
私はこれをGoogleマップでテストしましたが、正当なものです。しかし、私は式を正しく理解しているかどうかはよく分かりません。東と西は* 90
ではなく* 180
である必要がありますか?これは、すべての方向の緯度/経度(NSEW)を計算する正しい方法ですか?
EARTH_RAD = 6378
...
def calculate_distance(lat, lon, direction)
case direction
when :north
lat = (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90 + lat
[lat, lon]
when :south
lat = (lat - (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90)
[lat, lon]
when :east
lon = (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90 + lon
[lat, lon]
when :west
lon = (lon - (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90)
[lat, lon]
end
end