有許多提供地理定位服務的Python庫可用,特別是geopy模組,它使程式設計師能夠對地址和地點進行地理編碼和反向地理編碼。透過geopy包,計算兩點之間的距離變得更簡單,它還提供了兩點之間的距離計算。
有幾個函式庫可以在Python中處理地理數據,包括GeoDjango、GeoPandas和PyProj。這些函式庫使程式設計師更容易處理地理數據,如點、線和多邊形,從而可以設計需要地圖和空間分析的應用程式。
Python 中可以使用 geopy 函式庫來取得地理位置。以下步驟指引 yoo 在 Python 中取得地理定位 -
在您的命令提示字元或終端機中,輸入 pip install geopy 以安裝 Geopy 庫。
匯入所需的Geopy庫模組。 Nominatim類別用於地理編碼,Point類別用於表示地理點。
from geopy.geocoders import Nominatim from geopy.point import Point
建立一個 Nominatim 類別對象,這將使您能夠執行地理編碼。為了指定您的程序,您可以傳入用戶代理字串。
要對位址或位置進行地理編碼,請使用Nominatim類別的geocode方法。您想要進行地理編碼的地點由該方法提供為字串。
geolocator = Nominatim(user_agent="my_app") location = geolocator.geocode("1600 Amphitheatre Parkway, Mountain View, CA")
一個包含有關地理編碼位置的詳細資訊的Location物件是geocode函數的結果。 Point物件的latitude和longitude屬性提供對位置的緯度和經度座標的存取。
point = Point(location.latitude, location.longitude)
使用可以使用 geopy 提取給定地點的座標或緯度和經度。為了使用座標來表示位置,可以採用它。
# 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
這種方法與上面的方法完全相同;唯一的區別是我們現在將使用reverse()方法,該方法接收座標(緯度和經度)作為參數,取代geocode函數。此方法在接收到座標後傳回地址。
# 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
Google Maps API是Python中最受歡迎和用戶友好的獲取地理位置資料的方法之一,但還有其他選擇。我們可以透過安裝googlemaps庫並提供有效的API金鑰,快速取得任何位址的經度和緯度座標。 OpenStreetMap API和GeoPy函式庫是其他可能的選擇。
安全性和靈活性。透過遵循幾個簡單的步驟,開發人員可以定義自訂裝飾器並將其應用於視圖以修改其行為或強制存取控制。
以上是如何在Python中取得地理位置資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!