日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

教你們?nèi)绾斡?Python 快速制作海報級地圖附代碼

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

掃碼添加小助手

加入工程師交流群

1 簡介

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

而今天我要給大家介紹的這個Pythonprettymaps非常的有趣,基于它,我們只需要簡單的代碼就可以對地球上給定坐標和范圍的任意地區(qū)進行地圖可視化。

2 利用prettymaps快速制作海報級地圖

遺憾的是,prettymaps暫時還不能通過pipconda直接進行安裝,但可以利用pip配合git從源碼倉庫進行安裝,對于國內(nèi)的用戶來說,可以使用下面的語句從github的鏡像地址快速安裝:

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

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

fromprettymapsimport*

2.1 prettymaps的幾種使用方式

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

2.1.1 圓形模式

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

fromprettymapsimport*
frommatplotlibimportpyplotasplt

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

layers=plot(
(31.23346,121.492154),#圓心坐標,格式:(緯度, 經(jīng)度)
radius=2500,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{},#控制繪圖模式,{}即相當于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無需改動照搬即可
'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中還可以使用「圓角矩形模式」,同樣需要定義中心點坐標和半徑,接著為參數(shù)layers下的每個鍵值對添加鍵值對{'circle': False, 'dilate': 圓角半徑}即可,其中圓角半徑為數(shù)值型,這次我們換一個地方,以故宮為例,半徑選擇600米:

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

dilate=100

layers=plot(
(39.91645697864148,116.39077532493388),#圓心坐標,格式:(緯度, 經(jīng)度)
radius=600,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{'circle':False,'dilate':dilate},#控制繪圖模式,{}即相當于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無需改動照搬即可
'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)容

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

importmatplotlib.font_managerasfm

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

layers=plot(
(31.23346,121.492154),#圓心坐標,格式:(緯度, 經(jīng)度)
radius=2500,#半徑
ax=ax,#綁定圖床
layers={
'perimeter':{},#控制繪圖模式,{}即相當于圓形繪圖模式
#下面的參數(shù)用于定義從OsmStreetMap選擇獲取的矢量圖層要素,不了解的無需改動照搬即可
'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'}
)

#添加文字標注
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('上海外灘-添加文字標注.png',dpi=500)

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

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90332

原文標題:用 Python 快速制作海報級地圖

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目錄,請在源代碼目錄下執(zhí)行以下命令: 提示:源代碼可從以下位置下載:愿景五.gpio. sudo yum install python
    發(fā)表于 03-30 08:28

    Exx-xxxxxx-SC套件代碼教學:從蜂鳴器控制到開屏LOGO,手把手教你快速上手!

    減少開發(fā)難度,輕松修改參數(shù),讓模塊開發(fā)不再頭疼一、內(nèi)容介紹本次代碼教學的初衷是減少用戶代碼開發(fā)使用難度,幫助用戶快速上手對應(yīng)型號模塊所搭配的套件。下載,所有套件型號如下:支持套件列表:系列型號E22系列E22-400TBL-SC
    的頭像 發(fā)表于 03-05 19:34 ?386次閱讀
    Exx-xxxxxx-SC套件<b class='flag-5'>代碼</b>教學:從蜂鳴器控制到開屏LOGO,手把手<b class='flag-5'>教你</b><b class='flag-5'>快速</b>上手!

    Termux中調(diào)試圣誕樹Python代碼

    在Termux中調(diào)試Python代碼(以圣誕樹立例)非常簡單,核心分為環(huán)境準備、代碼編寫、運行調(diào)試三個步驟,下面一步步教你操作: 一、環(huán)境準備(首次使用需做) Termux默認可能沒有
    發(fā)表于 12-09 09:02

    從高精地圖到輕地圖,再到“無圖”,誰才是真需求?

    [首發(fā)于智駕最前沿微信公眾號]如果將自動駕駛發(fā)展以時間軸拉開,地圖的應(yīng)用可以分為高精地圖、輕地圖,以及所謂的“無圖”或“模型化地圖”三個階段。高精
    的頭像 發(fā)表于 11-10 09:50 ?1078次閱讀
    從高精<b class='flag-5'>地圖</b>到輕<b class='flag-5'>地圖</b>,再到“無圖”,誰才是真需求?

    1688 拍立淘接口實戰(zhàn):從圖像優(yōu)化、工廠排序到供應(yīng)鏈匹配(可跑代碼

    深耕B2B電商十余年,親歷1688拍立淘接口20+坑:從圖像預(yù)處理、權(quán)限申請到工廠排序。本文詳解核心參數(shù)、實戰(zhàn)代碼及多圖驗證、定制方案生成等高級技巧,助你實現(xiàn)“看圖找廠”精準匹配,可運行代碼,新手也能少走兩年彎路。
    的頭像 發(fā)表于 10-09 10:39 ?1284次閱讀

    淘寶商品詳情接口(item_get)企業(yè)全解析:參數(shù)配置、簽名機制與 Python 代碼實戰(zhàn)

    本文詳解淘寶開放平臺taobao.item_get接口對接全流程,涵蓋參數(shù)配置、MD5簽名生成、Python企業(yè)代碼實現(xiàn)及高頻問題排查,提供可落地的實戰(zhàn)方案,助你高效穩(wěn)定獲取商品數(shù)據(jù)。
    的頭像 發(fā)表于 09-26 09:13 ?1131次閱讀
    淘寶商品詳情接口(item_get)企業(yè)<b class='flag-5'>級</b>全解析:參數(shù)配置、簽名機制與 <b class='flag-5'>Python</b> <b class='flag-5'>代碼</b>實戰(zhàn)

    如何制作一張自動駕駛高精度地圖?

    厘米的精確參考。那么一份能夠滿足自動駕駛需求的高精度地圖到底是如何生成的?其背后又依賴了哪些關(guān)鍵技術(shù)? 想要生成一張合格的高精度地圖,需要“眼睛”先看懂路,這個“眼睛”來自于多傳感器的數(shù)據(jù)采集平臺。常見的做法是借助
    的頭像 發(fā)表于 07-18 09:08 ?1036次閱讀
    如何<b class='flag-5'>制作</b>一張自動駕駛高精度<b class='flag-5'>地圖</b>?

    高德地圖攜手華為推出長隧道車道導(dǎo)航

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

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

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

    鴻蒙地圖功能開發(fā)【1. 開發(fā)準備】##地圖開發(fā)##

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

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

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

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

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

    谷歌地圖GPS定位

    谷歌地圖GPS定位:精準導(dǎo)航背后的技術(shù)解析 谷歌地圖作為全球最受歡迎的地圖服務(wù)之一,其精準的GPS定位功能為用戶提供了極大便利。本文將深入探討谷歌地圖如何利用GPS技術(shù),實現(xiàn)高精度定位
    的頭像 發(fā)表于 05-29 16:54 ?1726次閱讀

    基于STM32的衛(wèi)星GPS路徑記錄儀(完整源代碼

    基于STM32的衛(wèi)星GPS路徑記錄儀(完整源代碼) 項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 05-23 20:48

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

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力很多讀者反饋:通過 《用MCP將百度地圖能力輕松接入DeepSeek》 和 《如何用DeepSeek+MCP實現(xiàn)AutoGLM沉思的能力?》 的實戰(zhàn),真真切切
    的頭像 發(fā)表于 05-07 16:07 ?3095次閱讀
    如<b class='flag-5'>何用</b>FastMCP<b class='flag-5'>快速</b>開發(fā)自己的MCP Server?
    迁西县| 田林县| 乾安县| 蓝田县| 庆元县| 泗洪县| 祁门县| 于都县| 利川市| 廊坊市| 镇平县| 白沙| 莎车县| 宿迁市| 自治县| 南昌市| 巴南区| 越西县| 疏附县| 丰原市| 墨玉县| 桃园市| 高雄市| 新和县| 弥渡县| 阿拉尔市| 盱眙县| 瓦房店市| 松溪县| 临猗县| 宜兰市| 镇远县| 新疆| 额尔古纳市| 青河县| 开江县| 开鲁县| 长白| 崇义县| 邵东县| 三原县|