Dynamic World V1

GOOGLE/DYNAMICWORLD/V1
Disponibilidade do conjunto de dados
2015-06-27T00:00:00Z–2025-03-09T03:20:17Z
Provedor de conjuntos de dados
Snippet do Earth Engine
ee.ImageCollection("GOOGLE/DYNAMICWORLD/V1")

O Dynamic World é um conjunto de dados de uso/cobertura da terra (LULC, na sigla em inglês) de 10 metros em quase tempo real (NRT, na sigla em inglês) que inclui probabilidades de classe e informações de rótulo para nove classes.

As previsões do Dynamic World estão disponíveis para a coleção Sentinel-2 L1C de 27 de junho de 2015 até o presente. A frequência de revisita do Sentinel-2 é de dois a cinco dias, dependendo da latitude. As previsões do Dynamic World são geradas para imagens Sentinel-2 L1C com CLOUDY_PIXEL_PERCENTAGE <= 35%. As previsões são mascaradas para remover nuvens e sombras de nuvens usando uma combinação de probabilidade de nuvem do S2, índice de deslocamento de nuvem e transformação de distância direcional.

As imagens na coleção "Mundo dinâmico" têm nomes que correspondem aos nomes individuais dos recursos do Sentinel-2 L1C de que foram derivados, por exemplo:

ee.Image('COPERNICUS/S2/20160711T084022_20160711T084751_T35PKT')

tem uma imagem do Dynamic World correspondente com o nome: ee.Image('GOOGLE/DYNAMICWORLD/V1/20160711T084022_20160711T084751_T35PKT').

Todas as faixas de probabilidade, exceto a de "rótulo", somam 1.

Para saber mais sobre o conjunto de dados do Dynamic World e conferir exemplos de como gerar composições, calcular estatísticas regionais e trabalhar com a série temporal, consulte a série de tutoriais Introdução ao Dynamic World.

Como as estimativas de classe do Dynamic World são derivadas de imagens únicas usando um contexto espacial de uma pequena janela móvel, as "probabilidades" de 1º lugar para coberturas de terra previstas que são parcialmente definidas pela cobertura ao longo do tempo, como culturas, podem ser relativamente baixas na ausência de características distintivas óbvias. Superfícies de alta restituição em climas áridos, areia, reflexo do sol etc. também podem apresentar esse fenômeno.

Para selecionar apenas os pixels que pertencem com segurança a uma classe de mundo dinâmico, é recomendável mascarar as saídas do mundo dinâmico definindo um limite para a "probabilidade" estimada da previsão de 1º lugar.

Tamanho do pixel
10 metros

Bandas

Nome Mín. Máx. Descrição
water 0 1

Probabilidade estimada de cobertura total por água

trees 0 1

Probabilidade estimada de cobertura completa por árvores

grass 0 1

Probabilidade estimada de cobertura completa por grama

flooded_vegetation 0 1

Probabilidade estimada de cobertura total por vegetação inundada

crops 0 1

Probabilidade estimada de cobertura completa por culturas

shrub_and_scrub 0 1

Probabilidade estimada de cobertura completa por arbusto e matagal

built 0 1

Probabilidade estimada de cobertura completa por construção

bare 0 1

Probabilidade estimada de cobertura completa por bare

snow_and_ice 0 1

Probabilidade estimada de cobertura completa por neve e gelo

label 0 8

Índice da faixa com a maior probabilidade estimada

Tabela de classes de rótulos

Valor Cor Descrição
0 #419bdf água
1 #397d49 árvores
2 #88b053 grama
3 #7a87c6 flooded_vegetation
4 #e49635 colheitas
5 #dfc35a shrub_and_scrub
6 #c4281b criados
7 #a59b8f nu
8 #b39fe1 snow_and_ice

Propriedades da imagem

Nome Tipo Descrição
dynamicworld_algorithm_version STRING

A string de versão que identifica exclusivamente o modelo do mundo dinâmico e o processo de inferência usado para produzir a imagem.

qa_algorithm_version STRING

A string de versão que identifica de forma exclusiva o processo de mascaramento de nuvem usado para produzir a imagem.

Termos de Uso

Esse conjunto de dados está licenciado sob a CC-BY 4.0 e requer a seguinte atribuição: "Este conjunto de dados foi produzido para o Dynamic World Project pelo Google em parceria com a National Geographic Society e o World Resources Institute".

Contém dados modificados do Copernicus Sentinel [2015-presente]. Consulte o Aviso legal de dados do Sentinel.

Citações:
  • Brown, C.F., Brumby, S.P., Guzder-Williams, B. et al. Dynamic World, Near-real-time global 10 m land use land cover mapping. Sci Data 9, 251 (2022). doi:10.1038/s41597-022-01307-4

Explorar com o Earth Engine

// Construct a collection of corresponding Dynamic World and Sentinel-2 for
// inspection. Filter 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_HARMONIZED');

// Link DW and S2 source images.
var linkedCol = dwCol.linkCollection(s2Col, s2Col.first().bandNames());

// Get example DW image with linked S2 image.
var linkedImg = ee.Image(linkedCol.first());

// 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 = linkedImg
    .select('label')
    .visualize({min: 0, max: 8, palette: VIS_PALETTE})
    .divide(255);

// Get the most likely class probability.
var top1Prob = linkedImg.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(
    linkedImg, {min: 0, max: 3000, bands: ['B4', 'B3', 'B2']}, 'Sentinel-2 L1C');
Map.addLayer(
    dwRgbHillshade, {min: 0, max: 0.65}, 'Dynamic World V1 - label hillshade');

Consulte a página Ambiente Python para informações sobre a API Python e o uso de geemap para desenvolvimento interativo.

import ee
import geemap.core as geemap
# Construct a collection of corresponding Dynamic World and Sentinel-2 for
# inspection. Filter by region and date.
START = ee.Date('2021-04-02')
END = START.advance(1, 'day')

col_filter = ee.Filter.And(
    ee.Filter.bounds(ee.Geometry.Point(20.6729, 52.4305)),
    ee.Filter.date(START, END),
)

dw_col = ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1').filter(col_filter)
s2_col = ee.ImageCollection('COPERNICUS/S2_HARMONIZED');

# Link DW and S2 source images.
linked_col = dw_col.linkCollection(s2_col, s2_col.first().bandNames());

# Get example DW image with linked S2 image.
linked_image = ee.Image(linked_col.first())

# Create a visualization that blends DW class label with probability.
# Define list pairs of DW LULC label and color.
CLASS_NAMES = [
    'water',
    'trees',
    'grass',
    'flooded_vegetation',
    'crops',
    'shrub_and_scrub',
    'built',
    'bare',
    'snow_and_ice',
]

VIS_PALETTE = [
    '419bdf',
    '397d49',
    '88b053',
    '7a87c6',
    'e49635',
    'dfc35a',
    'c4281b',
    'a59b8f',
    'b39fe1',
]

# Create an RGB image of the label (most likely class) on [0, 1].
dw_rgb = (
    linked_image.select('label')
    .visualize(min=0, max=8, palette=VIS_PALETTE)
    .divide(255)
)

# Get the most likely class probability.
top1_prob = linked_image.select(CLASS_NAMES).reduce(ee.Reducer.max())

# Create a hillshade of the most likely class probability on [0, 1]
top1_prob_hillshade = ee.Terrain.hillshade(top1_prob.multiply(100)).divide(255)

# Combine the RGB image with the hillshade.
dw_rgb_hillshade = dw_rgb.multiply(top1_prob_hillshade)

# Display the Dynamic World visualization with the source Sentinel-2 image.
m = geemap.Map()
m.set_center(20.6729, 52.4305, 12)
m.add_layer(
    linked_image,
    {'min': 0, 'max': 3000, 'bands': ['B4', 'B3', 'B2']},
    'Sentinel-2 L1C',
)
m.add_layer(
    dw_rgb_hillshade,
    {'min': 0, 'max': 0.65},
    'Dynamic World V1 - label hillshade',
)
m
Abrir no editor de código