Home » How to Get the geolocation data in Python

How to Get the geolocation data in Python

1 Year Subscription
Oracle Java Certification
Java SE 11 Programmer II [1Z0-816] Practice Tests
Java SE 11 Programmer I [1Z0-815] Practice Tests
Spring Framework Basics Video Course
Java SE 11 Developer (Upgrade) [1Z0-817]

In this article we look at  a python library for

geopy is a Python client for several popular geocoding web services.

geopy makes it easy for Python developers to locate the coordinates of addresses, cities, countries, and landmarks across the globe using third-party geocoders and other data sources.

Examples

This is a basic example

from geopy.geocoders import Nominatim  
geo_locator = Nominatim(user_agent = "geoapitest")

place_1 = "1964 Independence Ave SW"
location = geo_locator.geocode(place_1)  

print(location.address)
print(location.latitude, location.longitude)

data_1 = location.raw  
print (data_1)  
location_data = data_1['display_name'].split()  
print ("\nThe Full Location is: ")  
print (location_data)  
print ("The Zip code of the location is: ", location_data[-3])  

This is what i saw

>>> %Run geopyexample.py
World War II Memorial, 1964, Independence Avenue Southwest, Washington, District of Columbia, 20227, United States
38.88939505 -77.04030796874613
{'place_id': 117595764, 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright', 'osm_type': 'way', 'osm_id': 66418767, 'boundingbox': ['38.8888538', '38.889936', '-77.0410642', '-77.0395553'], 'lat': '38.88939505', 'lon': '-77.04030796874613', 'display_name': 'World War II Memorial, 1964, Independence Avenue Southwest, Washington, District of Columbia, 20227, United States', 'class': 'tourism', 'type': 'attraction', 'importance': 0.7129612447715932, 'icon': 'https://nominatim.openstreetmap.org/ui/mapicons//poi_point_of_interest.p.20.png'}

The Full Location is: 
['World', 'War', 'II', 'Memorial,', '1964,', 'Independence', 'Avenue', 'Southwest,', 'Washington,', 'District', 'of', 'Columbia,', '20227,', 'United', 'States']
The Zip code of the location is:  20227,

coordinates example

To find the address corresponding to a set of coordinates:

from geopy.geocoders import Nominatim  
geo_locator = Nominatim(user_agent = "geoapitest")

location = geo_locator.reverse("38.88939505, -77.04030796874613")

print(location.address)

This is what i saw

>>> %Run geopycoords.py
World War II Memorial, 1964, Independence Avenue Southwest, Washington, District of Columbia, 20227, United States

Measure distance example

To find the address corresponding to a set of coordinates:

from geopy.distance import geodesic

newyork_ny = (40.7127281, -74.0060152)
sanfrancisco_ca = (37.15587905455899, -122.20509662089846)

print(geodesic(newyork_ny, sanfrancisco_ca).miles)

This is what i saw

>>> %Run geopydistance.py
2575.809071609786

Links

github code link

documentation link

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More