目录
1 遥感生态指数(RSEI)
基于遥感技术综合多个因子构建的遥感生态指数RSEI(Remote Sensing based Ecological Index),以主成分分析法(PCA)集成绿度(NDVI)、湿度(WET)、热度(LST)和干度(NDBSI)4个指标,具有指标易获取、计算简单、权重无人为干扰等优点,能够快速的监测与评价区域生态质量。RESI的函数表达式为:RSEI=f(NDVI,WET,LST,NDBSI)。
本文利用MODIS数据来计算RSEI。NDVI和 LST 2 个指数直接选择MOD13A1和MOD11A2数据, WET采用缨帽变换获得,NDBSI则由裸土指数(SI)和建筑指数(IBI)2个指数合成,WET和NDBSI的计算均采用MOD09A1。
计算流程如下:在GEE中计算各年份4个遥感指数后,首先对4个指数进行标准化处理,避免各指标权重失衡;其次,利用改进的归一化差值水体指数(MNDWI)提取水体信息对各指数影像进行掩膜,消除水体对各指标权重的影响;然后在GEE中进行主成分分析,得到第一主成分(PC1)及相关统计结果;最后,进行PC1变换、正负值转置、标准化处理,得到各时相RSEI影像,导出到Google Driver后下载到本地进一步处理。
2 完整代码
// ****加载影像和研究区****
var roi = table;
var MOD09A1 = ee.ImageCollection('MODIS/006/MOD09A1')
.filterBounds(roi);
var LST_img = ee.ImageCollection('MODIS/006/MOD11A2')
.filterBounds(roi)
.select('LST_Day_1km');
var NDVI_img = ee.ImageCollection('MODIS/006/MOD13A1')
.filterBounds(roi)
.select('NDVI');
var palette = ["d73027","f46d43","fdae61","fee08b","d9ef8b","a6d96a","66bd63","1a9850"];
Map.centerObject(roi);
// ****MOD09A1去云函数****
function bitwiseExtract(value, fromBit, toBit) {
if (toBit === undefined) toBit = fromBit;
var maskSize = ee.Number(1).add(toBit).subtract(fromBit);
var mask = ee.Number(1).leftShift(maskSize).subtract(1);
return value.rightShift(fromBit).bitwiseAnd(mask);
}
function cloudfree_mod09a1(image) {
var qa = image.select('StateQA');
var cloudState = bitwiseExtract(qa, 0, 1);
var cloudShadowState = bitwiseExtract(qa, 2);
var cirrusState = bitwiseExtract(qa, 8, 9);
var mask = cloudSta