1、介绍
MODIS土地覆盖类型产品(MCD12Q1)提供了一套科学数据集(SDSs),以每年500米的空间分辨率绘制了6个不同的土地覆盖图例的全球土地覆盖。
2、GEE中使用
选择PFT分类(第五种分类),第五种分类有十一种类别
var LC = ee.ImageCollection("MODIS/006/MCD12Q1");
var igbpLandCover = LC.filter(ee.Filter.date('2018-01-01', '2018-12-31'))
.select('LC_Type5') // 选择其中PFT分类
// 可视化参数
var igbpLandCoverVis = {
min: 1.0,
max: 11.0,
palette: [
'05450a', '086a10', '54a708', '78d203', '009900', 'c6b044', 'dcd159',
'dade48', 'fbff13', 'b6ff05', '27ff87'
],
};
Map.addLayer(igbpLandCover, igbpLandCoverVis, 'IGBP Land Cover');
var mask=function(image){
var mask=image.gte(1).and(image.lte(4))// 选择1-4 代表的植被区
var masked_image=image.updateMask(mask);
return masked_image
}
// 提取出1-4的植被类型
var LCmask = mask(igbpLandCover)
Map.addLayer(LCmask, igbpLandCoverVis, 'type 5 ');
3、计算面积
计算面积使用的是ee.Image.pixelArea(),分级统计面积
var area = ee.Image.pixelArea().addBands(LCmask)
.reduceRegion({
// reducer: ee.Reducer.sum(),
reducer: ee.Reducer.sum().group({
groupField: 1,
groupName: "area"
}),
geometry: roi_AF,
crs:'EPSG:4326',
scale:250,
maxPixels:10e30,
})
打印出area的结果:可以看出有4类结果,依次对应的上述植被的1-4种植被类型,但是这样不是利于观看,我们期望得到总和面积。
将结果转化为列表:
var classAreas = ee.List(area.get('groups'))
var classAreaLists = classAreas.map(function(item) {
var areaDict = ee.Dictionary(item)
var classNumber = ee.Number(areaDict.get('area')).format()
var area = ee.Number(areaDict.get('sum')).divide(1e6)//.round()
return ee.List([classNumber, area])
})
print(classAreaLists)
对上述列表进行平整化并求和
// flatten()可以平整列表
var result = ee.Dictionary(classAreaLists.flatten())
print(result.values())
// 求和函数 iterate迭代
var List_1 = result.values()
function Do ( Number_1, Number_2 )
{ return ee.Number(Number_1).add(Number_2);
}
var List_2 = List_1.iterate( Do, 0 );
print( List_1, List_2 );