汛期,降水天气过程较多,持续降水会导致江河、湖泊、水库水位上涨,严重时甚至会引发洪水、泥石流、山体滑坡等自然灾害。近些年,暴雨导致的洪涝灾害给社会带来了巨大经济损失。鄱阳湖是中国第一大淡水湖,也是中国第二大湖,仅次于青海湖[1]。2020年6月29日至7月上旬,受持续暴雨影响,鄱阳湖水位暴涨,多站发生超历史洪水,屡破历史纪录。卫星遥感监测显示,7月14日6时,鄱阳湖主体及附近水域面积达4403 km2,为十年来最大[2]。暴雨洪水不仅在南方频发,近些年北方地区因极端天气导致的山洪地质灾害也多见报道。2018年7月22日8时至23日6时,宁夏贺兰山中北段西夏区、贺兰县、平罗县、大武口区突发大暴雨,贺兰山苏峪口最大降雨量达261 mm。暴雨引发贺兰山东麓西夏区、贺兰县、平罗县、大武口区沿线沟道发生洪水[3]。卫星遥感可以对特定区域长期连续观测,汛期利用卫星遥感技术及时有效监测江河、湖泊、水库空间分布及面积动态变化对防洪减灾具有重要意义。
通常,降水期常伴有云雾天气,尤其在持续降水期云层较厚。光学卫星,如Landsat-8 OLI、Sentinel-2 MSI、GF-1 WFV等在阴雨天难以发挥作用,而雷达卫星在恶劣的天气也能穿过云雾获取地表信息,因此其在洪水监测等方面有广泛的应用前景[4]。近年来,随着星载合成孔径雷达SAR(Synthetic Aperture Radar)技术的发展,世界范围雷达卫星种类和数量逐年增加。目前,常见的雷达卫星有中国GF-3、德国TerraSAR-X、加拿大RadarSat-2、日本ALOS-PalSAR、意大利COSMO-SkyMed、欧空局Sentinel-1等。鉴于SAR对地观测的全天时全天候特点,以及SAR对水体提取较为敏感的优势,开展SAR水体变化范围提取和监测研究,对提高水体变化监测的频率和准确性有着重要意义,为洪涝等的灾情评估提供了可能[4]。
鉴于欧空局关于Sentinel-1方面的技术资料丰富且数据可免费获取的特点,本篇博客重点介绍有关Sentinel-1数据获取、预处理及其在水体信息提取等方面的经验技巧,希望能给广大科技工作者提供一点帮助。
本篇博客涉及到或未涉及到的常用工具及学习资料见百度网盘链接:https://pan.baidu.com/s/1_EUvgkrvyhH2SXSexCOVYQ 提取码:jwa3
Sentinel-1是由A、B两颗同轨极轨卫星组成的星座,是欧空局“哥白尼计划”地球观测卫星系列之一。Sentinel-1 A、Sentinel-1 B分别于2014年4月3日和2016年4月25日发射升空,单颗星轨道周期为12 d,两颗星组网常规重访周期为6 d,最快重访时间为1~3 d。搭载一台5.404 GHz的C波段合成孔径雷达(SAR),最大覆盖幅宽为400 km,包含4种成像模式:SM(Stripmap)、IW(Interferometric Wide swath)、EW(Extra-Wide swath)和WV(Wave)模式,其中SM、IW和EW模式分别为单极化(HH/VV)和双极化(HH+HV/VV+VH)成像,WV模式为单极化(HH/VV)成像[5]。其中,干涉宽幅(IW)模式的影像为Sentinel-1主要拍摄数据,由3个条带拼接而成,采用了TOPSAR成像技术,具有空间分辨率高和幅宽大的特点[6]。Sentinel-1各成像模式参数见下表。Sentinel-1数据产品分为Level-0、Level-1、Level-2,其中,Level-1数据包含单视复数影像SLC(Single look complex)和地距影像GRD(Ground range detected)。GRD产品包含经过多视处理、采用WGS84椭球投影至地距的聚焦数据,相对于SLC数据,GRD数据消除热噪声以提高图像质量[7]。
模式 | 幅宽/m | 分辨率/(距离向(m)×方位向(m)) | 极化类型 |
---|---|---|---|
SM | 80 | 5×5 | HH+HV,VH+VV,HH,VV |
IW | 250 | 5×20 | HH+HV,VH+VV,HH,VV |
EW | 400 | 25×100 | HH+HV,VH+VV,HH,VV |
WV | 20×20 | 5×20 | HH |
目前,Sentinel-1卫星数据常规获取方式有三种。
哥白尼开放数据中心(https://scihub.copernicus.eu/)提供了图形用户界面(Open Hub)和非图形用户界面(API Hub)两种数据下载方式,可下载Sentinel-1、Sentinel-2、Sentinel-3、Sentinel-5P产品数据。Sentinel-5P官方已提供登陆用户名和密码,其他数据下载需要申请账号。
少量数据下载推荐使用“Open Hub”图形用户界面方式获取,大量数据下载推荐使用“API Hub”命令行方式。本篇博客重点介绍通过“Open Hub”(https://scihub.copernicus.eu/dhus/#/home)下载Sentinel-1 GRD数据方法。
首先,通过下图右侧的方向按钮移动至研究区,利用小方块按钮选定研究区;再通过左侧界面输入日期“Sensing period”,勾选“Mission:Sentinel-1”,从“Product Type”选择“GRD”,其他参数根据需要设置。稍等片刻,待数据检索完毕。近期由于网站登陆受限,建议凌晨或早上错峰下载。
查好的数据可通过复制URL链接利用本地下载工具下载,推荐IDM下载,支持断点续传。为防止账号冻结,使用前需将IDM最大连接数设置为2,一次下载一景。IDM工具见常用工具及学习资料。
阿拉斯加卫星数据中心(https://search.asf.alaska.edu/#/)提供Sentinel-1数据下载服务。完成账号申请,通过右上角“Sign in”登陆。选择好研究区,通过“Filters”设置筛选条件,点击“SEARCH”数据检索。查询结果如下图所示,从左侧列表选中数据可查看影像属性。将数据加入购物车,打开购物车点击界面右侧下载按钮即可直接下载或通过Python程序批量下载。推荐使用Python下载,Python版本需满足> =2.6.5, 2.7.5, 3.0。
Python下载方法简单,在程序所在目录打开命令行窗口,根据提示依次输入用户名和密码,稍等片刻,即可完成下载。Python命令行下载窗口如下图所示。笔者测试时间为北京时间上午8:00左右,下载速度比较可观,平均6.17 MB/sec。
GEE谷歌云计算平台(https://earthengine.google.com/)提供Sentinel-1数据预处理、下载等服务。通过下图右侧“Code Editor”进入数据查询页面,调用平台中相应的函数对覆盖研究区数据进行筛选下载。示例代码为查询2020年7月16日覆盖图标所在位置的Sentinel-1 GRD升轨影像。
以上为Sentinel-1数据获取的三种主要方式。实际上,每种方法各有特点,通过ESA欧空局获取数据时效性最优,而通过ASF美国NASA数据中心可批量下载、速度快,GEE平台则提供了海量遥感数据预处理功能,选择哪种方法根据个人能力和需求而定。
ESA欧空局提供了处理Sentinel-1的专业免费软件SNAP(Sentinel Application Platform),本节重点介绍基于SNAP 6.0的Sentinel-1数据处理流程。SNAP工具见常用工具及学习资料。
分步处理的每一步都会有结果输出,便于初学者直观理解SAR数据处理过程。导入数据的方法很简单,打开SNAP,将准备好的Sentinel-1 *.zip压缩文件拖入界面即可。
为提高效率,笔者测试时利用Raster→Subset对原始影像进行了裁切。可利用鼠标调整下图箭头所指区域尺寸来改变影像大小。裁切影像不仅提高计算效率,还可将其他地物的后向散射干扰降低到最小。这一步为选做,笔者测试时进行了该操作。
轨道校正会自动下载精确的轨道文件并更新Sentinel-1卫星数据中元数据文件(.xml)中的Sentinel-1卫星轨道状态信息,默认的元数据文件中轨道状态数据精度不是很高。这个精确的轨道文件通常需要两周左右才能产生,一般来说,如果可以更新更精确的轨道位置,这个操作应该做,特别是在需要较高的配准处理时。注意,这个操作需要联网,因为需要联网下载精确轨道文件[8]。
建议勾选“Do not fail if new orbit file is not found”选项,避免下载不到精轨数据导致的操作失败。设置好参数,点击Run即可。该操作仅仅替换元数据文件(.xml)的某些内容,不会改变波段信息[8],笔者测试时进行了该操作。
热噪声是SAR卫星系统自带的噪声(可以看作背景噪声),SAR是主动成像方式,需要发射机发出电磁波信号(能量),SAR天线从发出电磁波到接收电磁波所经历的距离长(Sentinel-1卫星距地面高度约700 km),由于存在波的球面扩散效应,能量呈距离平方反比衰减,因此,SAR卫星装置(发射机、功率放大器、接收机等)内部的热量(热损耗)不可忽视[8]。
这样以来,获取到的SAR影像都带有热噪声,热噪声会影响雷达后向散射信号精度,但是如果我们接收到的SAR有效信号比其强得多(即信噪比高),热噪声影响是可以忽略的[8]。对于Sentinel-1卫星来说,仪器在设计方面已经将热噪声影响降到了最低,因此,这是一个可选的预处理操作。通过Radar→Radiometric→S-1 Thermal Noise实现,参数保持默认即可,笔者测试时未进行该操作。
辐射定标是接收的后向散射信号(能量)转化为有单位的物理量(有一些是没有单位的比例值),比如这里的后向散射系数[8]。Sentinel-1 Level 1影像通常没有进行辐射校正,存在着显著的辐射偏差[9]。对于SAR数据而言,由于云层的穿透性,只需要做辐射定标即可,不存在光学影像的大气校正[8]。
通过Radar→Radiometric→Calibrate实现,参数保持默认即可,笔者测试时进行了该操作。
将整个有效合成孔径长度分成5段,分别对同一场景进行成像,然后将所得的图像求和叠加得到一幅SAR图像,提高SAR图像的信噪比,抑制斑点噪声,提高图像可解释性[10]。GRD数据已经过多视处理,其像素代表正方形的地面区域。尽管还可以进一步做多视,因为多视可以消除或者减弱相干斑的影响,但是,多视会降低影像的分辨率[8],笔者测试时未进行该操作。
通过Radar→Multilooking实现。勾选“GR Square Pixel”像素代表的区域会处理成正方形,还可手动调整视数“Number of Range Looks”。
由于合成孔径雷达发射的是相干电磁波,连续雷达脉冲的回波在相干处理时,由于表面粗糙,各散射体反射的电磁波的相干叠加,各基本散射体与传感器间距离不一,导致回波在相位上不相干,从而造成回波强度逐像素的变化,在模式上表现为颗粒状,从而使得SAR图像出现随机分布的黑白斑点,这被称为斑点(Speckle)噪声[11]。去除相干斑的滤波器有多种,推荐使用Refined Lee滤波器(改进的Lee滤波器),这是目前最常用的相干斑滤波器,它是一种自适应滤波器(滤波窗口可以根据区域自动调整),处理效果较为出色[8]。通过Radar→Speckle Filtering→Single Product Speckle Filter实现,笔者测试时进行了该操作。
合成孔径雷达侧视成像,地形的起伏会对SAR影像造成很大的几何畸变,并导致透视收缩、叠掩、阴影等现象,为了进行多时相分析,必须进行地形校正[9],使用Radar→Geometric→Terrain Correction→Range-Doppler Terrain Correction工具,在对影像进行地形校正的同时,完成地理编码处理。
推荐联网自动下载DEM数据,导入外部DEM数据可能会报错。按下图设置好参数,红框标注的是几个需要注意的地方。DEM推荐使用SRTM 3Sec(Auto Download)或SRTM 1Sec HGT(Auto Download),两者的区别主要是分辨率(90 m /30 m)。影像分辨率保持默认10 m即可,取消勾选Mask。点击Run会自动下载DEM,执行地形校正,笔者测试时进行了该操作。
上述处理后得到的是线性比例单位的后向散射系数,其值通常是很小的正值(接收器接收的雷达后向散射或者功率很小,主要原因是传输距离远)。分贝化(对数变换)有几个好处:一是分贝化的雷达后向散射系数范围近似常见的高斯分布;二是雷达后向散射系数分贝化后,数据的存储位数可以变小(可以由双精度的double型数据存为float浮点型数据),节省存储空间;三是雷达后向散射系数分贝化后,可视化以及数据分析上更方便[8]。通过Raster→Data Conversion→Converts bands to/from dB实现。下图左侧为分贝化前,右侧为分贝化后,可以看出,分贝化后水体部分明显得到增强,笔者测试时进行了该操作。
至此,Sentinel-1 GRD数据的全部预处理步骤介绍完毕,下面将介绍基于SNAP的流程图处理方法。
分步处理需要读写数据多次,比较耗费时间,而流程图可以极大提高运算效率。通过Tools→GraphBuilder,在空白处右键Add添加读(Read)、写(Write)以及上述处理步骤。确认无误后,点击Run即可完成流程图处理。具体操作方法可参考博客流程图预处理。
每年汛期7~8月是全国各地洪涝灾害的高发期,近日来鄱阳湖水情发展动态受到各界媒体关注,及时有效利用雷达卫星数据做好暴雨期水体信息提取对防汛救灾至关重要。本节将目光聚焦至北方干旱半干旱地区,重点介绍利用Sentinel-1 GRD数据监测2018年宁夏贺兰山中北段“7.22”暴雨洪涝灾害的技术方法。
2018年数据如下:
S1A_IW_GRDH_1SDV_20180727T105404_20180727T105429_022979_027E6F_1611
S1A_IW_GRDH_1SDV_20180727T105429_20180727T105454_022979_027E6F_21F8
为和2018年水体面积对比,同时选取2020年同期数据如下:
S1A_IW_GRDH_1SDV_20200716T105416_20200716T105441_033479_03E123_D7AD
S1A_IW_GRDH_1SDV_20200716T105441_20200716T105506_033479_03E123_BD76
数据查询及下载方法参考第二节,笔者这里利用了GEE对数据进行预处理,代码如下,最开始需要自己勾画或导入一个研究区矢量数据“geometry”,最后数据导出采用了分块形式(fileDimensions)以避免单幅数据量过大导致下载失败。分块影像拼接方法可参考博客或常用工具及学习资料。
//first load geometry.
//using geometry center cordination and display.
Map.centerObject(geometry, 7);
//select VH band.
var imgVH = ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
.filter(ee.Filter.eq('instrumentMode', 'IW'))
.filter(ee.Filter.date('2020-07-15','2020-07-17'))
.filterBounds(geometry)
.select('VH');
//Filter ASCENDING.
var asc_vh = imgVH.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'));
//mosaic.
var asc_vh_mosaic = asc_vh.mosaic();
//load layers.
Map.addLayer(asc_vh_mosaic, {min: -30, max: 5}, '20200716_hls_asc_vh', true);
//select VV band.
var imgVV = ee.ImageCollection('COPERNICUS/S1_GRD')
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
.filter(ee.Filter.eq('instrumentMode', 'IW'))
.filter(ee.Filter.date('2020-07-15','2020-07-17'))
.filterBounds(geometry)
.select('VV');
//Filter ASCENDING.
var asc_vv = imgVV.filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'));
//mosaic.
var asc_vv_mosaic = asc_vv.mosaic();
//load layers.
Map.addLayer(asc_vv_mosaic, {min: -30, max: 5}, '20200716_hls_asc_vv', true);
//export data to google drive.
Export.image.toDrive({
image: asc_vh_mosaic,
description: '20200716_hls_s1_asc_vh_tile',
scale: 10,
region: geometry,
maxPixels: 1e10,
fileDimensions:10240,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: asc_vv_mosaic,
description: '20200716_hls_s1_asc_vv_tile',
scale: 10,
region: geometry,
maxPixels: 1e10,
fileDimensions:10240,
crs: "EPSG:4326"
});
参考Sentinel-1双极化数据SDWI水体提取指数公式[12]:
S D W I = ln ( 10 × V V × V H ) − 8 SDWI=\ln (10×VV×VH)-8 SDWI=ln(10×VV×VH)−8
在ENVI 5.3利用Band math工具实现指数计算:
a l o g ( 10 × b 1 × b 2 ) − 8 alog(10×b1×b2)-8 alog(10×b1×b2)−8
式中, b 1 b1 b1、 b 2 b2 b2分别表示VV和VH波段。
从直方图分布情况来看,SDWI双峰形态最明显,VV次之,VH最差。因此,SDWI最适合利用双峰法提取水体。理论上,SDWI大于0时为水体,小于0时为非水体,但通过反复试验对比,研究区水体提取阈值为0.35,即SDWI>0.35为水体,反之,则为非水体。为避免贺兰山山体阴影的影响,通过叠加DEM分析发现水体区域还需满足DEM<1180。通过Decision Tree实现以上条件得到水体初步提取结果。
初步提取结果难免会存在一些斑点,可利用分类后处理工具对斑点进行剔除,笔者这里使用了Majority/Minority Analysis工具,参数设置见下图。其中,Kernel Size可根据情况调整,数值越大,斑点剔除效果越明显,但也不宜过大,笔者测试时设定11×11效果最佳。初步提取结果和斑点剔除结果对比如下图所示。
从效果来看,斑点剔除功能保留了研究区的主要水体信息,大量斑点像元被剔除,水体边缘得到增强。有一点需要注意的是,分类后数据如缺失投影信息可通过编辑头文件“spatial reference”将投影信息修改为原数据投影即可。实际上,水体提取的方法很多,在确定阈值方面还可借鉴Otsu算法,提取水体也可采用面向对象等方法,相关的资料网上有很多,读者感兴趣可自行查阅,这里不再深入讨论。
采用上一节介绍的水体提取方法对2020和2018年7月宁夏贺兰山滞洪区重点区域星海湖、镇朔湖水体面积及空间分布进行提取。
星海湖位于宁夏石嘴山市大武口区城区东部,山水大道穿湖而过。星海湖以原有湿地抢救性保护和合理利用为出发点,以防洪调洪、蓄水补水、调节气候为目的,以营造“水在城中、城在林中”的山水园林城市为表现形式,以防洪工程、中水自然氧化处理工程、湿地整治工程、退耕还湖(林)工程为依托,以整治形成的湿地景观改善生态环境、完善城市功能、打造城市水文化、提升城市形象为经济发展的着力点综合整治而成。自开工建设以来,先后完成了星海湖北域、东域、西域、南域、中域、新域整治工程,将大武口区的城市防洪标准由10年一遇提高到50年一遇[13]。
镇朔湖国家湿地公园位于宁夏石嘴山市前进农场[14],西依贺兰山,是由黄河水及贺兰山雨雪川流汇集的永久性淡水湖。镇朔湖湿地面积16 km2,其中镇朔湖拦洪库占地面积8.23 km2。辽阔的水域造就了镇朔湖丰富的野生动植物资源,是多种珍贵稀有水禽的“中转站”和“栖息地”。近年来,随着湿地生态系统面积扩大,周边荒漠化土地面积逐步减少,农民生产生活水平也稳步提高。镇朔湖拦洪库始建于上世纪70年代,在抵御贺兰山山洪、保护中下游乡村村民生命财产安全以及渠道、铁路、公路等重要基础设施安全方面,发挥了重要作用[15]。
利用ArcGIS对水体提取结果进行专题制图,通过属性表计算几何功能统计得到水体面积。从监测结果来看,2018年“7.22”暴雨后星海湖、镇朔湖水体面积明显增大,尤其镇朔湖区域农田积水严重。而目前,星海湖、镇朔湖水体面积较2018年有所减小,滞洪空间较大。
Sentinel-1雷达数据具有全天时、全天候对地观测能力,且数据时空分辨率高、可免费获取,非常适合对重点区域水体进行连续动态变化监测。本篇博客从Sentinel-1 GRD数据获取、数据预处理、水体信息提取及专题制图等四个方面展开介绍,一是希望通过博客和大家分享一些Sentinel-1数据使用方面的经验技巧,二是希望能够在写博客的过程中发现一些问题作为今后的研究方向。最后,希望本篇博客能够对广大科技工作者在水情监测方面有所帮助。
[1]《江西省自然地理志》编篡委员会.江西省自然地理志[M].北京:方志出版社,2003.
[2] 中国气象局[EB/OL].http://www.cma.gov.cn/2011xwzx/2011xqxxw/2011xqxyw/202007/t20200723_559129.html,2020.
[3] 中国山洪灾害防治网[EB/OL].http://www.qgshzh.com/show/6fb6524c-4029-4fcb-9c6d-d30ecf2d0ff3,2018.
[4] 黄萍,许小华,李德龙.基于Sentinel-1卫星数据快速提取鄱阳湖水体面积[J].水资源研究,2018,7(5):483-491.
[5] ESA.Sentinel-1 Mission Details[EB/OL].https://earth.esa.int/web/guest/missions/esa-operational-eo-missions/sentinel-1,2014.
[6] 孙亚勇,黄诗峰,李纪人,等.Sentinel-1A SAR数据在缅甸伊洛瓦底江下游区洪水监测中的应用[J].遥感技术与应用,2017,32(2):282-288.
[7] 马丽云,李建刚,李帅.基于FY-3/MERSI数据的新疆融雪性洪水灾害监测[J].国土资源遥感,2015,27(4):73-78.
[8] SNAP处理Sentinel-1 IW GRD数据[EB/OL].https://blog.csdn.net/lidahuilidahui/article/details/105443366,2020.
[9] 曾玲方,李霖,万丽华.基于Sentinel-1卫星SAR数据的洪水淹没范围快速提取[J].地理信息世界,2015,22(5):100-103.
[10] 吴文会,王丽欣,马卓.基于Sentinel-1B SAR数据的洪水提取和监测[J].测绘与空间地理信息,2019,42(4):110-111.
[11] 韩春明,郭华东,王长林.SAR图像斑点噪声抑制的本质[J].遥感学报,2002(6):470-474.
[12] 贾诗超,薛东剑,李成绕,等.基于Sentinel-1数据的水体信息提取方法研究[J].人民长江,2019,50(2):213-217.
[13] 星海湖[EB/OL].https://baike.baidu.com/item/%E6%98%9F%E6%B5%B7%E6%B9%96/10783308?fr=Aladdin,2019.
[14] 宁夏镇朔湖国家湿地公园[EB/OL].https://baike.baidu.com/item/%E5%AE%81%E5%A4%8F%E9%95%87%E6%9C%94%E6%B9%96%E5%9B%BD%E5%AE%B6%E6%B9%BF%E5%9C%B0%E5%85%AC%E5%9B%AD/16749451?fr=Aladdin,2019.
[15] 镇朔湖拦洪库改造[EB/OL].https://www.sohu.com/a/402187145_120229638?_f=index_pagefocus_5&trans=000014_bdss_dkygcbz,2020.