Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mendapatkan maklumat geolokasi dalam Python?
Terdapat banyak perpustakaan Python tersedia yang menyediakan perkhidmatan geolokasi, terutamanya modul geopi, yang membolehkan pengaturcara membuat geokod dan membalikkan alamat dan tempat geokod. Pengiraan jarak antara dua titik menjadi lebih mudah dengan pakej geopi, yang turut menyediakan pengiraan jarak antara dua titik.
Terdapat beberapa perpustakaan untuk bekerja dengan data geografi dalam Python, termasuk GeoDjango, GeoPandas dan PyProj. Perpustakaan ini memudahkan pengaturcara bekerja dengan data geografi seperti titik, garisan dan poligon, membolehkan mereka mereka bentuk aplikasi yang memerlukan pemetaan dan analisis spatial.
Anda boleh menggunakan perpustakaan geopi dalam Python untuk mendapatkan lokasi geografi. Langkah-langkah berikut membimbing yoo untuk mendapatkan geolokasi dalam Python -
Dalam command prompt atau terminal anda, masukkan pip install geopy untuk memasang pustaka Geopy.
Import modul perpustakaan Geopy yang diperlukan. Kelas Nominatim digunakan untuk geocoding, dan kelas Point digunakan untuk mewakili titik geografi.
from geopy.geocoders import Nominatim from geopy.point import Point
Buat objek kelas Nominatim yang membolehkan anda melakukan pengekodan geo. Untuk menentukan program anda, anda boleh menghantar rentetan ejen pengguna.
Untuk geokod alamat atau lokasi, gunakan kaedah geokod kelas Nominatim. Lokasi yang anda ingin geokod disediakan oleh kaedah ini sebagai rentetan.
geolocator = Nominatim(user_agent="my_app") location = geolocator.geocode("1600 Amphitheatre Parkway, Mountain View, CA")
Objek lokasi yang mengandungi maklumat terperinci tentang lokasi geokod adalah hasil daripada fungsi geokod. Sifat latitud dan longitud objek Titik memberikan akses kepada koordinat latitud dan longitud lokasi.
point = Point(location.latitude, location.longitude)
Menggunakan Anda boleh mengekstrak koordinat atau latitud dan longitud tempat tertentu menggunakan geopi. Untuk menggunakan koordinat untuk mewakili lokasi, anda boleh menggunakannya.
# importing geopy library from geopy.geocoders import Nominatim # calling the Nominatim tool loc = Nominatim(user_agent="Get Prayagraj") # entering the location name getLoc = loc.geocode("Civil Lines Prayagraj") # printing address print(getLoc.address) # printing latitude and longitude print("Latitude = ", getLoc.latitude, "\n") print("Longitude = ", getLoc.longitude)
Civil Lines Prayagraj , Uttar Pradesh , 211001 , India Latitude =25.454479 Longitude = 81.8338255
Kaedah ini betul-betul sama dengan yang di atas; satu-satunya perbezaan ialah kita kini akan menggunakan kaedah reverse(), yang menerima koordinat (latitud dan longitud) sebagai parameter, bukannya fungsi geokod. Kaedah ini mengembalikan alamat selepas menerima koordinat.
# importing modules from geopy.geocoders import Nominatim # calling the nominatim tool geoLoc = Nominatim(user_agent="GetPrayagraj") # passing the coordinates locname = geoLoc.reverse("26.7674446, 81.109758") # printing the address/location name print(locname.address)
Vinayak City Centre , Tashkant Marg , Civil Lines , Prayagraj , Uttar Pradesh , 211001 , India
API Peta Google ialah salah satu cara paling popular dan mesra pengguna untuk mendapatkan data geolokasi dalam Python, tetapi terdapat pilihan lain. Kami boleh mendapatkan koordinat longitud dan latitud bagi mana-mana alamat dengan cepat dengan memasang pustaka googlemaps dan menyediakan kunci API yang sah. OpenStreetMap API dan pustaka GeoPy ialah pilihan lain yang mungkin.
Keselamatan dan fleksibiliti. Dengan mengikuti beberapa langkah mudah, pembangun boleh mentakrifkan penghias tersuai dan menerapkannya pada paparan untuk mengubah suai tingkah lakunya atau menguatkuasakan kawalan akses.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan maklumat geolokasi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!