在这篇博客中,我们将探讨如何使用 Google Earth Engine (GEE) 来分析特定地区的裸地(无植被区域)面积增长。以下是实现此分析的代码及其解释。
首先,我们定义一个点的几何位置,并使用 FAO/GAUL 数据集来定义该地区的国家边界:
var geometry = /* color: #98ff00 */ee.Geometry.Point([-87.71007080078124, 41.848177051322665]);
// 使用 FAO/GAUL 数据集定义国家边界并根据几何图形进行过滤
var country = ee.FeatureCollection("FAO/GAUL/2015/level1").filterBounds(geometry);
Map.addLayer(country); // 将国家边界添加到地图
Map.centerObject(geometry, 4);
country
变量使用 FAO/GAUL 数据集定义国家边界,并通过 Map.addLayer()
在地图上显示。接下来,我们加载 MODIS 土地覆盖数据,并根据国家和日期范围进行过滤:
var bare = ee.ImageCollection("MODIS/061/MCD12Q1").select('LC_Type1')
.filterBounds(country)
.filterDate('2001-01-01', '2023-01-01');
print('Number of images in the collection:', bare.size());
我们将裸地区域进行裁剪,并识别裸地类别(值为 16 表示裸地):
var bareCover = bare.map(function(image) {
var cliped = image.clip(country); // 裁剪图像到国家边界
var bare = cliped.eq(16); // 裸地类别用值 16 表示
var maskedbare = bare.updateMask(bare); // 掩膜裸地区域
var bareAreaInKm2 = maskedbare.multiply(ee.Image.pixelArea().divide(1e6));
return bareAreaInKm2.copyProperties(image, ['system:time_start', 'system:time_end']);
});
updateMask()
方法,我们仅保留裸地区域,并计算其面积(单位为平方公里)。接下来,我们创建一个时间序列图表,显示裸地面积的增长情况:
print(ui.Chart.image.series({
imageCollection: bareCover,
region: country,
reducer: ee.Reducer.sum(),
scale: 500,
xProperty: 'system:time_start'
}).setSeriesNames(['bareAREA Growth km²']).setOptions({
title: 'bareAREA Growth',
hAxis: