罗亚飞 简子怡 祁雅莉 张大瀚
(广东海洋大学电子与信息工程学院 广东湛江 524088)
随着高分辨率哨兵系列卫星(例如:Sentinel-1,Sentinel-2,Sentinel-3等)的出现,欧空局自主研发了与上述Sentinel-1/2/3卫星数据相适应的开源遥感数据处理平台-哨兵数据应用平台(Sentinel Application Platform,SNAP)。SNAP不仅支持Sentinel-1/2/3任务,而且还支持ERS-ENVISAT、Proba-V和一系列第三方任务的卫星数据处理等[1]。SNAP包含了一系列开源工具箱,如Sentinel-1 Toolbox(S1TBX)、Sentinel-2 Toolbox(S2TBX)、Sentinel-3 Toolbox(S3TBX)、SMOS Toolbox和PROBA-V Toolbox。其中,S1TBX专门用于处理雷达数据;S2TBX专门用于处理多光谱数据;S3TBX工具箱则由一套丰富的可视化、分析和处理工具组成,适用于Sentinel-3 OLCI和SLSTR数据的处理。作为一个多任务遥感工具箱,上述Sentinel工具箱还支持Envisat,MODIS,Landsat TM等第三方数据的处理。SNAP可用于图像可视化和分析,处理链自动化等,可对哨兵系列数据等光学遥感数据和雷达遥感数据进行诸如几何校正、辐射校正、裁剪、镶嵌等一系列处理。许多国内高校遥感图像处理实践课多是采用ENVI、ERDAS、PCI等软件进行讲授,然而这些软件均为国外遥感公司垄断的商业软件。目前,对开源遥感图像处理软件如SNAP等的介绍较少。作为开源软件,SNAP为遥感相关学科研究人员带来了便利,使得遥感数据处理分析得以更好地开展。因此,本文将以在海洋遥感教学上的应用为例,介绍SNAP软件的两个应用案例,以期为海洋类的专业教学带来帮助。
SNAP是用于处理、显示、分析和可视化遥感地球数据的开源软件包。SNAP目前支持的Sentinel 2-MSI和Sentinel 3-OLCI等遥感数据常被用于海洋水色遥感研究,其附加的同步辅助数据可用来标定和校正大气成分,以获取海洋表面水体信号。SNAP还支持第三方插件,如第三方大气校正插件Sen2Cor可被添加到SNAP,以支持不同大气校正算法的选择。SNAP还可以进行时序分析等。总之,SNAP是一个综合的软件包,可用于处理海洋水色及其他遥感数据。下面将通过两个案例来观察SNAP在海洋遥感当中的应用。
SNAP可以读取遥感L1级数据和L2级数据。以Sentinel 2-MSI为例,L1级数据又可分为L1A、L1B和L1C3种不同数[2]。通过欧空局提供的免费数据获取网站SciHub可以下载L1C级别格式的数据。其中,L1C级是已经过几何校正、辐射定标但没有经过大气校正的数据。用户在使用的时候只需再对L1C级数据进行大气校正,即可得到L2A级数据。L2A即为经过大气校正的真实地表反射率数据。SNAP通过加载后缀为MTD_MSIL1C.xml的文件可以直接打开Sentinel 2-MSI的L1C数据。海洋L1级以上数据的格式大都是netcdf格式。利用SNAP可以方便地管理和操作NetCDF数据集。打开SNAP软件,点击File→Open Product,选择要打开的L2级产品,即可添加数据。同时,通过鼠标滚轮可以放大和缩小图像。另外,还可以实现读取数值,同步显示等操作。如图1所示为利用SNAP加载的我国东南沿海L2级叶绿素数据。可以看到东南沿海叶绿素浓度整体呈现近岸高远岸低的特点。
通过Raster→Subset可以对数据进行当前视窗裁剪或输入经纬度进行矩形裁剪,裁剪后数据仅保存在内存,如果需要保存文件则需通过Save Product,然后选择文件夹进行保存。利用SNAP软件,不仅可以读取L1和L2级数据,而且还可以进行投影,裁剪,直方图统计、地物光谱分析和大气校正等操作。下面将通过两个案例来观察SNAP在海洋遥感当中的具体应用。
本案例利用从NASA的oceandata网站获取的2010年1月全球平均海表面温度数据(https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/MApped/Seasonal/9km/sst/2010/)和历史全球平均海表面温度数据(https://oceandata.sci.gsfc.nasa.gov/MODIS-Aqua/MApped/Seasonal_Climatology/9km/sst/),来研究2010年1月的厄尔尼诺现象。具体步骤如下:首先加载数据,然后在Raster下面找到Collocation组合文件,再运用Band Maths进行波段运算,计算得出海表面温度异常波段。通过Reprojection进行投影、Subset进行裁剪,以便显示高值异常区来观察厄尔尼诺现象。最后添加经纬度,调整经纬网参数,在图例属性里可以选择合适的图例样式,如果没有合适的也可以下载其它样式图例进行添加,在图例属性里将背景值设置为黑色,导出影像和图例,出图。结果如图1所示,在厄尔尼诺的情况下,赤道太平洋中部及东部的表面温度较正常情况高。
图1 SNAP读取海洋遥感数据
图2 海表面温度异常-厄尔尼诺现象
传感器在获取信息过程中,易受到气溶胶散射,以及大气分子等的影响而引起误差,因此,在水色遥感反演中,必须通过大气校正来消除这些影响[2]。SNAP自带部分大气校正算法,如C2RCC,C2RCC算法是基于神经网络技术的“二类水体区域性近岸海域水色”反演算法[3],适用于Sentienl 3-OLCI和Sentinel 2-MSI等在轨运行的卫星遥感数据的大气校正。除了自带的C2RCC外,iCOR和Sen2Cor等大气校正算法软件可以作为第三方插件安装到SNAP中,实现Sentienl 3-OLCI和Sentinel 2-MSI等的大气校正。本研究利用第三方插件iCOR算法对2018年9月9日过境黄河口的Sentinel 2-MSI影像进行大气校正。Sentinel 2-MSI遥感影像可以从欧空局官网https://scihub.copernicus.eu/dhus//home免费下载。
具体步骤如下:先安装好iCOR插件,打开SNAP,通过Optical→iCOR→iCOR SENTINEL-S2打开大气校正处理器,I/P Parameters部分输入要校正的影像,输出会自动填充名称,选择输出路径,Processing Parameters部分可以自行调整大气校正参数。例如,是否进行邻近校正和耀斑校正等,设置好后点击Run运行大气校正。耐心等待校正完毕。结果如图3所示,大气校正前后的RGB影像从图上看似乎没有明显差异,但通过查看光谱可以发现两者的光谱反射率差异明显(图4),尤其在蓝波段。大气校正前的水体和植被光谱曲线在蓝波段偏高,而大气校正后的光谱曲线在蓝波段的光谱值明显降低,只有经过大气校正后,才能获取更真实的反射率信息,为后续反演物理参量打下基础。
图3 大气校正前(左图)和大气校正后(右图)RGB影像
图4 大气校正前后水体光谱曲线(左图)和植被光谱曲线(右图)
海洋遥感是本校海洋技术专业教学的重要内容。本文以SNAP软件为例,介绍了其在海洋遥感数据处理中的主要作用。SNAP提供的海洋遥感数据读取、数据处理,如大气校正等关键步骤,能够满足海洋水色遥感数据的处理。因此,利用SNAP软件,能帮助海洋技术专业学生更好地应用专业技能解决海洋科学问题。