w3resource

Python Math: Distance between two points using latitude and longitude


27. Geodesic Distance Calculator

Write a Python program to calculate distance between two points using latitude and longitude.

Sample Solution:

Python Code:

from math import radians, sin, cos, acos

print("Input coordinates of two points:")
slat = radians(float(input("Starting latitude: ")))
slon = radians(float(input("Ending longitude: ")))
elat = radians(float(input("Starting latitude: ")))
elon = radians(float(input("Ending longitude: ")))

dist = 6371.01 * acos(sin(slat)*sin(elat) + cos(slat)*cos(elat)*cos(slon - elon))
print("The distance is %.2fkm." % dist)

Sample Output:

Input coordinates of two points:                                                                              
Starting latitude: 23.5                                                                                       
Ending longitude: 67.5                                                                                        
Starting latitude: 25.5                                                                                       
Ending longitude: 69.5                                                                                        
The distance is 300.67km.  

Flowchart:

Flowchart: Distance between two points using latitude and longitude

For more Practice: Solve these Related Problems:

  • Write a Python program to calculate the great-circle distance between two points given their latitudes and longitudes using the haversine formula.
  • Write a Python function that accepts coordinates for two points and returns the distance in kilometers, formatted to two decimal places.
  • Write a Python script to prompt the user for two sets of coordinates and then compute and print the distance between them using geodesic calculations.
  • Write a Python program to compare the distances calculated by two different geodesic formulas (e.g., haversine and Vincenty's) for the same coordinate pair.

Go to:


Previous: Write a Python program to print number with commas as thousands separators (from right side)?
Next: Write a python program to calculate the area of a regular polygon.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.