Dynamic World V1

GOOGLE/DYNAMICWORLD/V1
データセットの可用性
2015-06-27T00:00:00Z–2025-09-06T04:05:47.794000Z
データセット プロバイダ
Earth Engine スニペット
ee.ImageCollection("GOOGLE/DYNAMICWORLD/V1")
タグ
global google landcover landuse landuse-landcover nrt sentinel2-derived

説明

Dynamic World は、9 つのクラスのクラス確率とラベル情報を含む、10 m の準リアルタイム(NRT)の土地利用/土地被覆(LULC)データセットです。

Dynamic World の予測は、2015 年 6 月 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')

ee.Image('GOOGLE/DYNAMICWORLD/V1/20160711T084022_20160711T084751_T35PKT') という名前の Dynamic World 画像と一致します。

「ラベル」帯域を除くすべての確率帯域の合計は 1 になります。

Dynamic World データセットの詳細と、コンポジットの生成、地域統計の計算、時系列の操作の例については、Dynamic World の概要チュートリアル シリーズをご覧ください。

Dynamic World のクラス推定は、小さな移動ウィンドウの空間コンテキストを使用して単一の画像から導出されるため、作物など、時間経過に伴う被覆によって部分的に定義される予測された土地被覆のトップ 1 の「確率」は、明らかな識別特徴がない場合、比較的低くなる可能性があります。乾燥した気候の反射率の高い表面、砂、太陽光の反射などでも、この現象が発生することがあります。

Dynamic World クラスに属すると確信できるピクセルのみを選択するには、上位 1 つの予測の推定「確率」を閾値処理して、Dynamic World の出力をマスクすることをおすすめします。

バンド

Pixel Size
10 meters

帯域

名前 最小 最大 ピクセルサイズ 説明
water 0 1 メートル

水による完全なカバレッジの推定確率

trees 0 1 メートル

樹木による完全な被覆の推定確率

grass 0 1 メートル

草で完全に覆われる確率の推定値

flooded_vegetation 0 1 メートル

洪水で水没した植生による完全な被覆の推定確率

crops 0 1 メートル

作物の完全な被覆率の推定確率

shrub_and_scrub 0 1 メートル

低木とスクラブによる完全な被覆の推定確率

built 0 1 メートル

構築済みネットワークによる完全なカバレッジの推定確率

bare 0 1 メートル

ベアメタルによる完全なカバレッジの推定確率

snow_and_ice 0 1 メートル

雪と氷で完全に覆われる推定確率

label 0 8 メートル

推定確率が最も高い帯域のインデックス

label Class Table

説明
0 #419bdf

1 #397d49

2 #88b053

3 #7a87c6

flooded_vegetation

4 #e49635

作物

5 #dfc35a

shrub_and_scrub

6 #c4281b

構築済み

7 #a59b8f

bare

8 #b39fe1

snow_and_ice

画像プロパティ検出

画像プロパティ

名前 説明
dynamicworld_algorithm_version STRING

画像を生成するために使用された Dynamic World モデルと推論プロセスを一意に識別するバージョン文字列。

qa_algorithm_version STRING

イメージの生成に使用されたクラウド マスキング プロセスを一意に識別するバージョン文字列。

利用規約

利用規約

このデータセットは CC-BY 4.0 の下でライセンスされており、「このデータセットは、Google が National Geographic Society および World Resources Institute とのパートナーシップにより Dynamic World プロジェクトのために作成したものです。」という帰属表示が必要です。

修正された Copernicus Sentinel データ [2015 年~現在] が含まれています。Sentinel データに関する法的通知をご覧ください。

引用

引用:
  • 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

DOI

Earth Engine で探索する

コードエディタ(JavaScript)

// 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');

Python の設定

Python API とインタラクティブな開発での geemap の使用については、 Python 環境ページをご覧ください。

import ee
import geemap.core as geemap

Colab(Python)

# 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
コードエディタで開く