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

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

Sep 21, 2023 am 09:53 AM
geolocation(地理位置)python(python程式語言)libraries(庫)

如何在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。如有侵權,請聯絡admin@php.cn刪除
您如何切成python陣列?您如何切成python陣列?May 01, 2025 am 12:18 AM

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

在什麼情況下,列表的表現比數組表現更好?在什麼情況下,列表的表現比數組表現更好?May 01, 2025 am 12:06 AM

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

如何將Python數組轉換為Python列表?如何將Python數組轉換為Python列表?May 01, 2025 am 12:05 AM

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。

當Python中存在列表時,使用數組的目的是什麼?當Python中存在列表時,使用數組的目的是什麼?May 01, 2025 am 12:04 AM

choosearraysoverlistsinpythonforbetterperformanceandmemoryfliceSpecificScenarios.1)largenumericaldatasets:arraysreducememoryusage.2)績效 - 臨界雜貨:arraysoffersoffersOffersOffersOffersPoostSfoostSforsssfortasssfortaskslikeappensearch orearch.3)testessenforcety:arraysenforce:arraysenforc

說明如何通過列表和數組的元素迭代。說明如何通過列表和數組的元素迭代。May 01, 2025 am 12:01 AM

在Python中,可以使用for循環、enumerate和列表推導式遍歷列表;在Java中,可以使用傳統for循環和增強for循環遍歷數組。 1.Python列表遍歷方法包括:for循環、enumerate和列表推導式。 2.Java數組遍歷方法包括:傳統for循環和增強for循環。

什麼是Python Switch語句?什麼是Python Switch語句?Apr 30, 2025 pm 02:08 PM

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中有什麼例外組?Python中有什麼例外組?Apr 30, 2025 pm 02:07 PM

Python 3.11中的異常組允許同時處理多個異常,從而改善了並發方案和復雜操作中的錯誤管理。

Python中的功能註釋是什麼?Python中的功能註釋是什麼?Apr 30, 2025 pm 02:06 PM

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境