我想改变栅格的分辨率。例如,我们可以以大约30米分辨率的Landsat 7图像为例。
有没有办法获得1234米的精确分辨率?
创建于2022-04-28,使用reprex package (v2.0.1)。
library(terra)
#> terra 1.5.21
f <- system.file("tif/L7_ETMs.tif", package = "stars")
r <- rast(f)
# 30m x 30m resolution
res(r)
#> [1] 28.5 28.5
plot(r, 1)
我可以使用aggregate()
和整数因子,例如:# 10 * 28.5
r2 <- aggregate(r, fact = 10)
res(r2)
#> [1] 285 285
plot(r2, 1)
我的问题是,我如何指定一个精确的分辨率。例如,我想要一个像素分辨率为1.234公里(1234米)。fact <- 1234 / 28.5
fact
#> [1] 43.29825
r3 <- aggregate(r, fact = fact)
res(r3)
#> [1] 1225.5 1225.5
plot(r3, 1)
文档说明fact
应该是一个整数,因此这里将fact
向下取整为43。res(aggregate(r, 43))
#> [1] 1225.5 1225.5
有没有办法获得1234米的精确分辨率?
创建于2022-04-28,使用reprex package (v2.0.1)。
r
?是否可以在之前创建所需分辨率的网格,并将r
“转换”为它? - Philippe Massicotte