
說明
Dynamic World 是近乎即時 (NRT) 的 10 公尺土地利用/土地覆蓋 (LULC) 資料集,包含九個類別的類別機率和標籤資訊。
Dynamic World 預測適用於 2015 年 6 月 27 日至今的 Sentinel-2 L1C 集合。Sentinel-2 的重訪頻率介於 2 到 5 天,視緯度而定。系統會針對 CLOUDY_PIXEL_PERCENTAGE <= 35% 的 Sentinel-2 L1C 影像生成 Dynamic World 預測。系統會使用 S2 雲朵機率、雲朵位移指數和方向距離轉換的組合,遮蓋預測結果,移除雲朵和雲影。
「動態世界」集合中的圖片名稱,與衍生來源的個別 Sentinel-2 L1C 資產名稱相符,例如:
ee.Image('COPERNICUS/S2/20160711T084022_20160711T084751_T35PKT')
具有相符的 Dynamic World 圖片,名稱為: ee.Image('GOOGLE/DYNAMICWORLD/V1/20160711T084022_20160711T084751_T35PKT')。
除了「標籤」機率帶之外,所有機率帶的總和為 1。
如要進一步瞭解 Dynamic World 資料集,並查看產生合成影像、計算區域統計資料,以及處理時間序列的範例,請參閱「Dynamic World 簡介」教學課程系列。
由於 Dynamic World 類別估算值是使用小型移動視窗的空間背景,從單一圖片衍生而來,因此如果沒有明顯的區別特徵,預測土地覆蓋的最高「機率」可能會相對較低,而這類特徵部分是由一段時間內的覆蓋情況所定義,例如農作物。在乾燥氣候、沙地、陽光直射等環境中,高反射率的表面也可能出現這種現象。
如要只選取確定屬於動態世界類別的像素,建議您透過設定前 1 項預測的估計「機率」門檻,遮罩動態世界輸出內容。
頻帶
像素大小
10 公尺
頻帶
名稱 | 最小值 | 最大值 | 像素大小 | 說明 |
---|---|---|---|---|
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 | 公尺 | 預估機率最高的頻帶索引 |
標籤類別資料表
值 | 顏色 | 說明 |
---|---|---|
0 | #419bdf | 水 |
1 | #397d49 | 樹木 |
2 | #88b053 | 青草 |
3 | #7a87c6 | flooded_vegetation |
4 | #e49635 | 農作物 |
5 | #dfc35a | shrub_and_scrub |
6 | #c4281b | built |
7 | #a59b8f | bare |
8 | #b39fe1 | snow_and_ice |
圖片屬性
圖片屬性
名稱 | 類型 | 說明 |
---|---|---|
dynamicworld_algorithm_version | STRING | 這個版本字串可專屬識別用於生成圖片的 Dynamic World 模型和推論程序。 |
qa_algorithm_version | STRING | 這個版本字串可專門識別用於生成圖片的雲端遮罩處理程序。 |
使用條款
使用條款
這項資料集已取得 CC-BY 4.0 授權,並須註明出處:「這項資料集是由 Google 與美國國家地理學會和世界資源研究所合作,為 Dynamic World 計畫製作。」
包含 [2015 年至今] 經修改的 Copernicus Sentinel 資料。 請參閱「Sentinel 資料法律聲明」。
引用內容
Brown, C.F.、Brumby, S.P.、Guzder-Williams, B. 等人。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');
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