目錄
1 植被指數
2 完整代碼
3 運行結果?
1 植被指數
植被指數 | 全名 |
---|---|
NDVI | 歸一化差值植被指數 |
GNDVI | 綠色歸一化差值植被指數 |
EVI | 增強植被指數 |
EVI2 | 雙波段增強植被指數 |
DVI | 差值植被指數 |
GDVI | 綠色差植被值指數 |
RVI | 比值植被指數 |
SAVI | 土壤調整植被指數 |
OSAVI | 優化土壤調整植被指數 |
MSAVI | 修改土壤調整植被指數 |
NDPI | 歸一化差值色素指數 |
2 完整代碼
Map.centerObject(geometry, 8);function maskS2clouds(image) {var qa = image.select('QA60');var mask = qa.bitwiseAnd(1 << 10).eq(0).and(qa.bitwiseAnd(1 << 11).eq(0));return image.updateMask(mask).divide(10000).set(image.toDictionary(image.propertyNames()));
}function addVegetationIndices(image) {var nir = image.select('B8');var red = image.select('B4');var green = image.select('B3');var blue = image.select('B2');var swir1 = image.select('B11');var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI').clamp(-1, 1);var gndvi = nir.subtract(green).divide(nir.add(green)).rename('GNDVI').clamp(-1, 1);var evi = image.expression('2.5 * (NIR - RED) / (NIR + 6 * RED - 7.5 * BLUE + 1)',{'NIR': nir, 'RED': red, 'BLUE': blue}).rename('EVI').clamp(-1, 3);var evi2 = image.expression('2.5 * (NIR - RED) / (NIR + 2.4 * RED + 1)',{'NIR': nir, 'RED': red}).rename('EVI2').clamp(-1, 3);var dvi = nir.subtract(red).rename('DVI');var gdvi = nir.subtract(green).rename('GDVI');var rvi = nir.divide(red).rename('RVI').clamp(0, 20);var savi = image.expression('(1.5 * (NIR - RED)) / (NIR + RED + 0.5)',{'NIR': nir, 'RED': red}).rename('SAVI').clamp(-1, 1);var osavi = image.expression('(NIR - RED) / (NIR + RED + 0.16)',{'NIR': nir, 'RED': red}).rename('OSAVI').clamp(-1, 1);var msavi = image.expression('0.5 * (2 * NIR + 1 - sqrt(pow(2 * NIR + 1, 2) - 8 * (NIR - RED)))',{'NIR': nir, 'RED': red}).rename('MSAVI').clamp(-1, 1);var ndpi = image.expression('(NIR - (0.74 * RED + 0.26 * SWIR1)) / (NIR + (0.74 * RED + 0.26 * SWIR1))',{'NIR': nir, 'RED': red, 'SWIR1': swir1}).rename('NDPI').clamp(-1, 1);return image.addBands([ndvi, gndvi, evi, evi2, dvi, gdvi, rvi, savi, osavi, msavi, ndpi]);
}var s2 = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED').filterBounds(geometry).filterDate('2024-05-01', '2024-09-30').filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20)).map(maskS2clouds).map(addVegetationIndices);var viNames = ['NDVI','GNDVI','EVI','EVI2','DVI','GDVI','RVI','SAVI','OSAVI','MSAVI','NDPI'];viNames.forEach(function(viName){var viImage = s2.select(viName).mean().rename(viName);Export.image.toDrive({image: viImage.clip(geometry),description: viName,fileNamePrefix: viName,folder: 'sentinel_10',region: geometry,scale: 20,crs: 'EPSG:4326',maxPixels: 1e13});
});
3 運行結果?
