Google Earth Engine(GEE)——R 語言圖像可視化(內含NDWI指數計算和掩膜鑲嵌后的圖像展示)

      網友投稿 1561 2022-05-30

      改編自Google Earth Engine 文檔。

      您可以使用Map$addLayer()可視化圖像。如果在沒有任何附加參數的情況下向地圖添加圖層,默認情況下rgee將前三個波段分別分配給紅色、綠色和藍色。默認拉伸基于帶中數據的類型(例如,浮點數在 [0,1] 中拉伸,16 位數據被拉伸到可能值的完整范圍),這可能適合也可能不適合。為了達到理想的可視化效果,您可以為Map$addLayer()提供可視化參數。具體來說,參數是:

      1. RGB 合成

      下面說明了如何使用參數將 Landsat 8 圖像設置為假彩色合成:

      library(rgee)

      ee_Initialize()

      # 加載影像

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # 定義參數

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      # 設置影像中心和加載到地圖中

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      Map$addLayer(landsat, vizParams, 'false color composite')

      在本例中,波段‘B5’被分配給紅色,‘B4’被分配給綠色,‘B3’被分配給藍色。結果應該類似于圖 1。

      圖 N°01:美國加利福尼亞州舊金山灣區的 Landsat 8 假彩色合成圖。

      2. 調色板

      要以彩色顯示圖像的單個波段,請使用palette由 CSS 樣式顏色字符串列表表示的色帶設置參數。(有關更多信息,請參閱此參考資料)。以下示例說明了如何使用從青色 (?‘00FFFF’) 到藍色 (?‘0000FF’) 的顏色來渲染歸一化差值水指數 (NDWI)圖像:

      # 加載影像

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # 創建歸一化水體指數NDWI

      ndwi <- landsat$normalizedDifference(c('B3', 'B5'))

      # 定義視覺參數和加載影像

      ndwiViz <- list(

      min = 0.5,

      max = 1,

      palette = c('00FFFF', '0000FF')

      )

      Map$addLayer(

      eeObject = ndwi,

      visParams = ndwiViz,

      name = 'NDWI',

      shown = FALSE

      )

      Google Earth Engine(GEE)——R 語言圖像可視化(內含NDWI指數計算和掩膜鑲嵌后的圖像展示)

      在此示例中,請注意min和max參數指示應應用調色板的像素值范圍。中間值被線性拉伸。另請注意,如果您將shown參數定義為FALSE,這會導致圖層在添加到地圖時不可見。始終可以使用地圖左上角的圖層管理器再次打開它。結果應該類似于圖 2。

      圖 N°02:美國舊金山灣區 Landsat 8 NDWI。與圖 1 相同的區域。青色是低值,藍色是高值。

      3. 掩膜

      您可以使用image$updateMask()根據蒙版圖像中的像素不為零的位置設置單個像素的不透明度。遮罩中等于 0 的像素被排除在計算之外,并且不透明度設置為 0 以進行顯示。以下示例使用 NDWI 閾值更新先前創建的 NDWI 圖層上的掩碼:

      # Load an image.

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # Create visualization layers.

      imageRGB <- landsat$visualize(

      list(

      bands = list("B5", "B4", "B3"),

      max = 0.5

      )

      )

      ndwiRGB <- ndwiMasked$visualize(

      list(

      min = 0.5,

      max = 1,

      palette = c('00FFFF', '0000FF')

      )

      )

      5. 鑲嵌

      您可以使用遮罩和imageCollection$mosaic()來實現各種制圖效果。該mosaic()方法根據輸入集合中的順序渲染輸出圖像中的圖層。下面的示例用于mosaic()組合蒙版 NDWI 和假色合成并獲得新的可視化:

      # 鑲嵌可視化圖層并顯示(或導出)。

      mosaic <- ee$ImageCollection(list(imageRGB, ndwiRGB))$mosaic()

      Map$addLayer(eeObject = mosaic, list(), name = 'mosaic')

      在此示例中,觀察向ImageCollection構造函數提供了兩個可視化圖像的列表。列表的順序決定了圖像在地圖上呈現的順序。結果應該類似于圖 3。

      圖 N°04:?Landsat 8 假彩色合成和 NDWI 的馬賽克。美國舊金山灣區。

      6. 與其他 R 包的集成

      Map$addLayer()創建一個帶有以下額外屬性的傳單對象:標記、名稱、不透明度、顯示、最小值、最大值、調色板和圖例。這些額外的數據有助于用戶自定義他們的交互式地圖和/或將Map$addLayer與其他 R 包(例如{mapview}、?{mapedit}和{leaflet} )集成。

      library(rgee)

      ee_Initialize()

      # 加載影像

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # 定義參數

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      # 展示影像

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      m1 <- Map$addLayer(landsat, vizParams, 'false color composite')

      m1$rgee

      #> $tokens獲取權限

      #> [1] "https://earthengine.googleapis.com/v1alpha/projects/earthengine-legacy/maps/6f68ea5563f0787171eef294011e5b1a-54a29dea5a564831913fb1c8c1653628/tiles/{z}/{x}/{y}"

      #>

      #> $name

      #> [1] "false color composite"

      #>

      #> $opacity

      #> [1] 1

      #>

      #> $shown

      #> [1] TRUE

      #>

      #> $min

      #> [1] NA

      #>

      #> $max

      #> [1] NA

      #>

      #> $palette

      #> $palette[[1]]

      #> [1] NA

      #>

      #>

      #> $legend

      #> [1] FALSE

      {leaflet}:是一個用于傳單的 R 包綁定(由 Rstudio 開發),一個用于移動友好型交互式地圖的開源 JavaScript 庫。

      library(leaflet)

      library(rgee)

      ee_Initialize()

      # 加載影像

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # 定義視覺參數

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      # 設置地圖中心點和展示

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      m1 <- Map$addLayer(landsat, vizParams, 'false color composite')

      # 與leaflet結合

      leaflet() %>%

      addTiles() %>%

      setView(-122.1899, 37.5010, 9) %>%

      addTiles(

      urlTemplate = m1$rgee$tokens,

      layerId = "leaflet_false_color",

      options = leaflet::tileOptions(opacity = 1)

      )

      圖 N°05:?Map$addLayer 和 {leaflet} 集成

      {mapview}:由 Tim Appelhans 開發的 R 包,它提供了非常快速和方便地創建 R 空間數據的交互式可視化的功能。它支持最流行的空間數據 R 包({sp}、{sf}、{stars} 和 {raster})。

      library(mapview)

      library(rgee)

      ee_Initialize()

      # 加載影像

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # 設置參數

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      # 顯示圖像

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      m1 <- Map$addLayer(landsat, vizParams, 'false color composite')

      # 與地圖視圖集成

      stp <- st_sfc(st_point(c(-122.27234, 37.46941)), crs=4326)

      mapview(stp, m1)

      圖 N°06:?Map$addLayer 和 {mapview} 集成。

      {mapedit}:為傳單交互式地圖添加空間數據編輯功能(類似于代碼編輯器幾何工具)。

      每加載一個地物就直接應用到這個函數就好了,所以比較簡單

      library(mapedit)

      library(rgee)

      ee_Initialize()

      # Load an image.

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      # Define the visualization parameters.

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      # Center the map and display the image.

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      m1 <- Map$addLayer(landsat, vizParams, 'false color composite')

      # Integrate with mapedit

      my_geom <- editMap(m1)$drawn

      7. 地圖運營商

      從 1.0.5 版本開始,rgee支持兩種地圖操作符:

      library(mapedit)

      library(rgee)

      ee_Initialize()

      # Load an image.

      landsat <- ee$Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318')

      ndwi <- landsat$normalizedDifference(c('B3', 'B5'))

      ndwiMasked <- ndwi$updateMask(ndwi$gte(0.4))

      # Define the visualization parameters.

      vizParams <- list(

      bands = c('B5', 'B4', 'B3'),

      min = 0,

      max = 0.5,

      gamma = c(0.95, 1.1, 1)

      )

      ndwiViz <- list(

      min = 0.5,

      max = 1,

      palette = c('00FFFF', '0000FF')

      )

      # Center the map and display the image.

      Map$setCenter(lon = -122.1899, lat = 37.5010, zoom = 10) # San Francisco Bay

      m1 <- Map$addLayer(landsat, vizParams, 'false color composite')

      m2 <- Map$addLayer(ndwiMasked, ndwiViz, 'NDWI masked')

      m1?+m2:疊加層。

      m1 + m2

      圖 N°08:疊加地圖

      示例

      m1?|m2:并排視圖。

      #中間這個豎條也十分直白,就告訴你分開就好

      m1 | m2

      圖 N°08:并排示例

      R 語言

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:ECharts用法及常用配置項詳解(Vue環境)
      下一篇:Python基本語法_輸入/輸出語句詳解
      相關文章
      亚洲另类无码专区首页| 亚洲色丰满少妇高潮18p| 亚洲午夜精品一区二区麻豆| 亚洲综合久久综合激情久久| 国产亚洲免费的视频看| 国产亚洲精午夜久久久久久| 国产亚洲精品a在线观看| 国产偷国产偷亚洲高清在线| 亚洲国产成人无码AV在线影院| 亚洲国产区男人本色| 亚洲AV无码一区二区三区性色| 亚洲人片在线观看天堂无码| 亚洲欧洲精品成人久久曰| 亚洲精品无码你懂的| 亚洲av日韩综合一区二区三区| 亚洲av无码一区二区三区天堂| 亚洲日本在线电影| 亚洲精品伦理熟女国产一区二区 | 久久国产精品亚洲综合| 亚洲成AV人片在线观看| 亚洲AV福利天堂一区二区三| 亚洲国产第一页www| 亚洲精品视频久久| 日本亚洲精品色婷婷在线影院 | 久久精品国产亚洲一区二区| 水蜜桃亚洲一二三四在线| 亚洲视频在线一区二区三区| 亚洲制服丝袜在线播放| 伊人久久五月丁香综合中文亚洲| 亚洲精品GV天堂无码男同| 国产亚洲精品美女久久久久| 亚洲欧洲精品成人久久曰影片| 亚洲老妈激情一区二区三区| 亚洲va在线va天堂va不卡下载| 亚洲酒色1314狠狠做| 亚洲图片中文字幕| 亚洲色欲色欱wwW在线| 国产午夜亚洲精品不卡| 国产亚洲人成网站在线观看| 亚洲AV日韩精品久久久久| 亚洲成人网在线播放|