Cartopy 是一个开源免费的第三方 Python 扩展包,由英国气象办公室的科学家们开发,支持 Python 2.7 和 Python 3,致力于使用最简单直观的方式生成地图,并提供对 matplotlib 友好的协作接口。
该工具包使用 LGPLv3 协议,代码托管在 Github 网站上。
Cartopy 也是一个 python 地图绘制包,同样能完成很多 Basemap 能实现的功能,而且旨在使数据分析及可视化尽可能简单。 其利用了强大的 PROJ.4,numpy,shapely库,提供了简单直观的绘图接口,可以创建满足出版质量的地图。
点击 Anaconda Prompt,输入以下命令:
conda install -c conda-forge cartopy
1.创建虚拟环境
conda create -n py3.10 python=3.10
2.激活虚拟环境
conda activate py3.10
3.安装cartopy的依赖库,分别执行:
conda install geos
conda install pyshp
conda install shapely
4.安装cartopy库
conda install cartopy
5.安装ipykernel (第一次导入虚拟环境的要下载)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipykernel
6.将虚拟环境py3.10导入jupyter的kernel中(自己设置显示的名字为python3.10)
python -m ipykernel install --name py3.10 --display-name python3.10
7.打开jupyter notebook新建notebook并选择内核为python3.10测试以下代码能否运行。
from cartopy.crs import PlateCarree
import matplotlib.pyplot as plt
#创建地图形状,PlateCarree()里由丰富的物理信息,包括海岸线,国家边界线
fig,ax=plt.subplots(figsize=(10,8),subplot_kw={'projection':PlateCarree()})
plt.show()
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
#1.等经纬投影
fig = plt.figure(figsize=(6, 6))#创建画布
ax=fig.add_subplot(projection=ccrs.PlateCarree())#创建经纬投影子图
ax.coastlines(resolution='110m')#添加海岸线
ax.gridlines()#添加经纬度
plt.show()