geopy adalah klien Python untuk beberapa layanan web geocoding populer.
geopy memudahkan pengembang Python untuk menemukan koordinat alamat, kota, negara, dan landmark di seluruh dunia menggunakan geocoder pihak ketiga dan sumber data lainnya.
geopy mencakup kelas geocoder untuk OpenStreetMap Nominatim, Google Geocoding API (V3), dan banyak layanan geocoding lainnya. Daftar lengkapnya tersedia di bagian dokumen Geocoders. Kelas Geocoder terletak di geopy.geocoders.
geopy diuji terhadap CPython (versi 3.7, 3.8, 3.9, 3.10, 3.11, 3.12) dan PyPy3. garis geopy 1.x juga mendukung CPython 2.7, 3.4 dan PyPy2.
© kontributor geopy 2006-2018 (lihat PENULIS) di bawah Lisensi MIT.
Instal menggunakan pip dengan:
pip instal geopy
Atau, unduh arsip roda atau sumber dari PyPI.
Untuk melakukan geolokasi kueri ke alamat dan koordinat:
>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim( user_agent = " specify_your_app_name_here " )
>>> location = geolocator.geocode( " 175 5th Avenue NYC " )
>>> print (location.address)
Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, ...
>>> print ((location.latitude, location.longitude))
(40.7410861, -73.9896297241625)
>>> print (location.raw)
{'place_id': '9167009604', 'type': 'attraction', ...}
Untuk menemukan alamat yang sesuai dengan sekumpulan koordinat:
>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim( user_agent = " specify_your_app_name_here " )
>>> location = geolocator.reverse( " 52.509669, 13.376294 " )
>>> print (location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
>>> print ((location.latitude, location.longitude))
(52.5094982, 13.3765983)
>>> print (location.raw)
{'place_id': '654513', 'osm_type': 'node', ...}
Geopy dapat menghitung jarak geodesik antara dua titik menggunakan jarak geodesik atau jarak lingkaran besar, dengan default jarak geodesik tersedia sebagai fungsi geopy.distance.distance.
Berikut ini contoh penggunaan jarak geodesik, dengan mengambil sepasang tupel (lat, lon)
:
>>> from geopy.distance import geodesic
>>> newport_ri = ( 41.49008 , - 71.312796 )
>>> cleveland_oh = ( 41.499498 , - 81.695391 )
>>> print (geodesic(newport_ri, cleveland_oh).miles)
538.390445368
Menggunakan jarak lingkaran besar, juga mengambil pasangan tupel (lat, lon)
:
>>> from geopy.distance import great_circle
>>> newport_ri = ( 41.49008 , - 71.312796 )
>>> cleveland_oh = ( 41.499498 , - 81.695391 )
>>> print (great_circle(newport_ri, cleveland_oh).miles)
536.997990696
Dokumentasi dan contoh selengkapnya dapat ditemukan di Baca Dokumen.