Python使用gmplot創(chuàng)建動(dòng)態(tài)地圖可視化
什么是 gmplot?
gmplot 是一個(gè) Python 庫(kù),用于基于 Google Maps 的靜態(tài)地圖生成可視化。它提供簡(jiǎn)單的 API 來繪制標(biāo)記、路徑、熱力圖等地理信息數(shù)據(jù)。
通過 gmplot,用戶可以輕松地在 Google Maps 上生成并保存 HTML 格式的靜態(tài)地圖,并在瀏覽器中查看。
gmplot 的安裝
要安裝 gmplot,可以使用以下命令:
pip install gmplot
創(chuàng)建一個(gè)基本地圖
以下是繪制基本地圖的簡(jiǎn)單示例:
from gmplot import gmplot
# 初始化地圖,設(shè)置中心坐標(biāo)和縮放級(jí)別
gmap = gmplot.GoogleMapPlotter(37.7749, -122.4194, 13) # 舊金山
# 保存為 HTML 文件
gmap.draw("basic_map.html")
打開 basic_map.html 文件即可在瀏覽器中查看生成的地圖。
添加標(biāo)記和圖層
1. 在地圖上添加標(biāo)記點(diǎn)
可以在地圖上繪制多個(gè)標(biāo)記點(diǎn),例如城市、地點(diǎn)等。
# 初始化地圖
gmap = gmplot.GoogleMapPlotter(37.7749, -122.4194, 13)
# 添加標(biāo)記點(diǎn)
latitude_list = [37.7749, 37.7849, 37.7649]
longitude_list = [-122.4194, -122.4294, -122.4094]
gmap.scatter(latitude_list, longitude_list, color='red', size=40, marker=True)
# 保存地圖
gmap.draw("scatter_map.html")
2. 繪制路徑
可以繪制兩點(diǎn)之間的路徑,例如步行路線、車行路線等。
# 經(jīng)緯度列表
path_latitudes = [37.7749, 37.7849, 37.7649]
path_longitudes = [-122.4194, -122.4294, -122.4094]
# 繪制路徑
gmap.plot(path_latitudes, path_longitudes, 'blue', edge_width=2.5)
# 保存地圖
gmap.draw("path_map.html")
3. 添加多邊形
繪制多邊形可以用于標(biāo)記區(qū)域。
# 多邊形的坐標(biāo)
polygon_latitudes = [37.7749, 37.7849, 37.7649, 37.7749]
polygon_longitudes = [-122.4194, -122.4294, -122.4094, -122.4194]
# 繪制多邊形
gmap.polygon(polygon_latitudes, polygon_longitudes, color='green')
# 保存地圖
gmap.draw("polygon_map.html")
添加熱力圖
熱力圖是數(shù)據(jù)密度可視化的一種方式,gmplot 提供了非常簡(jiǎn)單的 API。
# 數(shù)據(jù)點(diǎn)(通常用于熱力圖)
heatmap_latitudes = [37.7749, 37.7849, 37.7649, 37.7549, 37.7449]
heatmap_longitudes = [-122.4194, -122.4294, -122.4094, -122.3994, -122.3894]
# 添加熱力圖
gmap.heatmap(heatmap_latitudes, heatmap_longitudes)
# 保存地圖
gmap.draw("heatmap.html")
使用 Google Maps API 密鑰
從 Google Cloud Platform 獲取 Google Maps API 密鑰后,可以將其添加到 gmplot 中。這樣可以支持高級(jí)地圖功能。
from gmplot import gmplot
# 使用 API 密鑰初始化地圖
gmap = gmplot.GoogleMapPlotter(37.7749, -122.4194, 13, apikey="YOUR_API_KEY")
# 繪制散點(diǎn)
latitude_list = [37.7749, 37.7849, 37.7649]
longitude_list = [-122.4194, -122.4294, -122.4094]
gmap.scatter(latitude_list, longitude_list, color='red', size=40, marker=True)
# 保存地圖
gmap.draw("map_with_apikey.html")
自定義地圖樣式
gmplot 提供了一些自定義選項(xiàng),允許用戶調(diào)整地圖的樣式。
# 自定義地圖樣式
gmap.coloricon = "http://www.googlemapsmarkers.com/v1/%s/"
gmap.scatter([37.7749], [-122.4194], color='purple', marker=True)
# 保存地圖
gmap.draw("custom_style_map.html")
一個(gè)完整的示例
以下是結(jié)合多個(gè)功能的完整代碼示例:
from gmplot import gmplot
# 初始化地圖
gmap = gmplot.GoogleMapPlotter(37.7749, -122.4194, 13)
# 添加散點(diǎn)
latitude_list = [37.7749, 37.7849, 37.7649]
longitude_list = [-122.4194, -122.4294, -122.4094]
gmap.scatter(latitude_list, longitude_list, color='red', size=40, marker=True)
# 添加路徑
path_latitudes = [37.7749, 37.7849, 37.7649]
path_longitudes = [-122.4194, -122.4294, -122.4094]
gmap.plot(path_latitudes, path_longitudes, 'blue', edge_width=2.5)
# 添加熱力圖
heatmap_latitudes = [37.7749, 37.7849, 37.7649, 37.7549, 37.7449]
heatmap_longitudes = [-122.4194, -122.4294, -122.4094, -122.3994, -122.3894]
gmap.heatmap(heatmap_latitudes, heatmap_longitudes)
# 保存地圖
gmap.draw("complete_map.html")
gmplot 的優(yōu)勢(shì)和限制
優(yōu)勢(shì):
- 簡(jiǎn)單易用,適合快速生成地圖可視化。
- 支持多種功能,如熱力圖、路徑、多邊形等。
- 無需專業(yè) GIS 知識(shí)即可上手。
限制:
- 生成的地圖是靜態(tài)的,交互性較差。
- 對(duì)大數(shù)據(jù)集支持有限,處理大量數(shù)據(jù)時(shí)可能會(huì)遇到性能問題。
- 依賴 Google Maps API,如果需要高級(jí)功能,需獲取并設(shè)置 API 密鑰。
總結(jié)
gmplot 是一個(gè)輕量級(jí)的地理數(shù)據(jù)可視化工具,適合快速生成基于 Google Maps 的靜態(tài)地圖。如果你需要處理更復(fù)雜的地理數(shù)據(jù)或?qū)崿F(xiàn)動(dòng)態(tài)交互,可以結(jié)合其他庫(kù)(如 Folium 或 Plotly)使用。希望這篇文章能幫助你快速掌握 gmplot 的使用方法!
以上就是Python使用gmplot創(chuàng)建動(dòng)態(tài)地圖可視化的詳細(xì)內(nèi)容,更多關(guān)于Python gmplot動(dòng)態(tài)可視化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std的區(qū)別
Torch自稱為神經(jīng)網(wǎng)絡(luò)中的numpy,它會(huì)將torch產(chǎn)生的tensor放在GPU中加速運(yùn)算,就像numpy會(huì)把a(bǔ)rray放在CPU中加速運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Python?Numpy計(jì)算標(biāo)準(zhǔn)差之numpy.std和torch.std區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-08-08
Python上下文管理器類和上下文管理器裝飾器contextmanager用法實(shí)例分析
這篇文章主要介紹了Python上下文管理器類和上下文管理器裝飾器contextmanager用法,結(jié)合實(shí)例形式分析了上下文管理器類定義、使用、sqlalchemy實(shí)現(xiàn)數(shù)據(jù)庫(kù)的自動(dòng)提交和回滾相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
python使用xlsxwriter實(shí)現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了python使用xlsxwriter實(shí)現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
Python Pydantic進(jìn)行數(shù)據(jù)驗(yàn)證的方法詳解
在 Python 中,有許多庫(kù)可用于數(shù)據(jù)驗(yàn)證和處理,其中一個(gè)流行的選擇是 Pydantic,下面就跟隨小編一起學(xué)習(xí)一下Pydantic 的基本概念和用法吧2024-01-01
對(duì)Python中l(wèi)ist的倒序索引和切片實(shí)例講解
今天小編就為大家分享一篇對(duì)Python中l(wèi)ist的倒序索引和切片實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe文件全過程
pyinstaller是一個(gè)支持跨平臺(tái)使用的第三方庫(kù),它可以將腳本執(zhí)行所需的模塊和庫(kù),自動(dòng)分析、收集并生成一個(gè)文件夾或者可執(zhí)行文件,這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境下使用pyinstaller打包程序?yàn)閑xe文件的相關(guān)資料,需要的朋友可以參考下2023-12-12
使用Python解壓各種壓縮文件的代碼實(shí)現(xiàn)
本文介紹通過文件頭(Magic Number)識(shí)別壓縮類型的方法,支持ZIP、TAR、GZ、BZ2、RAR、7Z等格式,需第三方庫(kù)輔助,并需處理路徑安全、大文件流式解壓及異常情況,實(shí)現(xiàn)更可靠的自動(dòng)解壓方案,需要的朋友可以參考下2025-09-09
對(duì)Python 簡(jiǎn)單串口收發(fā)GUI界面的實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python 簡(jiǎn)單串口收發(fā)GUI界面的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06

