## Python 3 Geopy Tkinter GUI Script to Calculate Distance Between Two Countries or Cities or States in KM Full Project For Beginners Welcome folks today in this blog post we will be `calculating distance between countries` in km in tkinter using python. All the full source code of the application is shown below.

# Get Started

In order to get started you need to install the following library using the `pip` command as shown below

`pip install tkinter`

`pip install geopy`

After installing the library you need to make an `app.py` file and copy paste the following code

`app.py`

``````# import module
from geopy.geocoders import Nominatim
from geopy import distance

# initialize Nominatim API
geolocator = Nominatim(user_agent="geoapiExercises")

# place input
Input_place1 = "delhi"
Input_place2 = "patna"

# Get location of the input strings
place1 = geolocator.geocode(Input_place1)
place2 = geolocator.geocode(Input_place2)

# Get latitude and longitude
Loc1_lat, Loc1_lon = (place1.latitude), (place1.longitude)
Loc2_lat, Loc2_lon = (place2.latitude), (place2.longitude)

location1 = (Loc1_lat, Loc1_lon)
location2 = (Loc2_lat, Loc2_lon)

# display the distance
print(distance.distance(location1, location2).km, " kms")``````

See also  Python 3 Tkinter Flappy Bird Clone Script GUI Desktop App Full Project For Beginners

Now if you execute the `python` script by typing the below command

`python app.py` Now we can build the same application using `tkinter` by copying the python code as given below

`app.py`

``````# import modules
from tkinter import *
from geopy.geocoders import Nominatim
from geopy import distance

# user defined funtion
def get_dis():
try:

geolocator = Nominatim(user_agent="geoapiExercises")

place1 = geolocator.geocode(str(e1.get()))
place2 = geolocator.geocode(str(e2.get()))

Loc1_lat,Loc1_lon = (place1.latitude),(place1.longitude)
Loc2_lat,Loc2_lon = (place2.latitude),(place2.longitude)

location1=(Loc1_lat,Loc1_lon)
location2=(Loc2_lat,Loc2_lon)

res = (str(distance.distance(location1, location2).km)+" Km")

result.set(res)
except:
result.set("someting went wrong")

# object of tkinter
# with background set to light grey
master = Tk()
master.configure(bg='light grey')
master.title("Find Distance")

# Variable Classes in tkinter
result = StringVar();

# Creating label for each information
# name using widget Label
Label(master, text="Enter first place : " , bg = "light grey").grid(row=1, sticky=W)
Label(master, text="Enter secound place : " , bg = "light grey").grid(row=2, sticky=W)

Label(master, text="Result :", bg = "light grey").grid(row=3, sticky=W)

# Creating label for class variable
# name using widget Entry
Label(master, text="", textvariable=result,bg = "light grey").grid(row=3,column=1, sticky=W)

e1 = Entry(master,width = 50)
e1.grid(row=1, column=1)
e2 = Entry(master,width = 50)
e2.grid(row=2, column=1)

# creating a button using the widget
b = Button(master, text="Check", command=get_dis, bg = "white") 