首頁 > 後端開發 > Python教學 > 如何在Python中取得地理位置資訊?

如何在Python中取得地理位置資訊?

王林
發布: 2023-09-21 09:53:02
轉載
1505 人瀏覽過

如何在Python中取得地理位置資訊?

有許多提供地理定位服務的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中取得地理位置資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板