GEE 数据集——美国地质调查局的土地覆被项目年度 NLCD 土地覆被数据集

举报
此星光明 发表于 2024/11/04 21:20:06 2024/11/04
【摘要】 ​ GEE 数据集——美国地质调查局的土地覆被项目年度 NLCD 土地覆被数据集简介年度 NLCD 土地覆被数据集 美国地质调查局的土地覆被项目整合了国家土地覆被数据库 (NLCD) 和土地变化监测、评估和预测 (LCMAP) 的方法以及先进的深度学习,创建了年度 NLCD 数据集套件,其中包括六种产品,每种产品都代表了美国各种土地覆被和变化特征。 美国地质调查局(USGS)的年度 NLCD...

 GEE 数据集——美国地质调查局的土地覆被项目年度 NLCD 土地覆被数据集

简介

年度 NLCD 土地覆被数据集

 美国地质调查局的土地覆被项目整合了国家土地覆被数据库 (NLCD) 和土地变化监测、评估和预测 (LCMAP) 的方法以及先进的深度学习,创建了年度 NLCD 数据集套件,其中包括六种产品,每种产品都代表了美国各种土地覆被和变化特征。 美国地质调查局(USGS)的年度 NLCD 数据集 1.0 利用了国家土地覆被数据库(NLCD)和土地变化监测、评估和预测(LCMAP)项目的创新成果,并结合了现代深度学习技术,以提供准确的全美年度土地覆被和地表变化数据。

自 1985 年以来,年度 NLCD 基于 Landsat 数据提供了六种产品,涵盖土地覆盖、变化、置信度、不透水表面和光谱变化,为资源管理和决策提供了便利。 该数据集支持各种环境分析,如城市发展研究、湿地监测、农业管理和气候影响评估。 它的年度更新和分类置信度特征为长期土地利用规划和变化检测提供了重要的洞察力。

数据集产品和描述

土地覆被: 基于修改后的安德森二级分类法的十六级系统,对每个像素的主要地表类型(如水域、森林和城市区域)进行分类。 RGB 值可直观区分这些类别,确保各联邦系统之间的兼容性。

土地覆被变化: 通过比较连续年份来跟踪年度土地覆被变化,使用连接代码(如 9590 表示湿地过渡)来识别变化。 没有变化的区域保留其分类。

土地覆被置信度: 提供基于深度学习概率的置信度分数,显示模型对类别分配的确定性。 分数未经校准,但可衡量分类的可靠性。

分数不透水表面(Fractional Impervious Surface): 测量 30 米像素内不透水表面的百分比(0-100%),根据定义的阈值为城市或郊区等发达地区分类提供信息。

不透水描述符: 区分已开发区域内的城市、非城市和道路表面,提供清晰的道路地图,有别于其他城市特征,以便进行详细分析。

年度光谱变化日: 识别发生重大光谱变化的日期(值 1-366),准确定位季节变化之外的干扰(如火灾),实现时间变化跟踪。

Class Value Class Name RGB Color
11 Open Water #466b9f
12 Perennial Ice/Snow #d1def8
21 Developed, Open Space #dec5c5
22 Developed, Low Intensity #d99282
23 Developed, Medium Intensity #eb0000
24 Developed, High Intensity #ab0000
31 Barren Land #b3ac9f
41 Deciduous Forest #68ab5f
42 Evergreen Forest #1c5f2c
43 Mixed Forest #b5c58f
52 Shrub/Scrub #ccb879
71 Grassland/Herbaceous #dfdfc2
81 Pasture/Hay #dcd939
82 Cultivated Crops #ab6c28
90 Woody Wetlands #b8d9eb
95 Emergent Herbaceous Wetlands #6c9fb8

Key Information

  • Data Type: UINT8, UINT16 (product-dependent)
  • Spatial Resolution: Based on the Landsat 30m grid
  • Temporal Coverage: 1985–2023 (updated annually)
  • Access: Products are accessible via multiple platforms, including MRLC Viewer and AWS S3.
Layer Name Class Values (Range) Min Max NoData Value
Land Cover Various land cover types (11, 12, ..., 95) N/A N/A 250
Land Cover Change Change class categories AABB AABB 9999
Land Cover Confidence Confidence levels 1 100 250
Fractional Impervious Surface Imperviousness percentage 0 100 250
Impervious Descriptor Impervious surface types (0: Non-Urban, 1: Roads, 2: Urban) N/A N/A 250
Spectral Change Day of Year Julian days of change 1 366 9999

代码

var nlcd_landcover = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/LANDCOVER");

Map.setCenter(-115.1393, 36.1408,10)

// 原始类值、连续重映射值、调色板和简化类名
var originalClasses = [11, 12, 21, 22, 23, 24, 31, 41, 42, 43, 52, 71, 81, 82, 90, 95];
var remappedClasses = ee.List.sequence(1, originalClasses.length);
var palette = [
  '#466b9f', '#d1def8', '#dec5c5', '#d99282', '#eb0000', '#ab0000',
  '#b3ac9f', '#68ab5f', '#1c5f2c', '#b5c58f', '#ccb879', '#dfdfc2', 
  '#dcd939', '#ab6c28', '#b8d9eb', '#6c9fb8'
];
var classNames = [
  "Open Water", "Perennial Ice/Snow", "Developed, Open Space", "Developed, Low Intensity", 
  "Developed, Medium Intensity", "Developed, High Intensity", "Barren Land", 
  "Deciduous Forest", "Evergreen Forest", "Mixed Forest", "Shrub/Scrub", 
  "Grassland/Herbaceous", "Pasture/Hay", "Cultivated Crops", "Woody Wetlands", 
  "Emergent Herbaceous Wetlands"
];

// 用于重新映射每幅图像的土地覆被类别并保留年份属性的函数
function remapImage(image) {
  var remapped = image.remap(originalClasses, remappedClasses, null);
  return remapped.copyProperties(image, ['year']).set('system:time_start', image.get('system:time_start'));
}

// 对整个集合应用重映射
var remappedCollection = nlcd_landcover.map(remapImage);

// 可视化参数
var landCoverVis = {
  min: 1,
  max: remappedClasses.length().getInfo(),
  palette: palette
};

// 将每年重新绘制的土地覆被层添加到地图上
remappedCollection
  .distinct(['year']) // Ensure unique years
  .aggregate_array('year') // Retrieve all years for mapping
  .evaluate(function(years) {
    years.forEach(function(year) {
      var yearImage = remappedCollection.filter(ee.Filter.eq('year', year)).first();
      Map.addLayer(yearImage, landCoverVis, 'Land Cover ' + year);
    });
  });

// 创建图例
function createLegend() {
  var legend = ui.Panel({
    style: {
      position: 'bottom-left',
      padding: '8px 15px'
    }
  });
  
  // 图例标题
  legend.add(ui.Label({
    value: 'Land Cover Legend',
    style: {
      fontWeight: 'bold',
      fontSize: '16px',
      margin: '0 0 4px 0',
      padding: '0'
    }
  }));

  // 将每种颜色和标签添加到图例中
  for (var i = 0; i < classNames.length; i++) {
    var colorBox = ui.Label({
      style: {
        backgroundColor: palette[i],
        padding: '8px',
        margin: '0 0 4px 0'
      }
    });
    var description = ui.Label({
      value: classNames[i],
      style: { margin: '0 0 4px 6px' }
    });
    
    // 为行面板添加颜色框和说明
    var row = ui.Panel({
      widgets: [colorBox, description],
      layout: ui.Panel.Layout.Flow('horizontal')
    });
    legend.add(row);
  }
  
  // 图例添加到地图上
  Map.add(legend);
}

// 调用函数创建图例
createLegend();

代码

// 定义年份
var year1985 = 1985;
var year2023 = 2023;

// 为每个 NLCD 数据集定义 ImageCollections
var nlcd_landcover = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/LANDCOVER");
var nlcd_landcover_confidence = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/LANDCOVER_CONFIDENCE");
var nlcd_fractional_impervious_surface = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/FRACTIONAL_IMPERVIOUS_SURFACE");
var nlcd_impervious_descriptor = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/IMPERVIOUS_DESCRIPTOR");
var nlcd_spectral_change_doy = ee.ImageCollection("projects/sat-io/open-datasets/USGS/ANNUAL_NLCD/SPECTRAL_CHANGE_DOY");

// 原始类别值、连续重映射值、调色板和简化类别名称
var originalClasses = [11, 12, 21, 22, 23, 24, 31, 41, 42, 43, 52, 71, 81, 82, 90, 95];
var remappedClasses = ee.List.sequence(1, originalClasses.length);

// 重新映射每幅图像的土地覆被等级并保留年份属性的功能

function remapImage(image) {
  var remapped = image.remap(originalClasses, remappedClasses, null);
  return remapped.copyProperties(image, ['year']).set('system:time_start', image.get('system:time_start'));
}

// 对整个集合应用重映射
var nlcd_landcover = nlcd_landcover.map(remapImage);

// 根据年份属性筛选每个图像集
var landcover_1985 = nlcd_landcover.filter(ee.Filter.eq('year', 1985));
var landcover_2023 = nlcd_landcover.filter(ee.Filter.eq('year', 2023));

var landcover_confidence_1985 = nlcd_landcover_confidence.filter(ee.Filter.eq('year', 1985));
var landcover_confidence_2023 = nlcd_landcover_confidence.filter(ee.Filter.eq('year', 2023));

var fractional_impervious_surface_1985 = nlcd_fractional_impervious_surface.filter(ee.Filter.eq('year', 1985));
var fractional_impervious_surface_2023 = nlcd_fractional_impervious_surface.filter(ee.Filter.eq('year', 2023));

var impervious_descriptor_1985 = nlcd_impervious_descriptor.filter(ee.Filter.eq('year', 1985));
var impervious_descriptor_2023 = nlcd_impervious_descriptor.filter(ee.Filter.eq('year', 2023));

var spectral_change_doy_1985 = nlcd_spectral_change_doy.filter(ee.Filter.eq('year', 1985));
var spectral_change_doy_2023 = nlcd_spectral_change_doy.filter(ee.Filter.eq('year', 2023));

// 为每个图层定义可视化参数
var vizParams = {
  'landcover': {
    min: 1,
    max: 16,
    palette: [
      '#466b9f', '#d1def8', '#dec5c5', '#d99282', '#eb0000', '#ab0000',
      '#b3ac9f', '#68ab5f', '#1c5f2c', '#b5c58f', '#ccb879', '#dfdfc2', 
      '#dcd939', '#ab6c28', '#b8d9eb', '#6c9fb8'
    ]
  },
  'landcover_confidence': {min: 1, max: 100, palette: [
    '#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026', 
    '#7fca4f', '#66c255', '#4dba5b', '#33b160', '#19a766', '#009e6b', '#008763', '#00715a', '#005b52'
  ]},
  'fractional_impervious_surface': {min: 1, max: 100, palette: ['#d3d3d3', '#c9b1b1', '#b38484', '#e75454', '#ff7fbf', '#cc66cc', '#9933cc', '#660099']},
  'impervious_descriptor': {min: 0, max: 2, palette: ['#000000', '#2171b5', '#f6ec27']},
  'spectral_change_doy': {min: 1, max: 366, palette: ['#6a0dad', '#483d8b', '#1e90ff', '#00fa9a', '#32cd32', '#ffff00', '#ff8c00', '#ff4500', '#ff0000']}
};

// 创建横向图例面板的功能
function createHorizontalLegend(title, palette) {
  var legend = ui.Panel({
    style: {
      position: 'bottom-left',
      padding: '8px 15px',
      width: '300px'
    }
  });

  // 添加标题
  var legendTitle = ui.Label({
    value: title,
    style: {
      fontWeight: 'bold',
      fontSize: '14px',
      margin: '0 0 4px 0',
      padding: '0'
    }
  });
  legend.add(legendTitle);

  // 创建水平渐变条
  var legendImage = ee.Image.pixelLonLat().select(0).int();
  var gradient = legendImage.visualize({min: 0, max: 100, palette: palette});
  var thumbnail = ui.Thumbnail({
    image: gradient,
    params: {bbox: '0,0,100,10', dimensions: '300x15', format: 'png'},
    style: {stretch: 'horizontal', margin: '0px'}
  });

  legend.add(thumbnail);
  return legend;
}

// 将每个横向图例添加到用户界面
Map.add(createHorizontalLegend('Landcover Confidence', vizParams.landcover_confidence.palette));
Map.add(createHorizontalLegend('Fractional Impervious Surface', vizParams.fractional_impervious_surface.palette));
Map.add(createHorizontalLegend('Impervious Descriptor', vizParams.impervious_descriptor.palette));
Map.add(createHorizontalLegend('Spectral Change DOY', vizParams.spectral_change_doy.palette));

// 用 “false ”将 1985 图层添加到地图中,使其默认不显示
Map.centerObject(fractional_impervious_surface_1985.first(), 5);  // Center on one of the images
Map.addLayer(landcover_1985.first(), vizParams.landcover, 'Landcover 1985', false);
Map.addLayer(landcover_confidence_1985.first(), vizParams.landcover_confidence, 'Landcover Confidence 1985', false);
Map.addLayer(fractional_impervious_surface_1985.first().mask(fractional_impervious_surface_1985.first().gt(1)), vizParams.fractional_impervious_surface, 'Fractional Impervious Surface 1985', false);
Map.addLayer(impervious_descriptor_1985.first().mask(impervious_descriptor_1985.first().gt(0)), vizParams.impervious_descriptor, 'Impervious Descriptor 1985', false);
Map.addLayer(spectral_change_doy_1985.first(), vizParams.spectral_change_doy, 'Spectral Change DOY 1985', false);

// 用 “false ”将每个 2023 图层添加到地图中,使其默认不显示
Map.addLayer(landcover_2023.first(), vizParams.landcover, 'Landcover 2023', false);
Map.addLayer(landcover_confidence_2023.first(), vizParams.landcover_confidence, 'Landcover Confidence 2023', false);
Map.addLayer(fractional_impervious_surface_2023.first().mask(fractional_impervious_surface_2023.first().gt(1)), vizParams.fractional_impervious_surface, 'Fractional Impervious Surface 2023', false);
Map.addLayer(impervious_descriptor_2023.first().mask(impervious_descriptor_2023.first().gt(0)), vizParams.impervious_descriptor, 'Impervious Descriptor 2023', false);
Map.addLayer(spectral_change_doy_2023.first(), vizParams.spectral_change_doy, 'Spectral Change DOY 2023', false);

// 添加灰度地图样式
var snazzy = require("users/aazuspan/snazzy:styles");
snazzy.addStyle("https://snazzymaps.com/style/65217/grey", "Greyscale");


引用

U.S. Geological Survey (USGS), 2024, Annual NLCD Collection 1 Science Products: U.S. Geological Survey data release,https://doi.org/10.5066/P94UXNTS.

许可证

 NLCD 数据集以知识共享零版 v1.0 通用许可证提供。

提供者: 美国地质调查局 在 GEE 中的编辑 Samapriya Roy

关键词 土地覆被 土地变化 Landsat 深度学习 Annual NLCD USGS 环境监测

最近更新于 GEE: 2024-10-25 

网址推荐


知识星球

知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 (zsxq.com)

机器学习

https://www.cbedai.net/xg 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。