Fork me on GitHub

Cartopy绘图—叠加遥感影像

Cartopy绘图—叠加遥感影像

前言

​ 前次我们对站点数据进行克里金插值,绘制了水深克里金插值图。但很多时候我们还需要再叠加上遥感影像,将遥感影像置于底层,顶层显示专题图,这样出来的图更直观,且与地理要素更吻合,易于比较,如下图AOD浓度分布图(图片源自小xin之窗公众号)。这节就介绍一下叠加遥感影像的方法。

讨论

​ 叠加显示遥感影像的思路主要有以下两种:

  1. ax.imshow(data, extent, zorder)显示打开的图像,ax.contourf()显示数组插值得到的专题图,简单方便

  2. 也可以先保存专题图、遥感影像的图片,然后新建一个三维数组,以遥感影像数组为底图,再叠加写入专题图数组。此法较烦,属于造轮子行为,不采用

新增功能及其代码

  1. 叠加遥感影像

这里需要关注的是,在对ax导入投影ccrs.PlateCarree())后,需要在ax.imshow()中的extent参数设置该图像的角点坐标,以对应图框。这里笔者选用的是没有地理信息的Png图片,自定义了图片的角点坐标;如果输入是tiff遥感影像的话,可以用gdal读取出角点坐标。

  1. 设置专题图无值区域,透明显示

有时需要掩膜一些专题图值域范围,比如这里10米以上,14米以下区域不想显示,希望透明显示,可以用np.nan 或者np.ma.masked_array加以设置;也可以设置clevs的着色范围达到同样的目的。

结果展示

后记

  1. cartopy.ccrs常用于在绘图中导入投影fig.add_subplot(111, projection=ccrs.PlateCarree())
  2. ax.contourf()用于显示有lon、lat、data的插值数据
  3. ax.imshow()用于显示本地图片
  4. zorder可以设置叠加顺序
posted @ 2021-04-11 17:45  Rser_ljw  阅读(2016)  评论(0编辑  收藏  举报