当前位置: 首页 > 知识库问答 >
问题:

R中两个栅格的匹配范围?

谭兴学
2023-03-14

我正在尝试使用R中的“grainchanger”包将分辨率更高的光栅聚合为分辨率更高的光栅。

我有10公里的英国网格轮廓,我已经从shapefile转换为光栅。

我还有一张英国的栅格土地覆盖图。

我需要查看土地覆盖图中每10公里见方的土地覆盖%s。

当我尝试使用grainchanger包聚合此内容时,会出现以下错误:

Error in .local(x, y, ...) : extents do not overlap

我想这是因为我的10km栅格光栅是正方形,而土地覆盖地图没有填充。

如何更改土地覆盖地图的范围,使其与10km栅格光栅匹配?

这是我的代码:

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个答案

慕高格
2023-03-14

此错误消息表明您可能存在投影问题,但如果没有更多信息,很难知道。

您可以检查范围是否重叠

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

 类似资料:
  • 我正在尝试裁剪一些栅格数据并进行一些计算(特别是获得平均海面温度)。 但是,当比较在进行计算之前裁剪光栅数据的范围时,我得到的结果与在裁剪结果数据之前进行计算的结果相同。 光栅数据的原始范围是-180、180、90、90(xmin、xmax、ymin、ymax),我需要将其裁剪到由纬度和经度坐标定义的任何所需区域。 这是我正在使用的脚本进行测试: 这是平均值的输出。brick1-平均值。砖2: 如

  • 我有两个具有经度和纬度值的数据帧,我想从数据帧#2中提取值(例如数据帧#2的第三列),这些值与数据帧1的列匹配...例如,数据帧1有两列(、),数据帧2有三列(、和一些值)...我想在数据帧1中添加第三列,其中的值对应于两个数据帧中两列完全匹配的值,类似于和...在、不匹配的对中,我希望添加,以便第三列(我要添加到数据。帧1)的长度为=。我尝试了merge函数,但在将的两列与的列进行匹配时遇到了困

  • 本文向大家介绍R加载多层栅格,包括了R加载多层栅格的使用技巧和注意事项,需要的朋友参考一下

  • 我想计算区域内的分区统计数据,以符合等宽。 得到区段列表后,想法是分配块号,因为栅格::区段函数需要一个带有表示区段代码的栅格层。 当我尝试用分区编号填充范围时,填充的区域与范围不对应(请参见图)。为什么会这样?

  • 问题内容: 我正在尝试为Android编写小型gmail客户端作为培训。我从https://developers.google.com/gmail/api/quickstart/android上获取了gmail api指南示例,对其进行了一些修改,以获取带有标题和正文的消息。我将范围设置为并编辑了主要请求功能,如下所示: 但是我总是 我尝试了不同的范围配置,但似乎服务范围始终设置为 问题答案: 这

  • Framework7 有灵活的布局网格,允许你按需求放置内容: <!-- Each "cells" row should be wrapped with div class="row" --> <div class="row"> <!-- Each "cell" has col-[widht in percents] class --> <div class="col-50">50