一 前言

使用baseMap绘制地图简单方便,使用BaseMap需要搭配其它库进行使用常见的就是matplotlib; 读完本篇,读者将学会简单的使用baseMap或世界地图,国家地图,省份甚至特定地区等等;如果作者文章不错,随手点赞关注谢谢,不要耍白嫖哟;

二 BaseMap绘图

地图背景说明

  1. drawcoastlines():绘制海岸线。
  2. fillcontinents():为大陆内部着色(通过填充海岸线多边形)
  3. drawcountries():绘制国家边界。
  4. drawstates():绘制北美的州界。
  5. drawrivers():绘制河流。
  6. drawlsmask():绘制高分辨率海陆掩码作为图像,指定土地和海洋颜色。
  7. bluemarble():绘制一张NASA蓝色大理石图像作为地图背景。
  8. shadedrelief():绘制一个阴影浮雕图像作为地图背景。
  9. etopo():绘制etopo浮雕图像作为地图背景。
  10. warpimage():使用abitrary图像作为地图背景。图像必须是全球的,从国际数据线向东,南极向北,以纬度/经度坐标覆盖世界。

2.1 arcgis REST API服务绘制图像

Basemap 参数说明

  • llcrnrlon 经度下界
  • llcrnrlat 纬度下界
  • urcrnrlon 经度上界
  • urcrnrlat 纬度上界

arcgisimage 参数说明

  • server 远程服务器地址
  • service 底图类型
  • xpixels 缩放比例
  • dpi 分辨率
  • verbose 打印用于获取远程图像的URL

service参数列表
http://server.arcgisonline.com/arcgis/rest/services

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as pltmap = Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54)
map.arcgisimage(service='NatGeo_World_Map', xpixels = 1500, ypixels=None,dpi=120, verbose= True)
plt.show()

2.2 绘制海岸线

drawcoastlines 参数说明

  • linewidth : 线宽度
  • linestyle : 设置线风格,参照matplotlib
  • color :颜色,参照matplotlib
  • antialiasing:抗锯齿
  • axes 轴实例
  • zorder: 海岸线图层位置
# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as pltmap = Basemap()
# 国家陆地填充颜色,湖泊填充颜色
map.fillcontinents(color='coral',lake_color='aqua')
# 绘制海岸线
map.drawcoastlines(linewidth=0.5, linestyle='solid', color='k', antialiased=1, ax=None, zorder=None)
plt.show()

结果

2.3 绘制国家地图

drawcountries 参数与海岸线类似,不赘述
drawcountries(linewidth=0.5,linestyle=‘solid’,color=‘k’,antialiased=1,ax=None,zorder=None)

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt# 规定投影方法;设置中国地图中部经纬度
map = Basemap(projection='ortho',lat_0=25, lon_0=105)
# 绘制地图边界,填充颜色 蓝色; 设置线宽度
map.drawmapboundary(fill_color='aqua',linewidth=1.0)
# 陆地填充颜色,湖泊填充颜色
map.fillcontinents(color='coral',lake_color='aqua')
# 绘制国家
map.drawcountries()plt.show()

结果

2.4绘制浮雕地图

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as pltmap = Basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54,resolution='i', projection='cass', lat_0 = 25, lon_0 = 105)
# 浮雕图像
map.etopo()
# 海岸线
map.drawcoastlines()
# 显示
plt.show()

结果

2.5 绘制地图带有经纬度

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt# 规定投影方法;设置中国地图中部经纬度
map = Basemap(projection='ortho',lat_0=25, lon_0=105,width=25000000, height=25000000)
# 绘制地图边界,填充颜色 蓝色; 设置线宽度
map.drawmapboundary(fill_color='aqua',linewidth=1.0)
# 陆地填充颜色,湖泊填充颜色
map.fillcontinents(color='coral',lake_color='aqua')
# 绘制国家
map.drawcountries()
# 设置经度
map.drawmeridians(range(0, 360, 20))
# 设置纬度
map.drawparallels(range(-90, 100, 10), dashes=[4, 2], color='r', zorder=0 )
plt.show()

结果

2.6 绘制美洲地图

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as pltmap = Basemap(width=12000000,height=9000000,rsphere=(6378137.00,6356752.3142),resolution='l',area_thresh=1000.,projection='lcc',lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.)
# 地图边界
map.drawmapboundary(fill_color='aqua')
# 陆地海洋填充
map.fillcontinents(color='#FF7F50', lake_color='#00BFFF')
# 国家
map.drawcountries()
# 美洲地图
map.drawstates(color='0.5')plt.show()

结果

2.7 绘制河流

# -*- coding: utf-8 -*-
import warnings
warnings.filterwarnings('ignore')from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as pltmap = Basemap(width=25000000, height=25000000,llcrnrlon=70,llcrnrlat=3,urcrnrlon=140,urcrnrlat=54,resolution='i', projection='cass', lat_0 = 25, lon_0 = 105)
# 地图边界
map.drawmapboundary(fill_color='aqua')
# 陆地填充
map.fillcontinents(color='coral', lake_color='aqua')
# 绘制国家
map.drawcountries()
# 绘制河流
map.drawrivers(color='#0000ff')plt.show()

结果

三 参考连接

RGB 颜色对照 https://www.sioe.cn/yingyong/yanse-rgb-16/

basemap教程:https://basemaptutorial.readthedocs.io/en/latest/

matplotlib basemap教程 https://matplotlib.org/basemap/users/geography.html

分类: python

使用BaseMap绘制地图它不香么相关推荐

  1. 第4章【思考与练习2】数据文件high-speed rail.csv存放着世界各国高速铁路的情况。对世界各国高铁的数据进行绘图分析。使用Basemap绘制地图及使用Pyecharts绘制地图。

    目录 P84思考与练习2 方法一:使用Basemap绘制地图 方法二:使用Pyecharts绘制地图 P84思考与练习2 1.叙述各类图形的特点.适合展示的数据特性,以及在数据探索阶段的用途. 函数绘 ...

  2. Basemap绘制地图

    文章转自:http://blog.csdn.net/ouening/article/details/55227364 使用folium实现中国地图绘制,文章链接: python/folium绘制中国人 ...

  3. 【Python实用工具】速来!!一篇文章十分钟教你如何使用Python第三方库basemap进行地图绘制

    basemap地图绘制 basemap地图绘制 1 basemap的使用 1.1 basemap安装 1.2 basemap使用 1.3 缩放区域与绘图 2 basemap综合示例 2.1 美国人口分 ...

  4. Cartopy绘制地图

      之前有想过用Basemap绘制地图,后来在查阅Basemap的说明文件的时候发现Basemap已经停止维护了,神特么停止维护,这该死可爱的不向下兼容的版本切换啊,为啥这么说呢,因为Basemap是 ...

  5. python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等)

    python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等) 1. 效果图 2. 原理 2.1 依赖模块及安装 2.2 工程目录 2.3 依赖文件latlng.txt 经纬度 3 源码 ...

  6. Basemap库绘制地图

    Basemap 学习 api手册 https://matplotlib.org/basemap/api/basemap_api.html 安装basemap库 首先安装geos库 pip instal ...

  7. Basemap绘制中国地图

    2022.06.02更新 CHN_adm_shp.zip 网盘下载链接: 链接:https://pan.baidu.com/s/11igf-bfDLuolI5HzEykzMw 提取码:oas6 201 ...

  8. python采用Basemap绘制完美中国地图

    python采用Basemap绘制完美中国地图 摘要 Basemap的安装 下载Basemap安装文件 安装 Pyproj& Basemap Basemap的Helloword 使用Shape ...

  9. Python之使用Basemap绘制中国地图

    目录 1.下载Basemap 2.安装Basemap 3.参数说明 4.地图包下载及导入 5.颜色填充 1.下载Basemap 本人电脑win7,64位操作系统,使用Jupyter 和 Python3 ...

  10. python用cartopy包画地图_python绘制地图的利器Cartopy使用说明

    python绘制地图一般使用Basemap绘图包,但该包配置相对较繁琐,自定义性不强,这里介绍一个绘制地图的利器Cartopy,个人认为该工具方便.快捷,附上一些自己写的程序. 准备工作,工欲善其事, ...

最新文章

  1. 如何选取合适的前端动效方案?
  2. eclipse配置springboot开发
  3. Saleor出现 Make sure you've added storefront address to ALLOWED_CLIENT_HOSTS
  4. 【linux】安装centOS过程中遇到的困难
  5. 新工作上班九天心得(附 bootstrap分页写法)
  6. uoj#267. 【清华集训2016】魔法小程序(乱搞)
  7. Javascript语言精粹--The Excellence in Javascript
  8. Container及其内部进程监控剖析
  9. 【2022研电赛】安谋科技企业命题一等奖:基于EAIDK-610的中国象棋机器人对弈系统
  10. QT TextEdit控件
  11. Eclipse修改项目编码方式
  12. FaceBoxes: A CPU Real-time Face Detector with High Accuracy
  13. Affinity Derivation and Graph Merge for Instance Segmentation阅读笔记
  14. pump-probe技术简介
  15. 三个和尚没水喝的启发
  16. 【mac】MacBook使用快捷键
  17. 手机前缀带字幕滚动筛选
  18. Nodejs 实现短网址功能
  19. 改进YOLOv5系列:6.修改Soft-NMS,Soft-CIoUNMS,Soft-SIoUNMS,Soft-DIoUNMS,Soft-EIoUNMS,Soft-GIoUNMS...
  20. WPF 开机启动因为触摸初始化锁住界面显示

热门文章

  1. acdream 1401 Lempel-Ziv Compression
  2. mmdetection3d 训练
  3. 正则表达式前端js,银行卡号/身份证/姓名号脱敏
  4. IDEA部署web项目时,Artifact中war和war exploded的区别
  5. 论文阅读-Detecting and Recovering Sequential DeepFake Manipulation(SeqFakeFormer)
  6. html页面栅格系统,超好用的网页栅格化工具: GridGuide
  7. 差分 --算法竞赛专题解析(32)
  8. 复数值神经网络matlab,学界 | Yoshua Bengio等提出深度复数网络:用复数构建深度神经网络(已开源)...
  9. 如何低成本,有效地进行企业公众号拉新,获取10万+潜在用户? 黎想
  10. 可靠传输协议 rdt 1.0、rdt 2.0、rdt 2.1、rdt 2.2、rdt3.0