Google Earth Engine(GEE)——R 語言圖像概覽
改編自Google Earth Engine 文檔。
柵格數據在 Earth Engine中表示為Image對象。圖像由一個或多個波段組成,每個波段都有自己的名稱、數據類型、比例、遮罩和投影。每個圖像都將元數據存儲為一組屬性。
1. ee.Image 構造函數
可以通過將地球引擎資產ID粘貼到ee$Image構造函數中來加載圖像。您可以在數據目錄中找到圖像ID。例如,要加載JAXA 的 ALOS DSM:
library(rgee)
ee_Initialize()
srtm <- ee$Image("USGS/SRTMGL1_003")
2. 從 ee.ImageCollection 中獲取 ee.Image
從集合中獲取圖像的標準方法是過濾集合,過濾器按特異性遞減的順序進行。例如,要從 Sentinel-2 表面反射集合中獲取圖像:
# 加載衛星影像
sen <- ee$ImageCollection("COPERNICUS/S2")$
filterBounds(ee$Geometry$Point(-70.48, 43.3631))$
filterDate('2019-01-01', '2019-12-31')$
sort('CLOUDY_PIXEL_PERCENTAGE')$
first()
# 定義可視化參數
vizParams <- list(
bands = c("B4", "B3", "B2"),
min = 0,
max = 2000,
gamma = c(0.95, 1.1, 1)
)
# 設置影像中心點和縮放
Map$centerObject(sen, 7)
# 你將會看到
m1 <- Map$addLayer(sen, vizParams, 'first')
m1
圖 N°01:?Sentinel-2 RGB 波蘭,美國
請注意,排序在過濾器之后。避免對整個集合進行排序。
要在 QGIS 中顯示結果復制m1$rgee$tokens到 XYZ Tiles:
m1$rgee$tokens
#[1] > "https://earthengine.googleapis.com/v1alpha/projects/earthengine-legacy/maps/af6fc12945dfe1342891968f6b8b3c47-d47e902ef95199a5c37959f3aec47388/tiles/{z}/{x}/{y}"
圖 N°02:?rgee & QGIS 地圖集成
3. 來自 Cloud GeoTIFFS 的圖像
您可以使用ee$Image$loadGeoTIFF()加載從圖像云優化GeoTIFFs在谷歌云存儲。例如,托管在 Google Cloud 中的公共 Landsat 數據集包含此 GeoTIFF,對應于來自 Landsat 8 場景的波段 5。您可以使用ee$Image$loadGeoTIFF()以下命令從 Cloud Storage 加載此圖像:
uri <- sprintf(
"%1s%2s%3s",
"gs://gcp-public-data-landsat/LC08/01/001/002/",
"LC08_L1GT_001002_20160817_20170322_01_T2/",
"LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF"
)
cloudImage <- ee$Image$loadGeoTIFF(uri)
print(cloudImage)
請注意,如果您想重新加載從 Earth Engine 導出到 Cloud Storage的 Cloud Optimized GeoTIFF?,則在執行導出時,請按照此處所述將 cloudOptimized 設置為 true?。
4. 常量圖像
除了通過ID加載圖像之外,您還可以從常量、列表或其他合適的 Earth Engine 對象創建圖像。下面說明了創建圖像、獲取波段子集和操作波段的方法:
library(rgee)
ee_Initialize()
# 創建一個像素值為 1 的常量 Image。
image1 <- ee$Image(1)
print(image1, type = "json")
print(image1, type = "simply")
print(image1, type = "ee_print")
# You can see it.
Map$addLayer(image1)
# 將兩個圖像連接成一個多波段圖像。
image2 <- ee$Image(2)
image3 <- ee$Image$cat(c(image1, image2))
ee_print(image3, clean = TRUE)
# 通過以下方式更改打印選項:“簡單”、“json”、“ee_print”
options(rgee.print.option = "simply")
# 從常量列表創建多波段圖像。
multiband <- ee$Image(c(1, 2, 3))
print(multiband)
# 選擇并(可選)重命名波段。
renamed <- multiband$select(
opt_selectors = c("constant", "constant_1", "constant_2"), # old names
opt_names = c("band1", "band2", "band3") # new names
)
ee_print(renamed)
# 為圖像添加波段。
image4 <- image3$addBands(ee$Image(42))
print(image4)
AI R 語言
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。