Desertification
- 1. 研究背景
-
- 1.1 参考论文
- 1.2 参数获取
-
- 1.2.1 NDVI
- 1.2.2 Albedo
- 1.2.3 Normalizing indices
- 1.2.4 Calculating the quantitative relationship
- 1.2.5 Calculating DDI
- 2. GEE
-
- 2.1 数据
- 2.2 GEE code
-
- 2.2.1 Study region
- 2.2.2 Reomove cloud for Landsat-8
- 2.2.3 Calculate NDVI and Albedo
- 2.2.4 Normalization
- 2.2.5 Obtain random sampling points
- 2.2.6 Construct a linear regression model
- 2.2.7 Recalculate NDVI and Albedo
- 2.2.8 Calculating DDI
- 3. Reference
1. 研究背景
土地荒漠化是指包括气候变异和人类活动在内的种种因素造成的干旱半干旱和亚湿润干地区的土地退化。及时准确地掌握土地荒漠化发生发展情况是有效防止和治理土地荒漠化的基本前提。目前遥感技术在土地荒漠化监测中起到了不可替代的作用。使用遥感影像数据可以提取土地荒漠化信息,通过遥感影像所表现的不同信息,可以判断土地荒漠化的发生与否以及发展程度等。在进行土地荒漠化信息提取时,常用的方法有人工目视解译方法、监督分类方法、非监督分类方法、决策树分层分类方法、神经网络自动提取方法等。在实际应用中,通常选择其中的一种或结合几种方法进行分类提取。
目前,一种比较新的方法是通过构造“植被指数(NDVI)——反照率(Albedo)特征空间”来进行荒漠化信息遥感提取。荒漠化过程及其地表特性的变化能在 Albedo-NDVI特征空间中得到明显直观的反映。在Albedo-NDVI特征空间中,可以利用植被指数和地表反照率的组合信息,通过选择反映荒漠化程度的合理指数,就可以将不同荒漠化土地有效地加以区分,从而实现荒漠化时空分布与动态变化的定量监测与研究。而这个问题的合理解决,实际上就是如何根据需要采用一定的综合指标来划分Albedo-NDVI特征空间。
目前,关于荒漠化的数据较少,且不同研究论文所得结论不一,因此,有必要结合GEE,探究土地荒漠化的进展。在这里我们就随便选择一个研究区即可。
1.1 参考论文
1.2 参数获取
在GEE 云平台中,运用云掩膜函数对遥感影像中被云及云阴影覆盖的区域进行掩膜处理。再根据公式NDVI公式,计算研究区NDVI值,接下来建立的反照率反演模型,对研究区的Albedo进行反演。然后对归一化后的NDVI与Albedo进行线性回归分析确定斜率值(a),最终建立DDI反演模型。
1.2.1 NDVI
1.2.2 Albedo
1.2.3 Normalizing indices
1.2.4 Calculating the quantitative relationship
1.2.5 Calculating DDI
2. GEE
2.1 数据
USGS Landsat 8 Level 2, Collection 2, Tier 1
2.2 GEE code
2.2.1 Study region
var table = ee.FeatureCollection("users/cduthes1991/boundry/China_province_2019")
.filter(ee.Filter.eq('provinces','ningxia'));
var roi = table.geometry();
Map.addLayer(roi, {
'color':'blue'}, 'StudyArea');
Map.centerObject(roi, 7);
2.2.2 Reomove cloud for Landsat-8
/*****************************************************************
* process satellite image
*****************************************************************/
// reomove cloud for Landsat-8
function rmL8Cloud(image) {
var cloudShadowBitMask = (1 << 4);
var cloudsBitMask = (1 << 3);
var qa = image.select('QA_PIXEL');
var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
.and(qa.bitwiseAnd(cloudsBitMask).eq(0));
return image.updateMask(mask)
.copyProperties(image)
.copyProperties(image, ["system:time_start"]);
}
// Applies scaling factors.
function applyScaleFactors(image) {
var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
return image.addBands(opticalBands, null, true)
.addBands(thermalBands, null, true);
}
// calculate Albedo
function Albedo_landsat(image){
var alb = image.expression(
"(0.356*blue)+(0.130*red)+(0.373*nir)+(0.085*swir)+(0.072*swir2)- 0.0018", //0.0018 VS 0.018
{
'red': image.select('SR_B4'),
'blue': image.select('SR_B2'),
'nir': image.select('SR_B5'),
'swir': image.select('SR_B6'),
'swir2': image.select('SR_B7')
});
return image<