作为一个测绘GIS专业的学生,会有很多绘制地图的需求,一般情况使用ArcGIS、QGIS就可以解决,但是在绘制如论文插图时需要使用更加专业可定制化程度更高的工具,专业传统一般使用GMT,几经比较,最终选择学习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文件安装basemap。在命令行中
cd
至安装文件所在目录安装即可。pip3 install basemap‑1.2.2‑cp38‑cp38‑win_amd64.whl
至此,basemap则安装完成,测试一下是否正确安装
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
m = Basemap(projection='mill')
m.drawcoastlines()
plt.show()
显示如下图则表明basemap已正确安装,可以开始使用了。
本文参考博客 https://www.cnblogs.com/thisyan/p/9680095.html 和 https://www.xuebuyuan.com/1597247.html