有許多提供地理定位服務的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)
登錄后復制
方法一:通過名稱獲取位置信息
Example – 1
的中文翻譯為:
示例 – 1
使用可以使用 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函數。該方法在接收到坐標后返回地址。
示例 – 2
# 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中獲取地理位置信息?的詳細內容,更多請關注www.xfxf.net其它相關文章!