I'm trying to calculate the coordinate of endPoint using the lat/lon of startPoint as a reference. I know the distance between the start and end points and I know the azimuth to the endPoint. I found one example using Geod but i'd like to hopefully do this in python with Geos and with WGS84 or similar spheroid model.

enter image description here

  • 1
    Do you want to do the calculation on the plane, or on an ellipsoid/spheriod (if so, which one)?
    – BradHards
    Commented Dec 23, 2015 at 0:49
  • i was hoping to follow WGS84 or something similar.
    – J'e
    Commented Dec 23, 2015 at 1:01
  • There is a complexity / accuracy tradeoff here. It would help if you can edit your question to say what you really need.
    – BradHards
    Commented Dec 23, 2015 at 1:14

2 Answers 2


Why with Geos?

I've used pygc (based on Spheroid) for another Python solution (excerpt below)

from pygc import great_circle

# New point from initial point, distance, and azimuth

great_circle(distance=111000, azimuth=65, latitude=30, longitude=-74)
{'latitude': 30.41900364921926,
'longitude': -72.952930949727573,
'reverse_azimuth': 245.52686122611451}

You can also use QGIS "Azimuth and Distance Plugin"


Another method I found:

import pyproj

endLon, endLat, backAzimuth = pyproj.Geod(ellps='WGS84')
            .fwd(startLon, startLat, forwardAzimuth, distance)

See: http://jswhit.github.io/pyproj/pyproj.Geod-class.html#fwd

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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