经纬度绘图_Python气象绘图教程(七)——Cartopy

Python地理信息库包—— Cartopy

一、简介

在前面的教程中,我们已经讲解了常用的二维型数据的可视化方法。但是在日常研究中,由于大气科学属于地学系统,和地球地理信息的结合十分密切,大多数时间,需要在图形中添加地理信息。作为胶水语言,在Python中,目前还在使用的地理可视化库包尚有basemap、cartopy、geopandas等,但由于basemap是基于Python 2,而2已经不再维护,这意味着basemap也要为Python 2陪葬。而geopandas是基于pandas的,属于商务图表利器,但对于气象科研,显得力不从心。现在仅介绍basemap接班者cartopy。

7d090f05f78a6dc800fe464f50f3d845.png

二、Cartopy的安装 在前面已经推荐大家使用conda安装更新库包,从几个Python交流群反馈来看,请尽量不要混用pip与conda来安装库包,反复在pip和conda之间横跳最为致命。如果最开始选择conda,请尽量从一而终。安装Cartopy的命令主要有下面两种:
conda install cartopyconda install -c conda-forge cartopy###conda-forge是一个提供库包辅助社区
按照之前的教程,请随意新建一个文档,输入import cartopy ,如果没有报错(无事发生*囧*),说明库包已正常安装。 三、初识Cartopy

由于地球是球体,而我们使用的地图是平面的,将球型展开为平面进行绘制时有距离、面积的失真。所以地图学家们提出了各种各样的投影方式,来尽量减小某方面的失真。Cartopy作为专业地理制图库包,提供了非常多的投影方式,能够满足气象业务的需求(import cartopy.crs as ccrs)。其中需要我们重点关注的是:

默认投影(PlateCarree)

兰勃脱投影 (Lambert) 墨卡托投影 (Mercator)

极投影(我对此类投影的统一称呼,当然学名不叫极投影)

其中,默认投影适合单独省份或者地级市的绘制,这种情况下其变形基本无法看出(内蒙古的meteoer请走开);兰勃脱投影适合中纬度大范围绘制,比如绘制全中国大公鸡、东亚形势、西北太平洋等;墨卡托投影适合低纬度赤道附近的绘制,一般研究台风、纬向环流等(我也不是专门研究这个的,只能说也许、大概、差不离、估摸着是这样);极投影适合研究寒潮的北极冷涡。我找到了一张图展示了墨卡托形变(南极离赤道最远,面积变化最大 ):

4ea3640ac03b1e43bfced285f19528d6.gif

当然,默认制图时,中心经线一般为本初子午线。这样中国就偏安东部了,cartopy提供了修改中心经线的命令:

cartopy.crs.PlateCarree(central_longitude=0.0)
首先调出默认等距投影platecarree,在内部参数central_longitude处修改到你需要的中心经度。 四、实际操作 千读不如一练,Python气象绘图显然也是如此,下面通过简要的一幅小图,我们来直观感受cartopy的运作。
import matplotlib.pyplot as plt###引入库包import cartopy.crs as ccrsp
  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值