geopandas輕松疊加在線底圖

點(diǎn)擊上方"藍(lán)字"關(guān)注我們
記錄? ?分享? ?成長
?本文示例文件已上傳至我的
?Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes
1 簡介
國慶期間,抽空給大家分享在geopandas中疊加各種在線瓦片底圖的方法,來制作出更多樣式的地圖作品。話不多說,我們直接進(jìn)入正題。

2 在geopandas中疊加在線地圖
我們需要配合contextily這個第三方庫來輔助geopandas疊加在線地圖,在geopandas已經(jīng)被正確安裝的情況下,使用pip install contextily或conda install contextily安裝contextily。
從下面這個小例子出發(fā):
import?geopandas?as?gpd
import?contextily?as?ctx
import?matplotlib.pyplot?as?plt
cq?=?gpd.read_file('重慶市.geojson').to_crs('EPSG:3857')
fig,?ax?=?plt.subplots(figsize=(10,?10))
ax?=?cq.plot(ax=ax,?alpha=0.1,?edgecolor='k')
ax.axis('off')
ctx.add_basemap(ax,?
????????????????source='https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
????????????????zoom=8)
fig.savefig('圖2?疊加在線地圖示例.png',?pad_inches=0,?bbox_inches='tight',?dpi=300)
下面我們來「劃重點(diǎn)」,在圖2所示的例子中,我們前面正常讀入矢量數(shù)據(jù)后「一定要先變換投影為web墨卡托即EPSG:3857」,接著正常繪圖,在最后一步時將ax對象傳入ctx.add_basemap中,并添加了參數(shù)source代表對應(yīng)在線瓦片地圖的url,參數(shù)zoom來控制地圖縮放精度級別。
在稍事等待之后(如果沒有“特殊”的上網(wǎng)技巧,可能要多等一段時間),我們的底圖便自動獲取拼接完畢,之后直接導(dǎo)出圖像文件即可,是不是非常的方便~
在掌握了geopandas+contextily相互配合疊加在線底圖之后,下面給大家推薦一些有意思的底圖url供大家日常選擇使用:
https://a.tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=41f4f936f1d148f69cbd100812875c88

http://{s}.tile.stamen.com/terrain/{z}/{x}/{y}.jpg

http://{s}.tiles.maps.sputnik.ru/{z}/{x}/{y}.png

https://c.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=41f4f936f1d148f69cbd100812875c88

http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png

http://{s}.tile.stamen.com/toner/{z}/{x}/{y}.png

https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png

http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg

https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png

https://stamen-tiles-a.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}.png
「即stamen地形圖的無地名標(biāo)注版本」

https://d.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png
「即carto淺色地圖的無地圖標(biāo)注版本」

以上就是本文的全部內(nèi)容,歡迎在評論區(qū)與我進(jìn)行討論~

加入我們的知識星球【Python大數(shù)據(jù)分析】
愛上數(shù)據(jù)分析!
Python大數(shù)據(jù)分析
data creates?value
掃碼關(guān)注我們

