gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:27:22 25 4
gpt4 key购买 nike

在 ruby​​/rails 中是否有一种简单的、非数学类的和确定的方法来执行此操作,其中输入是:

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

输出是一个新的地理坐标

我看过 Ruby Geocoder Gem ,但它不会这样做。

谢谢!

最佳答案

在 Google 中首次搜索“距离方位”: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

关于ruby - Rails/ruby 从起点使用给定距离和方位计算新坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12094484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com