basemap库地图来源
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了basemap库地图来源相关的知识,希望对你有一定的参考价值。
高德地图basemap库地图来源于高德地图,其高德地图的质量和性能都是不错的,使用率比较高Basemap类创建。地图是由Basemap类创建的,这个类包含很多属性。则使用普通圆柱投影模式显示地图。如果设置了属性,我们就能根据需要创建地图。工具简介
Basemap: Basemap是 Python 可视化库 Matplotlib 下的一个工具包,主要功能是绘制二维地图,是Python空间数据可视化的重要手段。
GMT:即Generic Mapping Tools,是地球科学最广泛使用的制图软件之一。目前GMT主要有三大版本:GMT4、GMT5和GMT6,GMT4已不再更新维护;GMT5已进入维护期,不再增加新功能,仅修复已知BUG;GMT6是GMT目前的最新版本,也是开发者在着重维护和更新的版本。GMT6几乎完全兼容GMT5的语法,且提供了一种更为简洁易用的新写法。除此之外,GMT 还为其他常用的编程语言提供了方便的接口,如gmtmex(matlab 接口)、GMT.jl(Julia接口)、pygmt(Python接口)。
Matlab:Matlab是一个强大的数学软件,可以用于数据分析、图像处理、模拟仿真等各种领域,是工科非常常用的软件。
其他:如Grads、NCL(NCAR Command Language)等,更多用于气象界,没研究不了解。
basemap与其他软件比较
优势
Python语法更加简介易懂,容易上手。比较起来,GMT语法跟鬼一样……
安装简单,占用空间小,启动迅速。Matlab我电脑没两分钟启动不起来……
可以和Python的各种库,如matplotlib、geopandas、shapely、arcpy等协同使用,一站式解决数据处理、绘图等问题
Python使用人数多,社区活跃,遇到问题更好解决
劣势
Matlab是工科编程最常使用的工具,大量的算法都能直接找到Matlab源代码,与此相比,Python还需更多积累
GMT是地球科学最常使用的绘图软件,绘制出的图形能比较容易满足期刊的要求。
basemap安装
由于basemap既不在conda中,也无法使用pip直接安装,所以安装较为复杂。我的环境是Windows7+Python3.8.3+Anaconda3_4.8.3,以下安装仅适用于我的环境。此外,因为我的电脑上同时装有Python2与Python3,因此,pip命令使用pip3,以防止混淆。
安装geos模块,直接使用pip安装即可
pip3 install geos
安装pyproj模块,直接使用pip安装即可
pip3 install pyproj
从官网中下载对应版本的basemap .whl安装文件,我下载的版本为"basemap‑1.2.2‑cp38‑cp38‑win_amd64.whl",如下图
使用下载好的whl文件安装 参考技术A basemap库地图来源于高德地图,其高德地图的质量和性能都是不错的,使用率比较高,Basemap类创建。地图是由Basemap类创建的,这个类包含很多属性。则使用普通圆柱投影模式显示地图。如果设置了属性,我们就能根据需要创建地图。 参考技术B basemap库地图来源于高德地图,其高德地图的质量和性能都是不错的,使用率比较高 参考技术C basemap库地图来源于高德地图,其高德地图的质量和性能都是不错的,使用率比较高
Python地图可视化三大秘密武器
Python地图可视化库有大家熟知的pyecharts、plotly、folium,还有稍低调的bokeh、basemap、geopandas,也是地图可视化利器。
首先介绍下bokeh
bokeh擅长制作交互式图表,当然在地图展示方面也毫不逊色。
示例代码地址:
https://automating-gis-processes.github.io/2017/lessons/L5/interactive-map-bokeh.html
Bokeh支持google地图、geojson数据的地理可视化展示,关键是可以动态交互。
Bokeh官网提供了详细的地图可视化方案,感兴趣的把示例代码拉出来跑一跑。
学习网站:
https://docs.bokeh.org/en/lates
basemap-专业地图可视化库
可以毫不夸张的说,basemap是python地图可视化最牛逼的第三方库,没有之一。
basemap基于matplotlib开发,所以它具有创建数据可视化的所有功能,必须配合matplotlib使用。
只需要几行代码就可以画一张世界地图:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap()
map.drawcoastlines()
plt.show()
plt.savefig('test.png')
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap(projection='ortho',
lat_0=0, lon_0=0)
#Fill the globe with a blue color
map.drawmapboundary(fill_color='aqua')
#Fill the continents with the land color
map.fillcontinents(color='coral',lake_color='aqua')
map.drawcoastlines()
plt.show()
由于basemap无所不能的绘图能力,你还可以画:
风勾图
轮廓图
填充轮廓图
伪彩色图
地理标记图
矢量场流线图
实景地图
多子图地图
3D地图
示例代码及basemap学习网站:
https://basemaptutorial.readthedocs.io/en/latest/
最后说说geopandas
geopandas,顾名思义是基于pandas的地图可视化工具,所以它对地理数据的处理非常方便。
推荐大家将geopandas作为地理信息数据处理的主要工具。
之前写过一个geopandas的入门教程,供大家参考:
配合使用matplotlib,很简单的代码就可以画出漂亮的地图:
以上是关于basemap库地图来源的主要内容,如果未能解决你的问题,请参考以下文章
没有河流的世界地图与matplotlib / Basemap?