GEE Savitzky-Golay 滤波 以Sentinel-1数据为例

文章介绍了如何利用Savatsky-Golay滤波器对Sentinel-1卫星数据的VH波段进行去噪处理。通过ee.Filter.maxDifference设置时间窗口,并应用滤波函数对数据进行平滑,生成了平滑后的波段d_0_VH和一阶导数d_1_VH。这种滤波方法有助于凸显数据变化趋势,提高了数据的分析效果。
摘要由CSDN通过智能技术生成

Sentinel-1由于其容易受到扰动而出现噪声,在数据分析时,通过平滑滤波对其去噪,更容易体现数据本身反映的变化趋势。
引用库,库函数的使用说明:添加链接描述

var oeel=require('users/OEEL/lib:loadAll');

Sentinel-1数据调用

var dataset_s1=ee.ImageCollection('COPERNICUS/S1_GRD')
        .filter(ee.Filter.eq('instrumentMode', 'IW'))
        .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
        .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
        // .filter(ee.Filter.eq('platform_number','A'))
        .filterBounds(geometry)
        // .filterDate(year+'-01-01',year+'-02-01')
        .filter(ee.Filter.date(startDate, endDate))
        .filter(ee.Filter.eq('orbitProperties_pass', 'ASCENDING'))
        
        .map(function(image) {
          var edge = image.lt(-30.0);
          var maskedImage = image.mask().and(edge.not());
          return image.updateMask(maskedImage);
        });

调用SG滤波函数,对调用的该段Sentinel-1数据的VH波段进行SG滤波。

var dataset_s1_sg=oeel.ImageCollection.SavatskyGolayFilter(dataset_s1,
  ee.Filter.maxDifference(1000*3600*24*36, 'system:time_start', null, 'system:time_start'),
  function(infromedImage,estimationImage){
  return ee.Image.constant(ee.Number(infromedImage.get('system:time_start'))
  .subtract(ee.Number(estimationImage.get('system:time_start'))));},2,['VH']);

ee.Fileter.maxDifference的具体介绍:点这里,这里对影像时间的提取用到了’system:time_start’属性,该属性描述的时间是以毫秒为单位的,因此前面的具体时间窗口,需要10003600*24进行天→毫秒的单位转化。
滤波结果的控制台显示。第一句代码展示滤波后的全部结果,第二句代码将滤波前后的VH波段摘出来单独成像。

print('Smoothed data',ui.Chart.image.series(dataset_s1_sg, geometry, ee.Reducer.mean(), 10));
print('Smoothed data',ui.Chart.image.series(dataset_s1_sg.select('d_0_VH','VH'), geometry, ee.Reducer.mean(), 10));

滤波后增加了几个波段,d_0_VH是VH波段经SG滤波平滑后的结果,d_1_VH则是平滑函数的一阶导数,这里是用了2阶函数做平滑,因此只有一个导数波段;改变SG滤波函数的阶数,这里的导数波段会依次增加。
在这里插入图片描述比较VH与平滑结果d_0_VH,可以看到拟合效果还是不错的。在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值