今天来分享下如何在GEE中计算雷达植被指数,雷达植被指数(Radar vegetation index,RVI)是基于特征向量分解得到的参数,常用以描述植被的疏密程度。所使用的数据为COPERNICUS/S1_GRD,为哨兵1号合成孔径雷达 (SAR) 数据。
合成孔径雷达具有全天候、全天时对地观测的能力以及电磁散射矢量特性和微波穿透性等优势,可准确反演森林和农作物等植被的分布、结构及长势等信息
计算代码如下:
var roi = ee.Geometry.Polygon(
[[[116.98472978918164, 39.24615801205016],
[116.98472978918164, 38.90714240105087],
[117.60408403722852, 38.90714240105087],
[117.60408403722852, 39.24615801205016]]], null, false);
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
// Load the Sentinel-1 ImageCollection, filter to Jun-Sep 2020 observations.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD')
.filterDate('2020-01-01', '2020-12-30')
.filterBounds(roi)
// Filter the Sentinel-1 collection by metadata properties.
var vvVhIw = sentinel1
// Filter to get images with VV and VH dual polarization.
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
.filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'))
// Filter to get images collected in interferometric wide swath mode.
.filter(ee.Filter.eq('instrumentMode', 'IW'));
print(vvVhIw);
var RVI = vvVhIw.map(function (image){
var date = image.get('system:time_start');
var rvi = image.expression('sqrt(vv/(vv + vh))*(vv/vh)',
{'vv': image.select('VV'),
'vh': image.select('VH')
}
);
return rvi.set('system:time_start', date);
});
var imageVisParam = {"opacity":1,
"bands":["VV"],
"min":0.01548,
"max":0.46221,
"gamma":1};
Map.addLayer(RVI.first().clip(roi), imageVisParam, 'RVI', false);
// Plotting of the graph:
var chart =
ui.Chart.image.seriesByRegion(
RVI,
roi,
// .filter(ee.Filter.eq('Field_ID', 10)),
ee.Reducer.mean(),
'VV',
10,
'system:time_start'
)
.setSeriesNames(['RVI'])
.setOptions({
title: 'RVI',
hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
vAxis: {
title: 'RVI',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['#fc0303'],
curveType: 'function'
});
print(chart);
声明:仅供学习使用!如果对你有帮助的话记得给小编点个赞