Calculating line direction
In addition to distance, you will often want to know the bearing of a line between its endpoints. We can calculate this line direction from one of the points using only the Python math
module:
- First, we import the
math
functions we’ll need:from math import atan2, cos, sin, degrees
- Next, we set up some variables for our two points:
lon1 = -90.21 lat1 = 32.31 lon2 = -88.95 lat2 = 30.43
- Then, we’ll calculate the angle between the two points:
angle = atan2(cos(lat1)*sin(lat2)-sin(lat1) * \ cos(lat2)*cos(lon2-lon1), sin(lon2-lon1)*cos(lat2))
- Finally, we’ll calculate the bearing of the line in degrees:
bearing = (degrees(angle) + 360) % 360 print(bearing)
The output is 309.3672990606595 degrees.
Sometimes, you end up with a negative bearing value. To avoid this issue, we add 360 to the result to avoid a negative number and use the Python...