Cartopy介绍
Python 环境下常用的地图绘制包是 Basemap,Cartopy,geopandas,KeplerGl,GeoViews等等,我以前常用的是Basemap,但无奈官方已经在2020年更新了,官方推荐使用Cartopy作为替代。
Cartopy最初是在英国气象局开发的,目的是让科学家能够快速、方便、最重要的是准确地在地图上可视化他们的数据。cartopy的主要特点是面向对象的投影定义,以及在投影之间转换点、线、向量、多边形和图像的能力。
pip安装 Cartopy
安装 Cartopy的话官方推荐是使用conda安装
代码语言:javascript复制conda install -c conda-forge cartopy
踩的坑
但是我感觉Anconda过于臃肿,而且没有汉化,用起来好难受!!!所以决定用pip安装,踩了一下午的坑qaq
所以今天详细写一下pip的安装教程,大家照着安装就可以了
首先先说一下,我们知道pip安装包一般是如下的命令
代码语言:javascript复制pip install xxxxx
但是在Cartopy上不行,Cartopy必须要先安装GEOS、Shapely和 pyshp这三个依赖库,这时候小机灵鬼你又来了,你是不是会说我直接扎这三个库pip安装,然后在pip install cartopy
不就好了,虽然这样你也会成功安装,但是你会发现用不了!!!,他喵的
备注:常用的Cartopy依赖库作用
pyproj:处理地图投影变形,Cartopy 基于它定义了丰富的地图投影; pillow:Python 的图像处理包,读写和操作栅格图像; pyshp:Python 实现的 ESRI Shapefile 读写包; shapely:操作和分析空间地理对象; cartopy:Cartopy 安装包,地图制图工具。
下载依赖库
原因是cartopy和那三个依赖库要对应你python的版本,所以我们需要在 UC Irvine页面寻找你要安装的包与你python版本和电脑所对应的的whl格式文件
代码语言:javascript复制https://www.lfd.uci.edu/~gohlke/pythonlibs/
我以为Shapely为例介绍一下,下方文件p39意思就是python3.9x所对应的版本,amd64表示你电脑是64位的
依次下载下来如下
卸载原有的低版本依赖库
接下来先查找一下所安装的库是否含有Cartopy的依赖库
代码语言:javascript复制pip list
然后使用如下命令卸载
代码语言:javascript复制pip uninstall xxxx
安装 Cartopy
在cmd窗口中cd进入你存放下载好的文件的文件夹,首先卸载掉原有的低版本依赖库,由于是whl文件,所以需要先下载whl库
代码语言:javascript复制pip install whl
pip install Shapely-1.8.2-cp39-cp39-win_amd64.whl #注意你的文件名,一个个安装就行,最后安装Cartopy
由于Cartopy一般与matplotlib一起使用,所以我们可以顺便安装一下matplotlib库
代码语言:javascript复制pip install matplotlib
验证安装
新建一个python文件,我这里使用的是jupyter.键入如下代码
代码语言:javascript复制# 导入所需的库
import matplotlib as mpl
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# 创建画布以及ax
fig = plt.figure()
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
# 调用ax的方法画海岸线
ax.coastlines()
plt.show()
如果结果如下则表示安装成功
参考文档&基础教程
代码语言:javascript复制https://blog.csdn.net/wq_ocean_/article/details/103881505
https://www.jianshu.com/p/0f09830b00f6
https://www.osgeo.cn/pygis/cartopy-intro.html
https://zhajiman.github.io/post/cartopy_introduction/
https://blog.csdn.net/weixin_42510703/article/details/123763410
https://scitools.org.uk/cartopy/docs/latest/installing.html