-
Notifications
You must be signed in to change notification settings - Fork 490
/
Copy pathmain.py
38 lines (30 loc) · 1.36 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import argparse
from geopy.geocoders import Nominatim
from geopy import distance
def location():
""" A program to calculate distance between two geo-locations
Parameters:
firstlocation (str): The starting location of user
secondlocation (str): The final location of user
"""
geolocator = Nominatim(user_agent="geoapiExercises")
parser = argparse.ArgumentParser()
parser.add_argument('--firstlocation', type=str, required=True)
parser.add_argument('--secondlocation', type=str, required=True)
args = parser.parse_args()
# calculating longitude and latitude of entered locations """
try:
first_location = geolocator.geocode(args.firstlocation)
second_location = geolocator.geocode(args.secondlocation)
Loc1_lat,Loc1_lon = (first_location.latitude),(first_location.longitude)
Loc2_lat,Loc2_lon = (second_location.latitude),(second_location.longitude)
location1=(Loc1_lat,Loc1_lon)
location2=(Loc2_lat,Loc2_lon)
# calculating and printing distance between locations in Kilometers and Miles."""
res = ((distance.distance(location1, location2).km))
distance_miles = float(res)*0.621371
print (f"The total distance is: {res} Km , {distance_miles} Miles")
except:
print("Invalid Location")
if __name__ == "__main__":
location()