简介
《增强型全国尺度城市树冠覆盖率数据集(CONUS)》提供了美国所有人口普查城市地区树冠覆盖率的改进 30 米分辨率表示。该数据集应用随机森林模型,将高分辨率土地覆盖数据与中分辨率国家土地覆盖数据库(NLCD)树冠覆盖率以及额外的解释变量相结合,以创建更精确的城市森林覆盖率表示。
该数据集代表美国大陆所有人口普查城市地区的树木覆盖率,分辨率为 30 米,覆盖约 273,844 平方公里(约占美国大陆的 3.6%)。该模型在原有 NLCD 树木覆盖率产品的基础上进行了显著改进,通过解决城市地区的一致低估问题,在样本城市地区平均增加了 13.4%的树木覆盖率。数据集的值代表人口普查城市地区的树木覆盖率百分比(0-100%)。
数据集说明
空间信息
关键特性
- 30-meter resolution raster dataset of tree canopy cover percentage (0-100%)
30 米分辨率的树木覆盖率百分比(0-100%)栅格数据集 - Coverage of all Census 2020 Urban Areas in the conterminous United States
覆盖美国大陆所有 2020 年人口普查城市地区 - Base year 2011 (aligned with NLCD 2011 products)
基准年份 2011 年(与 NLCD 2011 产品对齐) - Improved accuracy compared to original NLCD tree canopy products
与原始 NLCD 树冠产品相比,精度得到提高 - Overall coefficient of determination (R²) of 0.747
总决定系数(R²)为 0.747
变量
该模型在多种验证方法中表现出强大的性能:- 1,000 倍交叉验证:中位 R²为 0.752 - 城市区域留一法交叉验证:中位 R²为 0.675 - 以人口普查区组中位建成年份进行的交叉验证:中位 R²为 0.743
与原生 NLCD 树冠覆盖产品相比,增强数据集平均降低了 RMSE 32%和 MAE 31%。
代码
var enhancedTCC = ee.Image("projects/sat-io/open-datasets/USGS/EnhancedTCC2011");
// 定义树冠覆盖率的颜色调色板
var tccPalette = [
'#FFFFFF', // 0% - 白色
'#EDF8E9', // 非常浅的绿色
'#C7E9C0',
'#A1D99B',
'#74C476',
'#41AB5D',
'#238B45',
'#006D2C', // 深绿色
'#00441B' // 非常深的绿色 - 100%
];
// 设置可视化参数
var visParams = {
min: 0,
max: 100,
palette: tccPalette,
opacity: 0.9
};
// 将 UNMASKED 数据集添加到地图上 - 这是查看所有值的关键
// 我们将在检查时处理 NoData 值 (255),而不是在可视化中处理
Map.addLayer(enhancedTCC, visParams, '增强城市树冠覆盖');
// 将地图中心设置为华盛顿特区地区
Map.setCenter(-77.0369, 38.9072, 10);
// 创建一个面板以显示树冠覆盖率
var panel = ui.Panel({
style: {
position: 'top-right',
padding: '8px 15px',
width: '300px'
}
});
// 向面板添加标题
var panelTitle = ui.Label('树冠覆盖率检查器', {
fontWeight: 'bold',
fontSize: '16px',
margin: '0 0 8px 0'
});
panel.add(panelTitle);
// 添加说明
var instructions = ui.Label('点击地图上的任意位置以查看树冠覆盖率。请等待值加载', {
fontSize: '12px',
margin: '0 0 10px 0'
});
panel.add(instructions);
// 创建标签以显示点击位置和数值
var valueLabel = ui.Label('', {fontSize: '14px', margin: '5px 0'});
var coordLabel = ui.Label('', {fontSize: '12px', margin: '5px 0'});
panel.add(valueLabel);
panel.add(coordLabel);
// 将面板添加到地图上
Map.add(panel);
// 创建一个变量以存储当前检查点
var inspectionPoint = null;
// 处理地图点击 - 立即生效
Map.onClick(function(coords) {
// 获取点击点的坐标
var point = ee.Geometry.Point(coords.lon, coords.lat);
// 如果存在,移除之前的检查点
if (inspectionPoint) {
Map.layers().remove(inspectionPoint);
}
// 在点击位置添加一个新的点,样式为加号
inspectionPoint = ui.Map.Layer(point, {
color: 'red',
pointSize: 6,
pointShape: 'cross' // 这会创建一个加号
}, '检查点');
Map.layers().set(Map.layers().length(), inspectionPoint);
// 尝试不同的采样方法
// 在点击点周围创建一个小缓冲区以确保捕获数据
var buffer = point.buffer(30);
// 使用 reduceRegion 而不是 sample
var tccValue = enhancedTCC.reduceRegion({
reducer: ee.Reducer.first(),
geometry: point,
scale: 30,
maxPixels: 1e9
});
// 获取值
tccValue.evaluate(function(result) {
if (result && result.b1 !== null && result.b1 !== undefined) {
// 检查是否为 NoData (255)
if (result.b1 === 255) {
valueLabel.setValue('该点没有可用数据');
} else {
// 四舍五入为最接近的整数以显示
var roundedValue = Math.round(result.b1);
valueLabel.setValue('树冠覆盖率: ' + roundedValue + '%');
}
// 更新坐标显示
coordLabel.setValue('位置: ' + coords.lon.toFixed(4) + ', ' + coords.lat.toFixed(4));
} else {
valueLabel.setValue('该点没有可用数据');
coordLabel.setValue('位置: ' + coords.lon.toFixed(4) + ', ' + coords.lat.toFixed(4));
// 尝试用小缓冲区稍微不同的方法
enhancedTCC.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: buffer,
scale: 30,
maxPixels: 1e9
}).evaluate(function(bufferResult) {
if (bufferResult && bufferResult.b1 !== null && bufferResult.b1 !== undefined && bufferResult.b1 !== 255) {
var roundedValue = Math.round(bufferResult.b1);
valueLabel.setValue('树冠覆盖率(区域平均): ' + roundedValue + '%');
}
});
}
});
});
// 为图例添加标题和标签
var title = ui.Label('增强国家级城市树冠覆盖(2011)',
{fontWeight: 'bold', fontSize: '16px', margin: '0 0 4px 0'});
var subtitle = ui.Label('值表示树冠覆盖率的百分比 (0-100%)',
{fontSize: '13px', margin: '0 0 15px 0'});
// 创建图例的颜色条
var makeColorBar = function(palette) {
var colorBar = ui.Thumbnail({
image: ee.Image.pixelLonLat().select(0),
params: {
bbox: [0, 0, 1, 0.1],
dimensions: '300x20',
format: 'png',
min: 0,
max: 1,
palette: palette
},
style: {stretch: 'horizontal', margin: '0px 8px'}
});
return colorBar;
};
// 创建一个带有图例的面板
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});
// 创建图例标题并添加颜色条
legend.add(title);
legend.add(subtitle);
legend.add(makeColorBar(tccPalette));
// 为图例添加标签
var legendLabels = ui.Panel({
widgets: [
ui.Label('0%', {margin: '4px 0'}),
ui.Label('', {margin: '4px 20px'}),
ui.Label('50%', {margin: '4px 0', textAlign: 'center', stretch: 'horizontal'}),
ui.Label('', {margin: '4px 20px'}),
ui.Label('100%', {margin: '4px 0'})
],
layout: ui.Panel.Layout.flow('horizontal')
});
legend.add(legendLabels);
// 将图例面板添加到地图上
Map.add(legend);
// 添加来源归属标签
var source = ui.Label('来源: Corro 等 (2025) 增强国家级城市树冠覆盖数据集',
{fontSize: '10px', position: 'bottom-right', padding: '3px 8px'});
Map.add(source);
Map.setCenter(-99.0530, 39.484, 5);
var snazzy = require("users/aazuspan/snazzy:styles");
snazzy.addStyle("https://snazzymaps.com/style/38/shades-of-grey", "灰度");
代码链接
结果
引用
Corro, L.M., Bagstad, K.J., Heris, M.P., Ibsen, P.C., Schleeweis, K.G., Diffendorfer, J.E., Troy, A., Megown, K., and O'Neil-Dunne, J., 2025, An enhanced national-scale urban tree canopy cover dataset for the United States Data Release (2025): U.S. Geological Survey data release, https://doi.org/10.5066/P13LECKC.
Corro, L.M., Bagstad, K.J., Heris, M.P. et al. An enhanced national-scale urban tree canopy cover dataset for the United States. Sci Data 12, 490 (2025). https://doi.org/10.1038/s41597-025-04816-0
许可
本作品根据 Creative Commons Zero v1.0 Universal 授权提供(https://creativecommons.org/publicdomain/zero/1.0/)。
Keywords:
urban forests, tree canopy, ecosystem services, land cover, urban planning, census urban areas, random forest models, spatial data
关键词:
城市森林、树冠、生态系统服务、土地覆盖、城市规划、人口普查城市地区、随机森林模型、空间数据