我正在尝试使用R中的'grainchanger'软件包将更高分辨率的栅格聚合到更粗糙的栅格。
我有10公里的英国网格轮廓,已从shapefile转换为栅格。
我还有一张栅格形式的英国土地覆盖图。
我需要查看土地覆盖图每10公里平方中的土地覆盖%s。
当我尝试使用grainchanger软件包进行汇总时,出现以下错误:
Error in .local(x, y, ...) : extents do not overlap
我认为这是因为我的10公里网格栅格是未覆盖土地覆盖图的正方形。
如何更改土地覆盖图的范围,使其与10公里的栅格栅格匹配?
这是我的代码:
library(raster)
# continuous landscape
show_landscape(cont_ls)
# load the coarse resolution raster
g_raster <- raster("raster.tif", package = "grainchanger")
show_landscape(g_raster)
# direct aggregation using range
dda <- nomove_agg(coarse_dat = g_raster,
fine_dat = cont_ls,
agg_fun = var_range)
#> aggregation assumes all cells are rectangular
#> ● set `is_grid = FALSE` if coarse_dat is not a grid
答案 0 :(得分:0)
此错误消息表明您可能会遇到投影问题,但是如果没有更多信息,很难知道。
您可以检查范围是否与
重叠library(raster)
ext.ras <- extent(6e+05, 709800, 5690220, 5800020)
ext.pol <- extent(499386.6, 517068.2, 6840730, 6857271)
plot(ext.ras, xlim = c( 499386.6,709800), ylim= c(5690220,6857271), col="red")
plot(ext.pol, add=T, col="blue")
摘自this answer。
如果它们不重叠并且您希望它们重叠,则可以使用spTransform()
来更改投影。