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:

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.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
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.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.