2001 年至 2019 年全球土地覆被估算(GLanCE)每年土地覆被和土地覆被变化

举报
此星光明 发表于 2024/10/22 14:05:58 2024/10/22
【摘要】 ​简介全球土地覆被估算(GLanCE)全球土地覆被估算(GLanCE)数据集利用 30 米空间分辨率的大地遥感卫星图像,提供了 2001 年至 2019 年期间每年土地覆被和土地覆被变化的高质量长期记录。 该数据集涵盖除南极洲以外的全球所有陆地区域,包括 10 个科学数据集(SDS),用于跟踪土地覆被、土地覆被变化和绿化动态。 连续变化探测和分类(CCDC)算法用于根据所有可用的、清晰的大地...

简介

全球土地覆被估算(GLanCE)

全球土地覆被估算(GLanCE)数据集利用 30 米空间分辨率的大地遥感卫星图像,提供了 2001 年至 2019 年期间每年土地覆被和土地覆被变化的高质量长期记录。 该数据集涵盖除南极洲以外的全球所有陆地区域,包括 10 个科学数据集(SDS),用于跟踪土地覆被、土地覆被变化和绿化动态。 连续变化探测和分类(CCDC)算法用于根据所有可用的、清晰的大地遥感卫星观测数据识别土地覆被和变化。

GLanCE SDS分为三类:土地覆被和变化: 四个 SDS 提供与以下方面有关的信息

(1)土地覆被等级,(2)与土地覆被等级相关的估计质量,(3)发生变化的地方以前的土地覆被,(4)变化的大致年日(DOY)。

绿化动态: 四个 SDS 使用增强植被指数 (EVI2) 描述年度绿度特征,包括 (1) 中值、(2) 振幅、(3) 变化率(如果存在)和 (4) 发生变化的像素的 EVI2 中值变化幅度。

叶片类型和物候学: 第一版数据包括七个图层及其相应的波段名称。 请注意,这些波段名称与 LP DAAC 网站用户指南中列出的波段名称略有不同。 本表显示了第一版数据中的图层名称及其对应的波段名称。

数据集说明

目前的数据集包括美洲、欧洲和大洋洲的数据,非洲和亚洲的数据将于 2025 年初发布。 非洲和亚洲的数据将于 2025 年初发布。 土地覆被质量保证层将在下一个地图版本(如 v1.1)中提供。 谷歌地球引擎数据集使用不同的平铺系统,旨在简化平台并提高效率,并使用 1984 年世界大地坐标系(EPSG:4326)存储,与用于生成数据集的基础 CCDC 数据集相匹配。 相比之下,LP-DAAC 中存储的数据集是从 GEE 中导出的,使用的是基于大陆网格(150 x 150 平方公里)和投影(大陆兰伯特方位角等面积投影)的定制平铺系统。

空间信息

Layer Name Band Name
Land Cover Class LC
Previous Class prevClass
Change Date changeDate
EVI2 Median EVI2median
EVI2 Amplitude EVI2amplitude
EVI2 Rate EVI2rate
Change EVI2 Median changeMag

代码1

/** 
 * Example GEE Script for Exploring Global Land Cover mapping and Estimation (GLANCE) 
 * Catalog -- Example 1: Loading datasets for a time range
 * 
 * Preliminary citation: 
 * 
 * Friedl, M.A., Woodcock, C.E., Olofsson, P., Zhu, Z., Loveland, T., 
 * Stanimirova, R., Arévalo, P., Bullock, E., Hu, K.-T., Zhang, Y., Turlej, K., 
 * Tarrio, K., McAvoy, K., Gorelick, N., Wang, J.A., Barber, C.P., Souza, C., 2022. 
 * Medium Spatial Resolution Mapping of Global Land Cover and Land Cover Change 
 * Across Multiple Decades From Landsat. Frontiers in Remote Sensing 3. 
 * https://doi.org/10.3389/frsen.2022.894571
 * 
 * User guide: https://lpdaac.usgs.gov/documents/1567/GLanCE_User_Guide_v1.pdf 
 * 
 * Authors: 
 *         Yingtong Zhang | zhangyt@bu.edu
 *         Paulo Arévalo  | parevalo@bu.edu 
 */


var GLANCE = ee.ImageCollection("projects/GLANCE/DATASETS/V001")
var palettes = require('users/gena/packages:palettes')

// -------------- SET GLOBAL VIZ PROPERTIES
Map.setOptions('HYBRID')
// Land cover Palette
var LCPalette = ['#386cb0', 'white', 'red', '#68666B', '#336600', '#28A765', '#ffff99']
var classes = ['Water', 'Snow/Ice', 'Developed', 'Bare', 'Forest', 'Shrub', 'Herbaceous']
var LCpal = {min: 1, max: 7, palette: LCPalette}

// EVI Palette
var eviPal = {palette: palettes.matplotlib.viridis[7], min:-100, max: 4000}
var eviRatePal = {palette: palettes.matplotlib.viridis[7], min:-700, max: 700}
// Change Palette
var doyPal = {palette: palettes.matplotlib.viridis[7], min:1, max: 365}


// Load the data for a certain year; can also be filtered by other properties
var filtered = GLANCE.filterDate('2015-01-01', '2016-01-01').mosaic()

// -------------- LAND COVER --------------
Map.addLayer(filtered.select('LC'), LCpal,'LC')

// -------------- EVI2--------------
Map.addLayer(filtered.select('EVI2median'), eviPal, "EVI2median",0)
Map.addLayer(filtered.select('EVI2amplitude'), eviPal, "EVI2amplitude",0)
Map.addLayer(filtered.select('EVI2rate'), eviRatePal, "EVI2rate",0)

// -------------- CHANGE --------------
Map.addLayer(filtered.select('changeDate'), doyPal, "Change day",0)
Map.addLayer(filtered.select('changeMag'), eviPal, "Change magnitude",0)
Map.addLayer(filtered.select('prevClass'), LCpal, "Previous class",0)

Map.setCenter(-52.9496, -6.1690, 11)

代码2

/** 
 * Example GEE Script for Exploring Global Land Cover mapping and Estimation (GLANCE) 
 * Catalog -- Example 2: Year of change and EVI2 change  
 * 
 * Preliminary citation: 
 * 
 * Friedl, M.A., Woodcock, C.E., Olofsson, P., Zhu, Z., Loveland, T., 
 * Stanimirova, R., Arévalo, P., Bullock, E., Hu, K.-T., Zhang, Y., Turlej, K., 
 * Tarrio, K., McAvoy, K., Gorelick, N., Wang, J.A., Barber, C.P., Souza, C., 2022. 
 * Medium Spatial Resolution Mapping of Global Land Cover and Land Cover Change 
 * Across Multiple Decades From Landsat. Frontiers in Remote Sensing 3. 
 * https://doi.org/10.3389/frsen.2022.894571
 * 
 * User guide: https://lpdaac.usgs.gov/documents/1567/GLanCE_User_Guide_v1.pdf 
 * 
 * Authors: 
 *         Yingtong Zhang | zhangyt@bu.edu
 *         Paulo Arévalo  | parevalo@bu.edu
 */

var GLANCE = ee.ImageCollection("projects/GLANCE/DATASETS/V001")
var palettes = require('users/gena/packages:palettes')


// -------------- SET GLOBAL VIZ PROPERTIES
Map.setOptions('HYBRID')

// EVI Palette
var eviChangePal = {palette: palettes.matplotlib.viridis[7], min:-1000, max: 1000}
var eviPal = {palette: palettes.matplotlib.viridis[7], min:2000, max: 3000}

// Change Palette
var changePalette = ['#ffffcc','#ffeda0','#fed976','#feb24c','#fd8d3c','#fc4e2a',
  '#e31a1c','#bd0026','#800026']
var changePal = {palette: changePalette, min:2005, max: 2020}


// -------------- FILTER AND SELECT DATASETS
var filteredCol = GLANCE.filterDate('2005-01-01', '2020-01-01')
var changeDate = filteredCol.select('changeDate')
var EVI2change = filteredCol.select('changeMag')
var EVI2median = filteredCol.select('EVI2median')

// --------------  CREATE ANNUAL MOSAICS

// Extract list of available years from image id. 
// Keep in mind change layers are only available from 2002
var imageIds = changeDate.aggregate_array('id')

var years = ee.List(imageIds.map(function(value){
  return ee.String(value).split("-").get(0)
})).distinct()

// Create constant image with years, useful for indexing
var dateDictImg = ee.Dictionary.fromLists(
  years, years.map(function(x){return ee.Number.parse(x)})).toImage()

// Function to retrieve annual mosaics per dataset
var getYearlyStack = function(imgCol, yearsStr){
  return ee.ImageCollection.fromImages(
    yearsStr.map(function(y) {
      // Get the list of image IDs for the current year
      return imgCol.filter(ee.Filter.stringContains('system:index', y)).mosaic()
    })
  ).toBands()
}

// Generate annual mosaics of change date, and retrieve year of first change
var changeYear = dateDictImg
  .updateMask(getYearlyStack(changeDate, years))
  .reduce(ee.Reducer.firstNonNull())

// Generate annual mosaics of EVI2 change, and retrieve value for year of first change
var EVI2firstChange = getYearlyStack(EVI2change, years)
  .updateMask(changeYear)
  .reduce(ee.Reducer.firstNonNull())

// --------------  VISUALIZE -------------- 

// Year of first change and magnitude of EVI2 change for that year
Map.addLayer(changeYear, changePal, "Change year")
Map.addLayer(EVI2firstChange, eviChangePal, "First EVI2 change", 0)


// Average EVI2 median 3 years before and after the first change
var EVI2medianStack = getYearlyStack(EVI2median, years)
var yearWindow = 3
var beforeChange = dateDictImg
  .lt(changeYear)
  .and(dateDictImg.gte(changeYear.subtract(yearWindow)))
var afterChange = dateDictImg
  .gt(changeYear)
  .and(dateDictImg.lte(changeYear.add(yearWindow)))

Map.addLayer(EVI2medianStack.updateMask(beforeChange).reduce(ee.Reducer.mean()), 
  eviPal, "EVI2 before change", 0)
Map.addLayer(EVI2medianStack.updateMask(afterChange).reduce(ee.Reducer.mean()),
  eviPal, "EVI2 after change", 0)


// Function to automate the creation of a legend
function createLegend(viz){
  var lon = ee.Image.pixelLonLat().select('longitude')
  var gradient = lon.multiply((viz.max-viz.min)/100.0).add(viz.min)
  var legendImage = gradient.visualize(viz)
  var params = {bbox:'0,0,100,10', dimensions:'200x10'}
  var thumbnail = ui.Thumbnail({
    image: legendImage,
    params: params,
  })
  
  var panel = ui.Panel([
    ui.Label(viz['min']), thumbnail,  ui.Label(viz['max']),
  ], ui.Panel.Layout.Flow('horizontal'))
  
  return panel
}

// Print legends to the console
print("Change Year", createLegend(changePal))
print("EVI2 Change Magnitude x10,000", createLegend(eviChangePal))
print("EVI2 median", createLegend(eviPal))

Map.setCenter(-61.9446, -21.6216, 11)

代码链接

https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:global-landuse-landcover/GLANCE-VISUALIZATION

https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:global-landuse-landcover/GLANCE-INDICES

APP链接

https://glance.earthengine.app/view/datasetviewer 

结果

引用

Friedl, M.A., Woodcock, C.E., Olofsson, P., Zhu, Z., Loveland, T., Stanimirova, R., Arévalo, P., Bullock, E., Hu, K.-T., Zhang, Y., Turlej, K.,
Tarrio, K., McAvoy, K., Gorelick, N., Wang, J.A., Barber, C.P., Souza, C., 2022. Medium Spatial Resolution Mapping of Global Land Cover and Land
Cover Change Across Multiple Decades From Landsat. Frontiers in Remote Sensing 3. https://doi.org/10.3389/frsen.2022.894571

Arévalo, P., R. Stanimirova, E. Bullock, Y. Zhang, K. Tarrio, K. Turlej, K. Hu, K. McAvoy, V. Pasquarella, C. Woodcock, P. Olofsson, Z. Zhu, N.
Gorelick, T. Loveland, C. Barber, M. Friedl. Global Land Cover Mapping and Estimation Yearly 30 m V001. 2022, distributed by NASA EOSDIS Land
Processes Distributed Active Archive Center, https://doi.org/10.5067/MEaSUREs/GLanCE/GLanCE30.001. Accessed YYYY-MM-DD.

许可

本作品采用知识共享 署名 4.0 国际许可协议进行许可。 您可以自由复制并以任何媒介或格式重新发布这些材料,也可以出于任何目的(甚至是商业目的)改造和利用这些材料。 您必须适当注明出处,提供许可证链接,并说明是否进行了更改。 创建和编辑:Friedl 等人 2022 年 关键词:土地覆被,土地覆被变化,绿度,EVI2,CCDC,全球,Landsat,NASA MEaSUREs 在 GEE 中的最后更新时间:2024-09-25

网址推荐

知识星球

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

机器学习

https://www.cbedai.net/xg 


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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