R 将光栅聚合到更粗糙的现有栅格--对贡献的像素进行加权

R 将光栅聚合到更粗糙的现有栅格--对贡献的像素进行加权,r,gis,raster,r-raster,R,Gis,Raster,R Raster,我有一个精细比例光栅(比如说30米)和一个粗略比例光栅(比如说100米)。我想使用R对精细比例光栅进行重采样,以在100米处生成一个新的、更粗糙的光栅,其中栅格与我现有的100米光栅(相同的原点和分辨率)完全对齐。我希望新的100 m光栅中的值能够反映其内所有30 m光栅单元的平均值,但其中每个30 m单元对100 m单元平均值的贡献由100 m单元内每个30 m单元的比例加权。R中是否有一个函数(和包)可以用于此目的 P> >我知道GDAL的 GDALWARP,但是它似乎认为更精细的分辨率像

我有一个精细比例光栅(比如说30米)和一个粗略比例光栅(比如说100米)。我想使用R对精细比例光栅进行重采样,以在100米处生成一个新的、更粗糙的光栅,其中栅格与我现有的100米光栅(相同的原点和分辨率)完全对齐。我希望新的100 m光栅中的值能够反映其内所有30 m光栅单元的平均值,但其中每个30 m单元对100 m单元平均值的贡献由100 m单元内每个30 m单元的比例加权。R中是否有一个函数(和包)可以用于此目的

<> P> >我知道GDAL的<代码> GDALWARP,但是它似乎认为更精细的分辨率像素可以是“贡献”或“不贡献”到较粗的像素,而不可能基于在较粗像素内的较细像素的百分比部分贡献。 另一种近似方法是使用
光栅
软件包中的
聚合
函数,以尽可能接近目标分辨率(在这种情况下,聚合因子为3以生成90米光栅)然后使用
spatial.tools
软件包中的
spatial\u sync\u raster
功能同步生成的栅格,以与我现有的100米栅格对齐。但是,与在单个步骤中聚合和同步光栅的方法相比,这种方法会导致过度平滑和数据丢失


任何帮助都将不胜感激

您需要
光栅
软件包中的
项目光栅
功能

基于@jgadoury的建议,我找到了一种更接近我期望结果的方法:

  • 创建一个比我的细比例尺光栅(我使用了10米)更精细的光栅,但其原点和范围与我的粗比例尺(100米)光栅及其分辨率的一个因子相同
  • 使用
    projectRaster
  • 使用
    Aggregate

  • 在第1步中,光栅制作得越精细,平滑局部高点和低点的效果就越差(即,从该像素以外的区域为给定100米像素提供的数据越少),但处理效率就越低。

    感谢您的回复。我看不到使用“projectRaster”可以指定如何将每个粗略分辨率单元中的所有精细分辨率单元聚合为粗略单元的单个值。它似乎只从每个粗单元格中心的细单元格中获取值。将30米网格投影到25米网格,然后使用系数为4的聚合,怎么样?不确定它是否有效,但值得尝试一个伟大的想法——这应该可以做到。谢谢或者聚合到90米,然后使用ProjectRaster让我知道它是否有效,我将编辑我的答案,您可以关闭问题您是否尝试过使用
    方法='ngb'
    (最近邻)将平滑度限制在30米到25米之间?对于分类数据来说,这是一种合适的技术,但在这种情况下,它仍然可能会提供良好的结果。是的,这种方法是有意义的,尽管它确实会在最终的100米光栅中导致比我发布的方法的修改版本更大的数据丢失和平滑。