第一步:我们导入一个关于树冠覆盖的数据集,并使用 10% 的树覆盖阈值计算森林
// 输入国界
var countries = ee.FeatureCollection("USDOS/LSIB_SIMPLE/2017");
// 选择哥伦比亚特区
var kh = countries.filter(ee.Filter.eq("country_na","Cambodia")).geometry();
// 输入树冠覆盖率数据
var tcc2000 = ee.Image("projects/servir-mekong/UMD/tree_canopy/tcc_2000").clip(kh);
var tcc2020 = ee.Image("projects/servir-mekong/UMD/tree_canopy/tcc_2020").clip(kh);
// 输入大于10%的
var forest2000 = tcc2000.gt(10);
var forest2020 = tcc2020.gt(10);
// 加载在地图上
Map.addLayer(tcc2000,{min:0,max:100,palette:"white,green,darkgreen"},"tree canopy cover 2000");
Map.addLayer(tcc2020,{min:0,max:100,palette:"white,green,darkgreen"},"tree canopy cover 2020");
// 在地图上添加森林层
Map.addLayer(forest2000,{min:0,max:1,palette:"white,darkgreen"},"Forest 2000");
Map.addLayer(forest2020,{min:0,max:1,palette:"white,darkgreen"},"Forest 2020");
第二步: 我们现在计算 2020 年到 2000 年之间的森林损失。在现有代码中复制以下几行
var forestLoss = forest2000.and(forest2020.eq(0))
Map.addLayer(forestLoss,{min:0,max:1,palette:"white,red"},"forest loss");
第三步:我们计算 2000 年的像素面积。将下面的行复制到您现有的代码中
var areaImage = forest2000.rename("forest").multiply(ee.Image.pixelArea());
// 计算2000年的森林量
var stats = areaImage.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: kh,
scale: 30,
maxPixels: 1e9
});
print('pixel area in 2000 ', stats.get('forest'), 'square meters');
第四步:在 2020 年做同样的事情
var areaImage = forest2020.rename("forest").multiply(ee.Image.pixelArea());
// 计算2020年的森林量
var stats = areaImage.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: kh,
scale: 30,
maxPixels: 1e9
});
print('pixel area in 2020 ', stats.get('forest'), 'square meters');
第五步:计算 2000 年到 2020 年期间的森林损失
var areaImage = forestLoss.rename("loss").multiply(ee.Image.pixelArea());
// 计算市区的面积
var stats = areaImage.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: kh,
scale: 30,
maxPixels: 1e9
});
print('pixels representing loss: ', stats.get('loss'), 'square meters');
第六步:现在我们计算每个省的森林损失。将下面的代码复制到您现有的脚本中并点击运行
// 定义感兴趣的区域
var cambodia = ee.FeatureCollection("projects/servir-mekong/admin/KHM_adm1")
var chart =
ui.Chart.image.byRegion
({
image:areaImage.divide(10000),
regions: cambodia,
reducer: ee.Reducer.sum(),
scale: 100,
xProperty: 'NAME_1'
})
.setSeriesNames(['loss area'])
.setChartType('ColumnChart')
.setOptions({
title: 'forest loss',
hAxis: {title: 'Date', titleTextStyle: {italic: false, bold: true}},
vAxis: {
title: 'area loss (ha)',
titleTextStyle: {italic: false, bold: true}
},
lineWidth: 5,
colors: ['red'],
curveType: 'function'
});
print(chart);