Cartopy 调用"天地图"底图
前言
科研绘图上地图底图一般是白色的,加上海岸线也就成底图。这种做法的好处是如果我们需要向底图上添加等值线、填色图等附有彩色信息的图案或线条,这种信息在白底下更突出。作为可以绘图,这种白底也最简单、严肃。
但是如果我们要画出某个台风的移动路径,偌大的白图上就横躺这几根线条略显单调。这时如果能丰富底图,整张图的效果会有很大提升。
使用这种底图需要调用其他网站的地图接口,让图像叠加在Cartopy的坐标轴内。
Cartopy无网络底图
Cartopy内置了一种底图 ax.stock_img(),不需要利用网络接口。缺点就是分辨率很差。
1 | import matplotlib.pyplot as plt |
Cartopy 连接国外API
暂时连不上,以后再码
Web services — cartopy 0.21.0 documentation
Cartopy 理解国内”天地图“网站API
第一步:修改Cartopy文件
安装好Cartopy后,修改以下文件
1 | \Anaconda3\envs\你的虚拟环境名称\Lib\site-packages\cartopy\io\img_tiles.py |
如果用的是base环境,路径如下
1 | \Anaconda3\Lib\site-packages\cartopy\io\img_tiles.py |
在imh_tiles.py文件末尾添加
1 | # 天地图矢量 |
第二部:申请“天地图”密钥
在网站 天地图API 注册登陆账号。申请密钥:
点击“创建新应用”,内容随便填写
然后就得到密钥了:
如果不想申请密钥,可以用我以前的密钥,就是imh_tiles.py中已经填好的,key = ‘f51d7378813e172b83c8edc7ddedb1c9’。但是这个申请的不知道什么时候可能会失效。
个人申请的密钥一天调用上限是1万次。如果程序运行遇到网络问题、被禁止访问时,程序会不停地调用这个接口,很容易超过1万次。所以遇到报错要及时手动停止程序。
第三步:程序使用,绘图程序
1 | import cartopy.io.img_tiles as cimgt |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.




