Open In App

How to get Geolocation in Python?

Last Updated : 06 Sep, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss on how to get Geolocation when you enter any location name and it gives all the useful information such as postal code, city, state, country etc. with the latitudes and the longitudes (the specific coordinates) and vice-versa in which we provide the coordinates to get the location name.

This can be done using the GeoPy library in python. This library isn’t built into python and hence needs to be installed explicitly.

Installation

In your terminal, simply run the given command:

pip install geopy

Method 1: Getting coordinates from location name

With provided location, it is possible using geopy to extract the coordinates meaning its latitude and longitude. Therefore, it can be used to express the location in terms of coordinates.

Approach

  • Import module
  • Import Nominatim from geopy- Nominatim is a free service or tool or can be called an API with no keys that provide you with the data after providing it with name and address and vice versa.
  • On calling the Nomination tool which accepts an argument of user_agent you can give any name as it considers it to be the name of the app to which it is providing its services.
  • The geocode() function accepts the location name and returns a geodataframe that has all the details and since it’s a dataframe we can get the address, latitude and longitude by simply calling it with the given syntax

Syntax:

variablename.address 

variablename.latitude 

variablename.longitude.

Example:

Python3




# importing geopy library
from geopy.geocoders import Nominatim
 
# calling the Nominatim tool
loc = Nominatim(user_agent="GetLoc")
 
# entering the location name
getLoc = loc.geocode("Gosainganj Lucknow")
 
# printing address
print(getLoc.address)
 
# printing latitude and longitude
print("Latitude = ", getLoc.latitude, "\n")
print("Longitude = ", getLoc.longitude)


Output:

Method 2: Getting location name from latitude and longitude

In this method all the things are same as the above, the only difference is instead of using the geocode function we will now use the reverse() method which accepts the coordinates (latitude and longitude) as the argument, this method gives the address after providing it with the coordinates.

Syntax:

reverse(latitude,longitude)

Approach

  • Import module
  • Call nominatim tool
  • Pass latitude and longitude to reverse()
  • Print location name

Example:

Python3




# importing modules
from geopy.geocoders import Nominatim
 
# calling the nominatim tool
geoLoc = Nominatim(user_agent="GetLoc")
 
# passing the coordinates
locname = geoLoc.reverse("26.7674446, 81.109758")
 
# printing the address/location name
print(locname.address)


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads