加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Rails / ruby??使用给定距离和从起点开始的方位计算新坐标

发布时间:2020-12-17 02:44:10 所属栏目:百科 来源:网络整理
导读:在 ruby / rails中有一个简单的非数学类和确定的方法,输入是: 1) An Initial Geo-Coordinate 2) A Bearing3) A Distance in the Bearing's Direction 输出是一个新的地理坐标 我看过Ruby Geocoder Gem,但它没有这样做. 谢谢! 解决方法 谷歌的“距离承载”
在 ruby / rails中有一个简单的非数学类和确定的方法,输入是:

1) An Initial Geo-Coordinate 
2) A Bearing
3) A Distance in the Bearing's Direction

输出是一个新的地理坐标

我看过Ruby Geocoder Gem,但它没有这样做.

谢谢!

解决方法

谷歌的“距离承载”首次出现: Calculate distance,bearing and more between Latitude/Longitude points

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读