# Create a new point from a reference point, degree and distance

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.

• Do you want to do the calculation on the plane, or on an ellipsoid/spheriod (if so, which one)? 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. Commented Dec 23, 2015 at 1:14

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)
``````