# Drone Programming - Distance and Bearing calculation between two geo-locations using python

March 8, 2021 in Aerospace, Programming by Dhulkarnayn4 minutes

Navigation Systems, including the Global Positioning System (GPS), are crucial for both Manned and Unmanned Aircraft Systems. In GPS, positional data is represented in Geographic Coordinates System (Latitudes and Longitudes). Navigating between two points on the Earth’s spherical surface can be complex, and this complexity is addressed using the haversine formula.

Image Credits: People illustrations by Storyset

## The Haversine Formula#

The haversine formula, an essential equation in navigation, calculates great-circle distances between two points on a sphere based on their latitudes and longitudes.

Image Credits: CheCheDaWaff, CC BY-SA 4.0, via Wikimedia Commons

The diagram above depicts the great-circle distance (highlighted in red) between two points on a sphere, namely P and Q. Additionally, the illustration includes two antipodal points, denoted as u and v.

Note

If you’re interested in delving deeper into the Haversine formula and understanding its formulation, you can explore the Wikipedia page dedicated to it. The page provides detailed insights into the formula and introduces the Law of Haversines:

This valuable resource can enhance your understanding of the mathematical principles behind the Haversine formula and its significance in navigation calculations.

## Program: Distance and bearing between two geographic locations#

Below mentioned code is a simple python program named `distance_bearing.py` that returns the distance using haversine formula and the bearing angle between two geographic locations,

## Execution & Output#

Execute the program as follows:

During execution, input the following values:

1. Home Latitude
2. Home Longitude
3. Destination Latitude
4. Destination Longitude

The output includes the calculated distance and bearing angle:

Image Credits: Dhulkarnayn, Elucidate Drones

## Conclusion#

Congratulations on exploring the intricacies of drone programming and understanding how to calculate distance and bearing between two geo-locations using Python! We’ve journeyed through the significance of navigation systems, the Haversine formula, and a practical Python implementation.

Now, it’s your turn! Your thoughts, questions, and suggestions are invaluable to us. What did you find most intriguing about this topic? Is there a specific aspect you’d like to explore further? Let’s keep the conversation going in the comments section below!

And remember, sharing is caring! If you’ve enjoyed this journey into drone programming, consider sharing it with your friends who might find it equally fascinating.

Thank you for being part of our exploration into the world of drone technology. Until next time, happy coding and safe flying!

Please consider supporting this project!

If this article has been of help to you, and you feel generous at the moment, don’t hesitate to buy us a coffee. It's an easy, fun and direct way to show your support — any amount of coffee is highly appreciated.