GEE 10m近实时 LULC 数据集Dynamic World

Google Earth Engine 和 Dynamic World

Google 利用其地球引擎(Earth Engine)和人工智能(AI)平台技术,推出了 Dynamic World 数据库,能够提供接近实时的全球土地环境数据。Dynamic World 是基于 Google Earth Engine 和 AI Platform 制作而成的一个近乎实时的 10 米分辨率全球土地利用和土地覆盖数据集。该数据集使用 Sentinel-2 影像并通过深度学习方法生成。

  • 访问链接:https://www.dynamicworld.app/
  • 论文访问链接:https://www.nature.com/articles/s41597-022-01307-4
    • 《Nature Scientific Data》上的文章:Dynamic World, Near real-time global 10m land use land cover mapping。


Dynamic World 数据集简介

  • Dynamic World 是一个近乎实时的 (NRT) 10米分辨率土地利用/土地覆盖 (LULC) 数据集,包括九个类别的分类概率和标签信息。
  • Dynamic World 的预测适用于 2015-06-27 至今的 Sentinel-2 L1C 集合。根据纬度不同,Sentinel-2 的重访频率为 2-5 天。Dynamic World 预测适用于 CLOUDY_PIXEL_PERCENTAGE <= 35% 的 Sentinel-2 L1C 图像。使用 S2 Cloud Probability、Cloud Displacement Index 和 Directional Distance Transform 的组合方法,去除云和云影以生成预测结果。
  • Dynamic World 集合中的图像名称与其派生自的 Sentinel-2 L1C 资产名称相匹配,例如:
    • ee.Image('COPERNICUS/S2/20160711T084022_20160711T084751_T35PKT')
  • 对应的 Dynamic World 图像名称为:
    • ee.Image('GOOGLE/DYNAMICWORLD/V1/20160711T084022_20160711T084751_T35PKT')

Dynamic World 波段信息表

波段名称最小值最大值描述
water01估算完全被覆盖的概率
trees01估算完全被覆盖的概率
grass01估算完全被覆盖的概率
flooded_vegetation01估算完全被淹没植被覆盖的概率
crops01估算完全被农作物覆盖的概率
shrub_and_scrub01估算完全被灌木和灌丛覆盖的概率
built01估算完全被建筑覆盖的概率
bare01估算完全裸露的土地覆盖的概率
snow_and_ice01估算完全被雪和冰覆盖的概率
label08具有最高估算概率的波段的索引

label 类别表

颜色描述
0#419bdf水体
1#397d49树木
2#88b053草地
3#7a87c6被淹没的植被
4#e49635农作物
5#dfc35a灌木和灌丛
6#c4281b建筑物
7#a59b8f裸露地面
8#b39fe1雪和冰

Dynamic World 的主要创新

现实世界如同塑造它的人类和自然过程一样动态。Dynamic World 是一个近乎实时的 10 米分辨率全球土地利用和土地覆盖数据集,使用深度学习技术生成,免费开放使用。它是 Google 和世界资源研究所(World Resources Institute)合作的成果,旨在创建一个地球表面物理材料的动态数据集。Dynamic World 旨在作为一个数据产品,供用户添加自定义规则来分配最终的分类值,从而生成派生的土地覆盖地图。

  1. 近实时数据:每天生成超过 5000 张 Dynamic World 图像,而传统的土地覆盖数据构建方法可能需要数月或数年才能完成。借助一种基于 Sentinel-2 Top of Atmosphere 的新型深度学习方法,Dynamic World 提供每 2-5 天根据位置进行一次全球土地覆盖更新。
  2. 每个像素的 9 种土地覆盖类别概率:AI 驱动方法的一个主要优势是,模型会查看传入的 Sentinel-2 卫星图像,并对图像中的每个像素进行估计,例如树木覆盖程度、特定区域的建成情况或是否有积雪覆盖(如近期有暴风雪)。
  3. 十米分辨率:由于欧盟委员会的哥白尼计划使欧洲航天局的 Sentinel 数据免费和公开可用,Dynamic World 等产品能够提供 10 米分辨率的土地覆盖数据。这一点非常重要,因为更高分辨率的数据量化能够更准确地反映地球表面的真实情况。

GEE 应用案例

  • 案例网址:https://www.dynamicworld.app/explore

示例代码

// Construct a collection of corresponding Dynamic World and Sentinel-2 for
// inspection. Filter the DW and S2 collections by region and date.
var START = ee.Date('2021-04-02');
var END = START.advance(1, 'day');

var colFilter = ee.Filter.and(
    ee.Filter.bounds(ee.Geometry.Point(20.6729, 52.4305)),
    ee.Filter.date(START, END));

var dwCol = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1').filter(colFilter);
var s2Col = ee.ImageCollection('COPERNICUS/S2').filter(colFilter);

// Join corresponding DW and S2 images (by system:index).
var DwS2Col = ee.Join.saveFirst('s2_img').apply(dwCol, s2Col,
    ee.Filter.equals({leftField: 'system:index', rightField: 'system:index'}));

// Extract an example DW image and its source S2 image.
var dwImage = ee.Image(DwS2Col.first());
var s2Image = ee.Image(dwImage.get('s2_img'));

// Create a visualization that blends DW class label with probability.
// 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'];

// Create an RGB image of the label (most likely class) on [0, 1].
var dwRgb = dwImage
    .select('label')
    .visualize({min: 0, max: 8, palette: VIS_PALETTE})
    .divide(255);

// Get the most likely class probability.
var top1Prob = dwImage.select(CLASS_NAMES).reduce(ee.Reducer.max());

// Create a hillshade of the most likely class probability on [0, 1];
var top1ProbHillshade =
    ee.Terrain.hillshade(top1Prob.multiply(100))
    .divide(255);

// Combine the RGB image with the hillshade.
var dwRgbHillshade = dwRgb.multiply(top1ProbHillshade);

// Display the Dynamic World visualization with the source Sentinel-2 image.
Map.setCenter(20.6729, 52.4305, 12);
Map.addLayer(
    s2Image, {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}, 'Sentinel-2 L1C');
Map.addLayer(
    dwRgbHillshade, {min: 0, max: 0.65}, 'Dynamic World V1 - label hillshade');

显示效果

操作文档

  • 官方链接:https://developers.google.com/earth-engine/tutorials/community/introduction-to-dynamic-world-pt-1

欢迎来到Google Earth Engine教程,本教程将指导您如何使用动态世界(DW)数据集。该数据集包含基于Sentinel-2影像创建的近实时(NRT)土地利用/土地覆盖(LULC)预测,涵盖了下表中描述的九种土地利用/土地覆盖(LULC)类别。
本教程提供了如何使用Earth Engine加载和可视化这个丰富的10米分辨率每像素土地利用土地覆盖概率数据集的示例。教程还涵盖了计算统计数据和分析概率时间序列数据以进行变化检测的技术。

先决条件

本教程假设您对代码编辑器和Earth Engine API有一定的了解。在继续之前,请确保:

  • 注册Earth Engine。一旦您的申请获得批准,您将收到一封电子邮件,其中包含更多信息。 熟悉Earth
  • Engine代码编辑器,这是一个在Web浏览器中编写Earth Engine
  • JavaScript代码的IDE。在这里了解更多关于代码编辑器的信息。 如果您不熟悉JavaScript,请查看JavaScript
  • for Earth Engine教程。 如果您不熟悉Earth Engine API,请查看Earth Engine API简介教程。
  • 一旦您熟悉了JavaScript、Earth Engine API和代码编辑器,就可以开始本教程了!
动态世界

动态世界(DW)数据集是一个持续更新的图像集合,它提供了全球一致的、10米分辨率的近实时(NRT)土地利用土地覆盖(LULC)预测,这些预测是基于Sentinel-2影像创建的。该数据集中的图像包含十个波段:九个波段为每个DW LULC类别的估计概率,以及一个类别“标签”波段,指示估计概率最大的类别。这些独特的属性使用户能够进行多时相分析以及创建适合其需求的自定义产品。

使用NRT图像集合

动态世界近实时(NRT)图像集合包括从2015年6月23日至今的Sentinel-2 L1C采集的LULC预测,其中CLOUDY_PIXEL_PERCENTAGE元数据小于35%。随着Google Earth Engine中新的Sentinel-2 L1C协调图像的可用,图像集合会持续以近实时更新预测。

动态世界NRT集合可在GOOGLE/DYNAMICWORLD/V1中找到。该集合中的图像名称与它们派生的各个Sentinel-2 L1C产品名称相匹配。

让我们看看如何查找和加载特定Sentinel-2图像的动态世界分类。

  • 我们首先定义包含开始日期、结束日期和位置坐标的变量。在这里,我们定义了一个以美国马萨诸塞州的Quabbin水库为中心的点。
var startDate = '2021-10-15';
var endDate = '2021-10-25';
var geometry = ee.Geometry.Point([-72.28525, 42.36103]);
  • 加载Sentinel-2图像
    我们可以通过在Sentinel-2 L1C协调集合上应用日期范围和感兴趣位置的过滤器来找到Sentinel-2图像。由于动态世界分类仅适用于云量覆盖小于35%的场景,我们还应用了一个元数据过滤器。
var s2 = ee.ImageCollection('COPERNICUS/S2_HARMONIZED')
             .filterDate(startDate, endDate)
             .filterBounds(geometry)
             .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 35));

s2变量中的结果是符合过滤器的所有图像集合。我们可以调用.first()来提取集合中的单个图像(符合我们条件的最早图像)。一旦我们有了图像,让我们将其添加到地图中以进行可视化。代码还将视口中心设置在点位置的坐标上。

var s2Image = ee.Image(s2.first());
var s2VisParams = {bands: ['B4', 'B3', 'B2'], min: 0, max: 3000};
Map.addLayer(s2Image, s2VisParams, 'Sentinel-2 Image');
Map.centerObject(geometry, 13);

美国马萨诸塞州Quabbin水库的Sentinel-2 L1C图像

找到匹配的动态世界图像

要在动态世界集合中找到匹配的分类图像,我们需要使用system:index属性提取产品ID。

var imageId = s2Image.get('system:index');
print(imageId);

您将在控制台中看到打印出的Sentinel-2产品ID。我们可以使用相同的ID来加载匹配的动态世界场景。下面的代码片段对动态世界集合应用了过滤器,并提取了匹配的场景。

var dw = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1')
             .filter(ee.Filter.eq('system:index', imageId));
var dwImage = ee.Image(dw.first());
print(dwImage);

控制台将显示有关动态世界图像的信息。展开波段部分,您将注意到图像包含10个波段。

………


术语表

术语解释
Google Earth Engine一个用于存储和分析地理空间数据的云平台。
AI PlatformGoogle 提供的人工智能平台,用于构建和部署机器学习模型。
Sentinel-2欧洲航天局的一组地球观测卫星,提供高分辨率的地球表面影像。
Resource Watch世界资源研究所提供的一个平台,用于监测和展示全球环境数据。
WRI世界资源研究所(World Resources Institute),一个全球环境研究机构。

如果这对您有所帮助,希望点赞支持一下作者! 😊

点击查看原文

file

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666035.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Gradle】Gradle的本地安装和使用

目录 1、Gradle 的安装 2、集成 IntelliJ IDEA 3、使用 Gradle Gradle 完全兼容 Maven 和 Ivy 仓库&#xff0c;你可以从中检索依赖也可以发布你的文件到仓库中&#xff0c;Gradle 提供转换器能把 Maven 的构建逻辑转换成 Gradle 的构建脚本。 1、Gradle 的安装 Gradle 的…

卷积网络迁移学习:实现思想与TensorFlow实践

摘要&#xff1a;迁移学习是一种利用已有知识来改善新任务学习性能的方法。 在深度学习中&#xff0c;迁移学习通过迁移卷积网络&#xff08;CNN&#xff09;的预训练权重&#xff0c;实现了在新领域或任务上的高效学习。 下面我将详细介绍迁移学习的概念、实现思想&#xff0c…

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

文章目录 前言&#xff1a;1. 背景介绍2. 基本语法3. QSS 设置方式3.1. 设置全局样式3.2. 从文件加载样式表3.3. 使用 Qt Designer 编辑样式 总结&#xff1a; 前言&#xff1a; 在当今这个视觉至上的时代&#xff0c;用户界面&#xff08;UI&#xff09;的设计对于任何软件产…

嵌入式Linux复制剪切删除指令详解

指令操作 1. cp 复制指令 a. 用法&#xff1a;cp [ 选项 ] [ 源文件或目录 ] [ 目标文件或目录 ]&#xff1b; b. 用途&#xff1a;用于复制文件或目录&#xff1b; c. 通常情况下&#xff0c;复制的都不是空文件夹&#xff0c;所以直接使用 cp 复制空文件会失败&#xff0…

[ROS 系列学习教程] 建模与仿真 - Xacro 语法

ROS 系列学习教程(总目录) 本文目录 一、属性与属性块二、数学表达式三、宏3.1 宏的基本使用3.2 属性块做为宏的入参3.3 任意数量元素做为宏的入参3.4 指定多个块元素的处理顺序3.5 宏嵌套3.6 默认参数3.7 局部属性 四、Rospack 命令五、包含其他 xacro 文件六、条件语句七、YA…

C#中接口的显式实现与隐式实现及其相关应用案例

C#中接口的显式实现与隐式实现 最近在学习演化一款游戏项目框架时候&#xff0c;框架作者巧妙使用接口中方法的显式实现来变相对接口中方法进行“密封”&#xff0c;增加实现接口的类访问方法的“成本”。 接口的显式实现和隐式实现&#xff1a; 先定义一个接口&#xff0c;接口…

KotlinConf 2024:深入了解Kotlin Multiplatform (KMP)

KotlinConf 2024&#xff1a;深入了解Kotlin Multiplatform (KMP) 在近期的Google I/O大会上&#xff0c;我们推荐了Kotlin Multiplatform (KMP)用于跨移动、网页、服务器和桌面平台共享业务逻辑&#xff0c;并在Google Workspace中采用了KMP。紧接着&#xff0c;KotlinConf 2…

豆包浏览器插件会造成code标签内容无法正常显示

启用状态&#xff1a;页面的代码会显示不正常 禁用后&#xff0c;正常显示 害得我重置浏览器设置&#xff0c;一个个测试

CentOS7.9部署安装OpenGauss 5.0.2企业版

1、更新系统: yum update -y 2、更改主机名&#xff1a; hostnamectl set-hostname opendb01 3、关闭透明页&#xff1a; echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag# 加入开机自启动 echo …

微信小程序使用echarts

思路 五个tab公用一个柱状图组件切换tab以及切换时间改变数据&#xff0c;传入子组件&#xff0c;子组件监听数据重新更新点击柱状图显示具体数值每个时间点有两个柱子&#xff08;高压和低压&#xff09;&#xff0c;柱状图显示高压的最大值到最小值的范围除了血压其余只有一…

【Epoch,Batch,Iteration】深度学习模型训练相关基础概念光速理解!

&#x1f525;模型训练相关基础概念&#xff01; Epoch: 一次 epoch 代表整个训练数据集已经被完整地送入神经网络进行了一轮训练。通常&#xff0c;模型需要多次 epoch 才能充分学习数据集中的模式。Batch: 由于数据集可能过大&#xff0c;无法一次性全部加载到内存中进行训练…

【前端】Mac安装node14教程

在macOS上安装Node.js版本14.x的步骤如下&#xff1a; 打开终端。 使用Node Version Manager (nvm)安装Node.js。如果你还没有安装nvm&#xff0c;可以使用以下命令安装&#xff1a; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 然后关…

LAMP分布式安全方案搭建网页 (LinuxCentOS7+Apache+Mariadb+PHP)包括服务端口及防火墙规则配置

目录 一、实验目的 二、设计方案及规划 三、实验内容及步骤 &#xff08;1&#xff09;实验前基础配置 &#xff08;2&#xff09;Test配置&#xff0c;安装Firefox浏览器和图形界面 &#xff08;3&#xff09;Web安装Apache &#xff08;4&#xff09;Database安装Mari…

2.4 Docker部署JDK

2.4 Docker部署JDK jdk17部署&#xff08;自定义镜像&#xff09; 1.在官网上下载jdk-17_linux-x64_bin.tar.gz&#xff0c;并安装到/usr/local目录下 cd /usr/local2.创建Dockerfile vim Dockerfile# 基于官方的Ubuntu 20.04镜像作为基础镜像 FROM ubuntu:20.04# 设置环境…

瑞吉外卖项目学习笔记(二)后台系统的员工管理业务开发

一、完善登录功能 1.1 问题分析 1.2 代码实现 package com.itheima.reggie.filter;//这是一个过滤器类 //登录检查过滤器import com.alibaba.fastjson.JSON; import com.itheima.reggie.common.R; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf…

探索k8s集群的存储卷 emptyDir hostPath nfs

目录 一 含义 查看支持的存储卷类型 emptyDir存储卷 1.1 特点 1.2 用途 1.3部署 二、hostPath存储卷 一 含义 容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。首先&#xff0c;当容器崩溃时&#xff0c;kubelet 会重…

磁盘配额的具体操作

磁盘配额&#xff1a; linux的磁盘空间有两个方面&#xff1a;第一个是物理空间&#xff0c;也就是磁盘的容量 第二个inode号耗尽&#xff0c;也无法写入 linux根分区&#xff1a;根分区的空间完全耗尽&#xff0c;服务程序崩溃&#xff0c;系统也无法启动了。 为了防止有人…

师彼长技以助己(2)产品思维

师彼长技以助己&#xff08;2&#xff09;产品思维 前言 我把产品思维称之为&#xff1a;人生底层的能力以及蹉跎别人还蹉跎自己的能力&#xff0c;前者说明你应该具备良好产品思维原因&#xff0c;后者是你没有好的产品思维去做产品带来的灾难。 人欲即天理 请大家谈谈看到这…

错误 0x80070570:文件或目录损坏且无法读取/无法访问[拒绝访问]-解决方法

1.起因&#xff1a;在挪动&#xff35;盘文件时&#xff0c;出现无法移动的报错提示&#xff1a; and无法访问[拒绝访问]: 2.原因&#xff3b;大多是胡乱拔出&#xff35;盘&#xff3d; &#xff3b;来自0x80070570 文件或目录损坏且无法读取 CHKDSK 修复方法-CSDN博客&#…

【介绍下SCSS的基本使用】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…