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, 2019 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, 2019 at 20:39
  • Awesome. I shall have a look. I wish turfjs could be a py implementation.
    – Gandalf
    Nov 2, 2019 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, 2019 at 2:37
  • Thanks @Vince the Forward (or Direct) Problem of Geodesy is new term. Thanks for sharing.
    – Gandalf
    Nov 3, 2019 at 15:36

1 Answer 1

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.