簡體   English   中英

如何縮小柵格但保持相同的值?

[英]How to dowscale a raster but keeping the same values?

如果我有這個分辨率為 40 x 40 的柵格。

 library(raster)
 #get some sample data
 data(meuse.grid)
 gridded(meuse.grid) <- ~x+y
 meuse.raster <- raster(meuse.grid)
 res(meuse.raster)
 #[1] 40 40

我想將此柵格縮小到 4 x 4。如果 40x40 = 125 的像素,則對該像素內的所有 4x4x 像素使用相同的值。

只需將 40 x40 的每個像素分成 4x4 並保持其值。

我也對 CDO 解決方案持開放態度。

我們可以使用raster::disaggregate

library(raster)

#get some sample data
data(meuse.grid)
gridded(meuse.grid) <- ~x+y
meuse.raster <- raster(meuse.grid)

#assign geographic coordinate system (from coordinates and location (Meuse) it seems like the standard projection for the Netherlands (Amersfoort, ESPG:28992)
crs(meuse.raster) <- "EPSG:28992"

#disaggregate
meuse.raster.dissaggregated <- disaggregate(meuse.raster, c(10,10))

我使用 c(10,10) 將分辨率從 40x40 分解到 4x4 (細節的 10 倍)。

res(meuse.raster.dissaggregated)
[1] 4 4

在評論中,克里斯提到了terra package。 我還建議從raster轉移到terra 我相信它是最新的 package 並最終會取代像rasterstars這樣的包。

terra也有一個分解 function terra::disagg()以類似的方式工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM