0

我只在terra包上工作。

spatRaster 详细信息:南美洲的碳通量数据 (~500 GB)

spatVector 详细信息:南美洲保护区数据库 (~70 MB)

目标:计算区域统计数据

错误:执行区域统计操作时,范围不重叠。

可能的错误原因: 光栅文件只有陆地范围。然而,多边形延伸到海洋区域,因此具有陆地、海洋和陆地-海洋的组合范围。

问题:是否可以将光栅文件扩展到多边形的范围而不会丢失这么大文件的任何值?有没有有效的方法来解决这类问题?

PS:我是新来的,如果有人发现已经回答了类似的问题,请帮助我。很抱歉,我无法为这个问题制作一个可重现的例子。

4

1 回答 1

1

区域没有“'SpatRaster,SpatVector”方法,所以你的问题没有答案。我假设您首先使用 rasterize 并在那里犯了一个错误。这是一个最小的、独立的、可重现的示例,它表明没有必要做你认为你需要做的事情:

library(terra)
#terra version 1.1.16
f <- system.file("ex/lux.shp", package="terra")
v <- vect(f)
f <- system.file("ex/elev.tif", package="terra")
r <- rast(f)

# remove part of raster, such that polygons have larger extent 
r <- crop(r, v[1:5])

z <- rasterize(v, r, "NAME_1")    
zonal(r, z, mean, na.rm=TRUE)

#        NAME_1 elevation
#1     Diekirch  403.4237
#2 Grevenmacher  329.4595
#3   Luxembourg  315.2139
于 2021-04-09T20:18:48.523 回答