R中两个栅格的匹配范围

时间:2019-08-06 09:13:55

标签: r aggregate raster devtools extent

我正在尝试使用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

1 个答案:

答案 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()来更改投影。