R - 重采样如何与具有不同像元大小的 "bilinear interpolation" 一起工作?
R - How exactly does resampling work with "bilinear interpolation" with different cell sizes?
使用 raster
包时,resample
或 projectRaster
的双线性插值是否始终采用四个最近的质心,或者它是否考虑了像元大小的差异?
在 http://desktop.arcgis.com/en/arcmap/latest/extensions/spatial-analyst/performing-analysis/cell-size-and-resampling-in-analysis.htm 找到的重采样双线性插值的解释中说使用了四个最近的质心。在此处的示例中,像元大小相似。这个解释不是直接针对 R 中的 raster
包,但它似乎是对双线性插值在这些情况下如何工作的最容易理解的解释。
当像元大小在一个(或两个)维度上相差超过 2 倍时,是否使用不同数量的质心?
例如,这里有一个栅格,其分辨率高于将要重采样到的分辨率:
library(raster)
R1 <- raster(resolution = 13, vals = sample(x = 1:5, size = 392, replace = TRUE))
plot(R1)
High Resolution Raster
这里创建的是要projectRaster
到的光栅,然后projectRaster
之后的R1来匹配新的光栅:
R2 <- raster(resolution = 50)
R3 <- projectRaster(from = R1, to = R2, method = "bilinear")
plot(R3)
New Low Resolution Raster
当使用 projectRaster
创建更少、更大的像元时,会考虑高分辨率栅格中的哪些像元?由于高分辨率栅格中的像元比低分辨率栅格中的像元小四倍多,如果双线性插值仅使用四个最近的质心,则可能不如采用更多像元时那样准确地代表考虑在内。
在使用双线性插值进行实际重采样之前,栅格包首先聚合值以创建与目标分辨率大致相等的像元。正是从这个聚合栅格中获取了四个像元。
projectRaster 没有做到这一点。以后的版本会加入,但是现在你可以先自己聚合输入数据。
使用 raster
包时,resample
或 projectRaster
的双线性插值是否始终采用四个最近的质心,或者它是否考虑了像元大小的差异?
在 http://desktop.arcgis.com/en/arcmap/latest/extensions/spatial-analyst/performing-analysis/cell-size-and-resampling-in-analysis.htm 找到的重采样双线性插值的解释中说使用了四个最近的质心。在此处的示例中,像元大小相似。这个解释不是直接针对 R 中的 raster
包,但它似乎是对双线性插值在这些情况下如何工作的最容易理解的解释。
当像元大小在一个(或两个)维度上相差超过 2 倍时,是否使用不同数量的质心?
例如,这里有一个栅格,其分辨率高于将要重采样到的分辨率:
library(raster)
R1 <- raster(resolution = 13, vals = sample(x = 1:5, size = 392, replace = TRUE))
plot(R1)
High Resolution Raster
这里创建的是要projectRaster
到的光栅,然后projectRaster
之后的R1来匹配新的光栅:
R2 <- raster(resolution = 50)
R3 <- projectRaster(from = R1, to = R2, method = "bilinear")
plot(R3)
New Low Resolution Raster
当使用 projectRaster
创建更少、更大的像元时,会考虑高分辨率栅格中的哪些像元?由于高分辨率栅格中的像元比低分辨率栅格中的像元小四倍多,如果双线性插值仅使用四个最近的质心,则可能不如采用更多像元时那样准确地代表考虑在内。
在使用双线性插值进行实际重采样之前,栅格包首先聚合值以创建与目标分辨率大致相等的像元。正是从这个聚合栅格中获取了四个像元。
projectRaster 没有做到这一点。以后的版本会加入,但是现在你可以先自己聚合输入数据。