Rails / ruby ​​Calculation of new coordinates using the given distance and support from the starting point

Is there a simple, non-mathematical and final way to do this in ruby ​​/ rails, where the inputs are:

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

And the output is the new Geo-Coordinate

I looked at the Ruby Geocoder Gem , but it does not.

Thanks!

+4
source share
1 answer

The first hit for Google’s “distance support”: Calculate distance, alerts, and more between latitude / longitude points

JavaScript code works fine in Ruby:

 lat1 = 0.9250245 # starting point latitude (in radians) lon1 = 0.0174532 # starting point longitude (in radians) brng = 1.67551 # bearing (in radians) d = 124.8 # distance to travel in km R = 6371.0 # earth 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 
+6
source

All Articles