女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你們?nèi)绾斡?Python 快速制作海報(bào)級(jí)地圖附代碼

Linux愛(ài)好者 ? 來(lái)源:CSDN技術(shù)社區(qū) ? 作者:籠中小夜鶯 ? 2021-10-09 11:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 簡(jiǎn)介

基于Python中諸如matplotlib等功能豐富、自由度極高的繪圖庫(kù),我們可以完成各種極富藝術(shù)感的可視化作品,關(guān)于這一點(diǎn)我在系列文章在模仿中精進(jìn)數(shù)據(jù)可視化中已經(jīng)帶大家學(xué)習(xí)過(guò)很多案例了。

而今天我要給大家介紹的這個(gè)Python庫(kù)prettymaps非常的有趣,基于它,我們只需要簡(jiǎn)單的代碼就可以對(duì)地球上給定坐標(biāo)和范圍的任意地區(qū)進(jìn)行地圖可視化。

2 利用prettymaps快速制作海報(bào)級(jí)地圖

遺憾的是,prettymaps暫時(shí)還不能通過(guò)pipconda直接進(jìn)行安裝,但可以利用pip配合git從源碼倉(cāng)庫(kù)進(jìn)行安裝,對(duì)于國(guó)內(nèi)的用戶(hù)來(lái)說(shuō),可以使用下面的語(yǔ)句從github的鏡像地址快速安裝:

pipinstallgit+https://hub.fastgit.org/marceloprates/prettymaps.git

安裝完成后,如果下面的語(yǔ)句執(zhí)行無(wú)誤,那么恭喜你已經(jīng)安裝完成:

fromprettymapsimport*

2.1 prettymaps的幾種使用方式

prettymaps無(wú)需用戶(hù)自行準(zhǔn)備數(shù)據(jù),會(huì)根據(jù)用戶(hù)設(shè)定的坐標(biāo)和范圍大小來(lái)自動(dòng)從OpenStreetMap上獲取相應(yīng)范圍內(nèi)的矢量數(shù)據(jù)作為繪圖素材,主要有以下幾種使用方式:

2.1.1 圓形模式

prettymaps中最簡(jiǎn)單的繪圖模式為「圓形模式」,我們只需要傳入中心點(diǎn)經(jīng)緯度坐標(biāo),以及半徑范圍(單位:米)即可,下面的例子來(lái)自官方示例程序,我將其地點(diǎn)換成以上海外灘為中心向外2500米范圍:

fromprettymapsimport*
frommatplotlibimportpyplotasplt

#創(chuàng)建圖床
fig,ax=plt.subplots(figsize=(12,12),constrained_layout=True)

layers=plot(
(31.23346,121.492154),#圓心坐標(biāo),格式:(緯度, 經(jīng)度)
radius=2500,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{},#控制繪圖模式,{}即相當(dāng)于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無(wú)需改動(dòng)照搬即可
'streets':{
'custom_filter':'["highway"~"motorway|trunk|primary|secondary|tertiary|residential|service|unclassified|pedestrian|footway"]',
'width':{
'motorway':5,
'trunk':5,
'primary':4.5,
'secondary':4,
'tertiary':3.5,
'residential':3,
'service':2,
'unclassified':2,
'pedestrian':2,
'footway':1,
}
},
'building':{'tags':{'building':True,'landuse':'construction'},'union':False},
'water':{'tags':{'natural':['water','bay']}},
'green':{'tags':{'landuse':'grass','natural':['island','wood'],'leisure':'park'}},
'forest':{'tags':{'landuse':'forest'}},
'parking':{'tags':{'amenity':'parking','highway':'pedestrian','man_made':'pier'}}
},
#下面的參數(shù)用于定義OpenStreetMap中不同矢量圖層的樣式,嫌麻煩的直接照抄下面的官方示例即可
drawing_kwargs={
'background':{'fc':'#F2F4CB','ec':'#dadbc1','hatch':'ooo...','zorder':-1},
'perimeter':{'fc':'#F2F4CB','ec':'#dadbc1','lw':0,'hatch':'ooo...','zorder':0},
'green':{'fc':'#D0F1BF','ec':'#2F3737','lw':1,'zorder':1},
'forest':{'fc':'#64B96A','ec':'#2F3737','lw':1,'zorder':1},
'water':{'fc':'#a1e3ff','ec':'#2F3737','hatch':'ooo...','hatch_c':'#85c9e6','lw':1,'zorder':2},
'parking':{'fc':'#F2F4CB','ec':'#2F3737','lw':1,'zorder':3},
'streets':{'fc':'#2F3737','ec':'#475657','alpha':1,'lw':0,'zorder':3},
'building':{'palette':['#FFC857','#E9724C','#C5283D'],'ec':'#2F3737','lw':.5,'zorder':4},
},

osm_credit={'color':'#2F3737'}
)

#導(dǎo)出圖片文件
plt.savefig('上海外灘-圓形模式.png',dpi=500)

2.1.2 圓角矩形模式

除了上述的「圓形模式」之外,prettymaps中還可以使用「圓角矩形模式」,同樣需要定義中心點(diǎn)坐標(biāo)和半徑,接著為參數(shù)layers下的每個(gè)鍵值對(duì)添加鍵值對(duì){'circle': False, 'dilate': 圓角半徑}即可,其中圓角半徑為數(shù)值型,這次我們換一個(gè)地方,以故宮為例,半徑選擇600米:

#創(chuàng)建圖床
fig,ax=plt.subplots(figsize=(12,12),constrained_layout=True)

dilate=100

layers=plot(
(39.91645697864148,116.39077532493388),#圓心坐標(biāo),格式:(緯度, 經(jīng)度)
radius=600,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{'circle':False,'dilate':dilate},#控制繪圖模式,{}即相當(dāng)于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無(wú)需改動(dòng)照搬即可
'streets':{
'custom_filter':'["highway"~"motorway|trunk|primary|secondary|tertiary|residential|service|unclassified|pedestrian|footway"]',
'width':{
'motorway':5,
'trunk':5,
'primary':4.5,
'secondary':4,
'tertiary':3.5,
'residential':3,
'service':2,
'unclassified':2,
'pedestrian':2,
'footway':1,
},
'circle':False,'dilate':dilate
},
'building':{'tags':{'building':True,'landuse':'construction'},'union':False,'circle':False,'dilate':dilate},
'water':{'tags':{'natural':['water','bay']},'circle':False,'dilate':dilate},
'green':{'tags':{'landuse':'grass','natural':['island','wood'],'leisure':'park'},'circle':False,'dilate':dilate},
'forest':{'tags':{'landuse':'forest'},'circle':False,'dilate':dilate},
'parking':{'tags':{'amenity':'parking','highway':'pedestrian','man_made':'pier'},'circle':False,'dilate':dilate}
},
#下面的參數(shù)用于定義OpenStreetMap中不同矢量圖層的樣式,嫌麻煩的直接照抄下面的官方示例即可
drawing_kwargs={
'background':{'fc':'#F2F4CB','ec':'#dadbc1','hatch':'ooo...','zorder':-1},
'perimeter':{'fc':'#F2F4CB','ec':'#dadbc1','lw':0,'hatch':'ooo...','zorder':0},
'green':{'fc':'#D0F1BF','ec':'#2F3737','lw':1,'zorder':1},
'forest':{'fc':'#64B96A','ec':'#2F3737','lw':1,'zorder':1},
'water':{'fc':'#a1e3ff','ec':'#2F3737','hatch':'ooo...','hatch_c':'#85c9e6','lw':1,'zorder':2},
'parking':{'fc':'#F2F4CB','ec':'#2F3737','lw':1,'zorder':3},
'streets':{'fc':'#2F3737','ec':'#475657','alpha':1,'lw':0,'zorder':3},
'building':{'palette':['#FFC857','#E9724C','#C5283D'],'ec':'#2F3737','lw':.5,'zorder':4},
},

osm_credit={'color':'#2F3737'}
)

#導(dǎo)出圖片文件
plt.savefig('北京故宮-圓角矩形模式.png',dpi=500)

2.1.3 添加文字內(nèi)容

有了這樣美觀(guān)大方的藝術(shù)地圖,我們還可以基于matplotlib中自定義字體的方法,在地圖上添加標(biāo)注信息,仍然以上海外灘為例,我們利用外部的書(shū)法字體,在正中心繪制文字標(biāo)注信息:

importmatplotlib.font_managerasfm

#創(chuàng)建圖床
fig,ax=plt.subplots(figsize=(12,12),constrained_layout=True)

layers=plot(
(31.23346,121.492154),#圓心坐標(biāo),格式:(緯度, 經(jīng)度)
radius=2500,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{},#控制繪圖模式,{}即相當(dāng)于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無(wú)需改動(dòng)照搬即可
'streets':{
'custom_filter':'["highway"~"motorway|trunk|primary|secondary|tertiary|residential|service|unclassified|pedestrian|footway"]',
'width':{
'motorway':5,
'trunk':5,
'primary':4.5,
'secondary':4,
'tertiary':3.5,
'residential':3,
'service':2,
'unclassified':2,
'pedestrian':2,
'footway':1,
}
},
'building':{'tags':{'building':True,'landuse':'construction'},'union':False},
'water':{'tags':{'natural':['water','bay']}},
'green':{'tags':{'landuse':'grass','natural':['island','wood'],'leisure':'park'}},
'forest':{'tags':{'landuse':'forest'}},
'parking':{'tags':{'amenity':'parking','highway':'pedestrian','man_made':'pier'}}
},
#下面的參數(shù)用于定義OpenStreetMap中不同矢量圖層的樣式,嫌麻煩的直接照抄下面的官方示例即可
drawing_kwargs={
'background':{'fc':'#F2F4CB','ec':'#dadbc1','hatch':'ooo...','zorder':-1},
'perimeter':{'fc':'#F2F4CB','ec':'#dadbc1','lw':0,'hatch':'ooo...','zorder':0},
'green':{'fc':'#D0F1BF','ec':'#2F3737','lw':1,'zorder':1},
'forest':{'fc':'#64B96A','ec':'#2F3737','lw':1,'zorder':1},
'water':{'fc':'#a1e3ff','ec':'#2F3737','hatch':'ooo...','hatch_c':'#85c9e6','lw':1,'zorder':2},
'parking':{'fc':'#F2F4CB','ec':'#2F3737','lw':1,'zorder':3},
'streets':{'fc':'#2F3737','ec':'#475657','alpha':1,'lw':0,'zorder':3},
'building':{'palette':['#FFC857','#E9724C','#C5283D'],'ec':'#2F3737','lw':.5,'zorder':4},
},

osm_credit={'color':'#2F373700'}
)

#添加文字標(biāo)注
ax.text(
0.5,0.5,
'外灘,上海',
zorder=6,
ha='center',
va='center',
fontsize=120,
fontproperties=fm.FontProperties(fname='FZZJ-HLYHXSJW.TTF'),
transform=ax.transAxes
)

#導(dǎo)出圖片文件
plt.savefig('上海外灘-添加文字標(biāo)注.png',dpi=500)

你可以找到你關(guān)注地點(diǎn)的經(jīng)緯度坐標(biāo),盡情地繪制出各種藝術(shù)地圖作品,譬如下面這些地標(biāo):

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

    70500
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4826

    瀏覽量

    86518

原文標(biāo)題:用 Python 快速制作海報(bào)級(jí)地圖

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    高德地圖攜手華為推出長(zhǎng)隧道車(chē)道級(jí)導(dǎo)航

    高德地圖攜手華為Pura80系列,支持超長(zhǎng)隧道全程車(chē)道級(jí)導(dǎo)航,為行車(chē)安全與效率帶來(lái)全新升級(jí)。
    的頭像 發(fā)表于 07-02 16:44 ?204次閱讀

    鴻蒙地圖功能開(kāi)發(fā)【3. 代碼開(kāi)發(fā)】##地圖開(kāi)發(fā)##

    ? 在完成了前期準(zhǔn)備工作之后,就可以正式進(jìn)入到代碼開(kāi)發(fā)的工作中,在官方文檔中,相關(guān)的代碼是很全的,從支持的功能上來(lái)看,相比于三方SDK更加全面。 基本項(xiàng)目中包含的地圖展示、marker、路徑規(guī)劃等
    發(fā)表于 06-29 22:59

    鴻蒙地圖功能開(kāi)發(fā)【1. 開(kāi)發(fā)準(zhǔn)備】##地圖開(kāi)發(fā)##

    證書(shū)(能否模擬器還沒(méi)測(cè)試過(guò)),但是問(wèn)題在于,文檔不全,示例代碼有問(wèn)題,如果一定要用三方的SDK的,目前推薦使用高德地圖,百度的直接代碼就會(huì)有報(bào)錯(cuò) Web組件這里涉及到的就是ArkWeb(方舟web
    發(fā)表于 06-29 22:52

    鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(地圖導(dǎo)航)

    ? 鴻蒙開(kāi)發(fā)隱藏寶藏大公開(kāi)!手把手教你玩轉(zhuǎn)\"一多\"地圖導(dǎo)航案例 ? 大家好呀!我是你們的老朋友,今天要給大家扒一扒鴻蒙官方文檔里那些\"藏得深\"的實(shí)戰(zhàn)
    發(fā)表于 06-03 16:17

    基于STM32的衛(wèi)星GPS路徑記錄儀(完整源代碼)實(shí)例項(xiàng)目下載

    基于STM32的衛(wèi)星GPS路徑記錄儀(完整源代碼)實(shí)例項(xiàng)目推薦下載!
    發(fā)表于 05-29 21:35

    何用FastMCP快速開(kāi)發(fā)自己的MCP Server?

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力很多讀者反饋:通過(guò) 《用MCP將百度地圖能力輕松接入DeepSeek》 和 《如何用DeepSeek+MCP實(shí)現(xiàn)AutoGLM沉思的能力?》 的實(shí)戰(zhàn),真真切切
    的頭像 發(fā)表于 05-07 16:07 ?1176次閱讀
    如<b class='flag-5'>何用</b>FastMCP<b class='flag-5'>快速</b>開(kāi)發(fā)自己的MCP Server?

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個(gè)推理過(guò)程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結(jié)果與 Python*
    發(fā)表于 03-06 06:22

    何用QGIS下載天地圖影像圖

    無(wú)論是城市交通規(guī)劃中的道路拓寬,還是交通仿真中的場(chǎng)景構(gòu)建,衛(wèi)星影像圖都是不可或缺的工具。今天,就讓我們一起探索如何在QGIS中輕松下載帶坐標(biāo)系的天地圖影像圖,為我們的項(xiàng)目添磚加瓦!
    的頭像 發(fā)表于 02-20 13:52 ?2425次閱讀
    如<b class='flag-5'>何用</b>QGIS下載天<b class='flag-5'>地圖</b>影像圖

    Python繪圖Matplotlib快速參考手冊(cè)

    ?PYTHON
    發(fā)表于 02-07 14:04 ?0次下載

    使用Python實(shí)現(xiàn)xgboost教程

    裝: bash復(fù)制代碼conda install -c conda-forge xgboost 2. 導(dǎo)入必要的庫(kù) 在你的Python腳本或Jupyter Notebook中,導(dǎo)入必要的庫(kù): python復(fù)制
    的頭像 發(fā)表于 01-19 11:21 ?1305次閱讀

    使用Python進(jìn)行串口通信的案例

    python復(fù)制代碼 import serialimport time # 配置串口參數(shù)serial_port = '/dev/ttyUSB0' # 在Windows上可能是 'COM3' 或其他類(lèi)
    的頭像 發(fā)表于 11-22 09:11 ?1369次閱讀

    對(duì)比Python與Java編程語(yǔ)言

    Python與Java都是目前非常流行的編程語(yǔ)言,它們各有其獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景。以下是對(duì)這兩種編程語(yǔ)言的對(duì)比: 一、語(yǔ)法和易用性 Python 語(yǔ)法簡(jiǎn)潔,代碼更易讀,非常適合初學(xué)者。 動(dòng)態(tài)類(lèi)型系統(tǒng)
    的頭像 發(fā)表于 11-15 09:31 ?991次閱讀

    使用Python進(jìn)行圖像處理

    下面是一個(gè)關(guān)于使用Python在幾行代碼中分析城市輪廓線(xiàn)的快速教程。
    的頭像 發(fā)表于 11-07 10:14 ?567次閱讀
    使用<b class='flag-5'>Python</b>進(jìn)行圖像處理

    電子地圖的主要功能與應(yīng)用

    電子地圖,即數(shù)字地圖,是利用計(jì)算機(jī)技術(shù),以數(shù)字方式存儲(chǔ)和查閱的地圖。它不僅繼承了傳統(tǒng)紙質(zhì)地圖的基本功能,還通過(guò)現(xiàn)代科技手段實(shí)現(xiàn)了諸多創(chuàng)新應(yīng)用。以下是電子
    的頭像 發(fā)表于 09-12 11:18 ?4051次閱讀
    電子<b class='flag-5'>地圖</b>的主要功能與應(yīng)用

    pytorch和python的關(guān)系是什么

    ,PyTorch已經(jīng)成為了一個(gè)非常受歡迎的框架。本文將介紹PyTorch和Python之間的關(guān)系,以及它們?cè)谏疃葘W(xué)習(xí)領(lǐng)域的應(yīng)用。 Python簡(jiǎn)介 Python是一種高級(jí)、解釋型、通用的編程語(yǔ)言,由Guido van Rossu
    的頭像 發(fā)表于 08-01 15:27 ?3218次閱讀