1

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

1 回答 1

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")

取自这个答案

如果它们不重叠并且您期望它们重叠,您可以使用它spTransform()来更改投影。

于 2019-08-06T09:51:17.807 回答