1

I have this coordinates 52.3545362,4.7638767 which I got from a Google Maps search of Amsterdam.

URL

https://www.google.com/maps/place/Amsterdam,+Netherlands/@52.3545362,4.7638767,11z/data=!3m1!4b1!4m5!3m4!1s0x47c63fb5949a7755:0x6600fd4cb7c0af8d!8m2!3d52.3666969!4d4.8945398

Is there a formula I can use to get the coordinates if I were to move one meter from my current coordinates in any direction for instance,

What would be the new coordinates if I moved 1 meter westwards from the coordinate 52.3545362,4.7638767

If there is a way I can do this along known routes, it would be an added bonus.

5
  • That's more of a cartesian plane if i am not wrong. Does what she is showing apply in a radar if i wanted to calculate probable next point – Gandalf Nov 2 '19 at 20:14
  • There are many ways, for example: Turf.js library turfjs.org, online sites like geo.javawa.nl/coordcalc/index_en.html, doing your own calculation with formulas geomidpoint.com/destination/calculation.html – TomazicM Nov 2 '19 at 20:39
  • Awesome. I shall have a look. I wish turfjs could be a py implementation. – Gandalf Nov 2 '19 at 20:48
  • 1
    One meter is a tiny distance, only 0.9e-05 degrees to the north or south, and probably not more than 2.5e-05 east/west. The formal name to your task is the Forward (or Direct) Problem of Geodesy. Velocity is not part of the problem, only lat, lon, bearing, and distance. – Vince Nov 3 '19 at 2:37
  • Thanks @Vince the Forward (or Direct) Problem of Geodesy is new term. Thanks for sharing. – Gandalf Nov 3 '19 at 15:36
1

I found a Python library that does what I want

def destination(point, distance, bearing):

https://pypi.org/project/geo-py/

but as for now it doesnt have asynio support.

For a plain Python function adapted from here http://www.movable-type.co.uk/scripts/latlong.html

R = ... Radius of earth ...
def great_circle_destination(lon1, lat1, bearing, dist):
    lat2 = math.asin( math.sin(lat1)*math.cos(dist/R) + 
          math.cos(lat1)*math.sin(dist/R)*math.cos(bearing) )
    lon2 = lon1 + math.atan2(math.sin(bearing)*math.sin(dist/R)*math.cos(lat1), 
                 math.cos(dist/R)-math.sin(lat1)*math.sin(lat2)
    return lon2, lat2

Thanks to Ryan: https://stackoverflow.com/questions/18580414/great-circle-destination-formula-for-python

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.