一文说清楚大尺度长时序高精度土地利用数据集及GEE的调用方式
昨天在分享了两个大尺度长时序土地利用数据集,今天在此基础再次分享几个土地利用数据集,希望对当前能够获取的大尺度长时序高精度土地利用数据集进行一个系统总结,希望有助于大家开展有关研究。这些数据集都非常棒。大家可以比较使用。
昨天在分享了两个大尺度长时序土地利用数据集,今天在此基础再次分享几个土地利用数据集,希望对当前能够获取的大尺度长时序高精度土地利用数据集进行一个系统总结,希望有助于大家开展有关研究。这些数据集都非常棒。大家可以比较使用。
CGLS-LC100数据集
哥白尼全球陆地服务 (CGLS) 是陆地服务的一部分,用于运营一个多用途服务组件,提供一系列有关全球陆地表面状况和演变的生物地球物理产品,时间跨度是2015-2019年,分辨率是100米。虽然这个数据只有100米,但是实际上分类精度和效果是很不错的。其效果图和GEE调用链接如下:


var year = 2019;
var filePath = 'COPERNICUS/Landcover/100m/Proba-V-C3/Global/'+year.toString();
var dataset = ee.Image(filePath).select('discrete_classification');
Map.setCenter(-88.6, 26.4, 1);
Map.addLayer(dataset, {}, 'Land Cover');
GLC_FCS30D数据集
GLC_FCS30D数据集是2024年发布在ESSD期刊上的论文,是一个非常庞大的数据集,时间跨度从1985年开始,分辨率是30米。与之前推文介绍的CLCD数据不同,GLC_FCS30D数据集是全球的。而且地物分类更细致,其分类表如下所示。毫不夸张地说,GLC_FCS30D数据集是土地利用研究的大成者,真正属于大尺度长时序。其效果和调用代码如下所示:


var annual = ee.ImageCollection("projects/sat-io/open-datasets/GLC-FCS30D/annual"),
five_year = ee.ImageCollection("projects/sat-io/open-datasets/GLC-FCS30D/five-years-map");
//Setup basemaps
var snazzy = require("users/aazuspan/snazzy:styles");
snazzy.addStyle("https://snazzymaps.com/style/132/light-gray", "Grayscale");
var palette = [
"#ffff64", "#ffff64", "#ffff00", "#aaf0f0", "#4c7300", "#006400", "#a8c800", "#00a000",
"#005000", "#003c00", "#286400", "#285000", "#a0b432", "#788200", "#966400", "#964b00",
"#966400", "#ffb432", "#ffdcd2", "#ffebaf", "#ffd278", "#ffebaf", "#00a884", "#73ffdf",
"#9ebb3b", "#828282", "#f57ab6", "#66cdab", "#444f89", "#c31400", "#fff5d7", "#dcdcdc",
"#fff5d7", "#0046c8", "#ffffff", "#ffffff"
];
// Function to recode class values into sequential values starting from 1 onwards
var recodeClasses = function(image) {
// Define the class values
var classes = [10, 11, 12, 20, 51, 52, 61, 62, 71, 72, 81, 82, 91, 92, 120, 121, 122,
130, 140, 150, 152, 153, 181, 182, 183, 184, 185, 186, 187, 190, 200,
201, 202, 210, 220, 0];
var reclassed = image.remap(classes, ee.List.sequence(1, classes.length));
return reclassed;
};
// Function to add a layer with given settings
var addLayer = function(image, name) {
Map.addLayer(image, {palette: palette}, name,false);
};
// Apply the function to your images and add layers
addLayer(recodeClasses(five_year.mosaic().select('b1')), 'GLC FCS 1985');
addLayer(recodeClasses(five_year.mosaic().select('b2')), 'GLC FCS 1990',false);
addLayer(recodeClasses(five_year.mosaic().select('b3')), 'GLC FCS 1995',false);
// Load the GLC-FCS30D collection
var image = annual.mosaic();
// Iterate over each band (year) in the image
for (var i = 1; i <= 23; i++) {
var year = 1999 + i; // starts at year 2000 for annual maps
var layerName = "GLC FCS " + year.toString();
var band = image.select("b" + i);
// Apply the function to the band and add layer
addLayer(recodeClasses(band), layerName);
}
// Define a dictionary for legend and visualization
var dict = {
"names": [
"Rainfed cropland",
"Herbaceous cover cropland",
"Tree or shrub cover (Orchard) cropland",
"Irrigated cropland",
"Open evergreen broadleaved forest",
"Closed evergreen broadleaved forest",
"Open deciduous broadleaved forest (0.15<fc<0.4)",
"Closed deciduous broadleaved forest (fc>0.4)",
"Open evergreen needle-leaved forest (0.15< fc <0.4)",
"Closed evergreen needle-leaved forest (fc >0.4)",
"Open deciduous needle-leaved forest (0.15< fc <0.4)",
"Closed deciduous needle-leaved forest (fc >0.4)",
"Open mixed leaf forest (broadleaved and needle-leaved)",
"Closed mixed leaf forest (broadleaved and needle-leaved)",
"Shrubland",
"Evergreen shrubland",
"Deciduous shrubland",
"Grassland",
"Lichens and mosses",
"Sparse vegetation (fc<0.15)",
"Sparse shrubland (fc<0.15)",
"Sparse herbaceous (fc<0.15)",
"Swamp",
"Marsh",
"Flooded flat",
"Saline",
"Mangrove",
"Salt marsh",
"Tidal flat",
"Impervious surfaces",
"Bare areas",
"Consolidated bare areas",
"Unconsolidated bare areas",
"Water body",
"Permanent ice and snow",
"Filled value"
],
"colors": [
"#ffff64",
"#ffff64",
"#ffff00",
"#aaf0f0",
"#4c7300",
"#006400",
"#a8c800",
"#00a000",
"#005000",
"#003c00",
"#286400",
"#285000",
"#a0b432",
"#788200",
"#966400",
"#964b00",
"#966400",
"#ffb432",
"#ffdcd2",
"#ffebaf",
"#ffd278",
"#ffebaf",
"#00a884",
"#73ffdf",
"#9ebb3b",
"#828282",
"#f57ab6",
"#66cdab",
"#444f89",
"#c31400",
"#fff5d7",
"#dcdcdc",
"#fff5d7",
"#0046c8",
"#ffffff",
"#ffffff",
"#ffffff"
]
};
var legend = ui.Panel({
style: {
position: 'middle-right',
padding: '8px 15px'
}
});
// Create and add the legend title.
var legendTitle = ui.Label({
value: 'GLC FCS Classes',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});
legend.add(legendTitle);
var loading = ui.Label('Loading legend...', {margin: '2px 0 4px 0'});
legend.add(loading);
// Creates and styles 1 row of the legend.
var makeRow = function(color, name) {
// Create the label that is actually the colored box.
var colorBox = ui.Label({
style: {
backgroundColor: color,
// Use padding to give the box height and width.
padding: '8px',
margin: '0 0 4px 0'
}
});
// Create the label filled with the description text.
var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});
return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};
var palette = dict['colors'];
var names = dict['names'];
loading.style().set('shown', false);
for (var i = 0; i < names.length; i++) {
legend.add(makeRow(palette[i], names[i]));
}
// Print the panel containing the legend
print(legend);
AGLC数据集
AGLC数据集是中山大学发表的数据集,该数据集有关论文发表于国内期刊,且调用方式相对隐蔽,因此多不被人了解。该数据集时间跨度为2000年—2015年,同样涵盖全球,分辨率为30米。该数据集能够有效反映全球陆地区域在30 m空间分辨率下的地表覆盖分布及年际间的动态演化,为地表陆面过程研究和相关应用提供可靠的数据支撑。其效果和调用代码如下:

var imageCollection = ee.ImageCollection("users/xxc/GLC_2000_2015");
// print("imageCollection size",imageCollection.size();
var imgDemo = imageCollection.select([0]).mosaic();
var visPalette = [
'#FAE39C', // cropland-10
'#446F33', // forest-20
'#ABD37B', // grassland-30,
'#33A02C', // shrub-40
'#289BE8', // wetland-50
'#1E69B4', // water-60
'000000', // tundra
'#E24290', // impervious-80
'#CFBDA3', // barren-90
'#A6CEE3', // snow/ice-100
];
Map.addLayer(imgDemo,{'min':10,'max':100,'palette':visPalette},'imgDemo');
中科院土地理数据集
接着,我们介绍中科院土地利用数据集,该数据集也非常有名,使用的人也特别多。该数据以5年为期,涵盖1980-2020年,分辨率也是30米。该数据集经常作为基础数据集,很多数据集都是在该数据集的基础上衍生的,对于了解我国的土地利用变化情况起到了很重要的作用,是不可多得的数据集之一。其效果如下所示(GEE调用链接还请咨询小编):

CLCD数据集
CLCD土地利用数据集是武汉大学发布的,一经发布就获得了很大的关注。我们在之前推文中也介绍过。这里再次介绍一下。其空间分辨率是30米,涵盖中国区域,时间跨度从1985、1990-至今,是很难的的长时序大尺度土地利用数据集。其效果图和GEE调用链接如下:

var year = 2020;
var imgPathCLCD = 'projects/lulc-datase/assets/LULC_HuangXin/CLCD_v01_'+year;
var imgCLCD = ee.Image(imgPathCLCD);
imgCLCD = imgCLCD.updateMask(imgCLCD.gt(0));
var visPaletteCLCD = [
'#FAE39C', // cropland-1
'#446F33', // forest-2
'#33A02C', // shrub-3
'#ABD37B', // grassland-4
'#1E69B4', // water -5
'#A6CEE3', // snow/ice-6
'#CFBDA3', // barren-7
'#E24290', // impervious-8
'#289BE8', // wetland-9
];
Map.addLayer(imgCLCD,{'min':1,'max':9,'palette':visPaletteCLCD},'imgLULC-Huang-'+year);
Google Dynamic World V1数据集
Dynamic World 是一个 10m 近实时 (NRT) 土地利用/土地覆盖 (LULC) 数据集,其中包括九个类别的类别概率和标签信息。Dynamic World 预测适用于 Sentinel-2 L1C 集合,从 2015-06-27 到现在。这个数据集非常有趣,官方给出的代码是针对实时的数据。我们对其进行了适当修改,可以获取一年的分类数据,其效果和代码如下:

var year = 2020;
var timeStart = ee.Date(year+'-01-01');
var timeEnd = ee.Date( (year+1) +'-01-01');
var dwCol = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1')
.filterBounds(roi)
.filterDate(timeStart,timeEnd);
// Define list pairs of DW LULC label and color.
var CLASS_NAMES = [
'water', 'trees', 'grass', 'flooded_vegetation', 'crops',
'shrub_and_scrub', 'built', 'bare', 'snow_and_ice'
];
var VIS_PALETTE = [ '419bdf', '397d49', '88b053', '7a87c6',
'e49635', 'dfc35a', 'c4281b', 'a59b8f', 'b39fe1'
];
var dwColClass = dwCol.select('label').mosaic().clip(roi);
var visParam1 = {
'min':0,
'max':8,
'palette':VIS_PALETTE
};
Map.addLayer(dwColClass,visParam1 ,'dwColClass');
当然,除了上面列举的数据集,还有很多土地利用数据集。但是只要仔细对比就会发现,高精度大尺度长时序土地利用数据集相对来说是很少的,也就在近几年才出现一些大型的数据集。这和几方面的因素有关:1、制作大尺度长时序土地利用数据费时费力,很多研究团队并没有这样的算力和经费支持;2、很多研究其实没有延续性,有的只是浅尝则之根本没有深入,这不是一个人的问题,而是大家的通病;3、云计算平台如GEE等在最近几年才真正的火爆起来,如此浩大的工程没有云计算的加持很难有小作坊完成。所以,当年清华大学发布全球土地利用数据集的时候引起了很大的轰动。但是,现在有了云计算的加持,全球这样的宏观工程也能够由几个人完成了。
交流合作&科研搭子
团队简介:geeAI学习室是一群具有摄影测量与遥感和计算机等专业背景的高校博士生(含在读和已毕业)创办的用于分享科学前沿动态、专注智能计算和数据的平台。该平台主要结合Google Earth Engine(GEE)云平台和人工智能(AI)技术,实现对地理空间数据的高效处理和智能分析。截至目前,已经有好几千人参加了本平台的学习课程等,其中报名的会员人数已经超过400+,协助学员发表SCI一区/二区高级别论文20篇以上。
科研搭子:geeAI学习室创建了多个学习交流群,交流群成员来自各地高校和研究所,涵盖本科、硕士、博士和老师群体,可以在交流群交流讨论、积极碰撞、找到共同研究兴趣的“科研搭子”以及下载各种学术论文等。
想加入交流群的同学可加小编微信让其邀请进群(扫描下方二维码咨询报名或菜单栏“联系我们”选项框都可以找到小编哟)。注意,咨询加群验证信息请备注为“学位-研究方向-学校-加群”格式,否则不予通过。例如,假如你是武汉大学土地利用分类方向的博士研究生,则可以备注“博士-LULC-武大-加群”;假如你是清华水文方向的硕士研究生,则可以备注“硕士-水文-清华-加群”。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)