入力があるルビー/レールでこれを行うための単純で非数学クラスの決定的な方法はありますか?
1) An Initial Geo-Coordinate
2) A Bearing
3) A Distance in the Bearing's Direction
出力は新しいGeo-Coordinate
Ruby Geocoder Gemを見てきましたが、これは行われません。
ありがとう!
入力があるルビー/レールでこれを行うための単純で非数学クラスの決定的な方法はありますか?
1) An Initial Geo-Coordinate
2) A Bearing
3) A Distance in the Bearing's Direction
出力は新しいGeo-Coordinate
Ruby Geocoder Gemを見てきましたが、これは行われません。
ありがとう!
Googleでの「距離方位」の最初のヒット:緯度/経度ポイント間の距離、方位などを計算します
JavaScriptコードはRubyで問題なく機能します。
lat1 = 0.9250245 # starting point's latitude (in radians)
lon1 = 0.0174532 # starting point's longitude (in radians)
brng = 1.67551 # bearing (in radians)
d = 124.8 # distance to travel in km
R = 6371.0 # earth's radius in km
lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) +
Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) )
# => 0.9227260710962849
lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),
Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2))
# => 0.0497295729068199
# NB. Ensure that all values are cast to floats