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

R统计每个区域使用栅格::分区

南宫鸿晖
2023-03-14

我想计算区域内的分区统计数据,以符合等宽。

得到区段列表后,想法是分配块号,因为栅格::区段函数需要一个带有表示区段代码的栅格层。

当我尝试用分区编号填充范围时,填充的区域与范围不对应(请参见图)。为什么会这样?

library(raster)
library(foreach)

filename <- system.file("external/test.grd", package="raster")
r=raster(filename)

xmin = seq(178000, 181000, 1000)
ymin = seq(329000, 333000, 1000)

e=foreach(j=ymin,.combine=c) %:% 
  foreach(i=xmin) %do% {
    e=extent(i,i+1000,j,j+1000)
  }


# this should be going into the foreach loop
n=length(r[e[[1]]])
r[e[[1]]]=rep(1,n)

plot(r)
plot(e[[1]],add=T)

共有2个答案

申高卓
2023-03-14

这就是你想要的吗?如果你不想修改你的渔网,我已经修改了光栅的范围。

library(raster)
library(foreach)

filename <- system.file("external/test.grd", package="raster")
r=raster(filename)
extent(r) <- c(178000,182000,329000,334000 )

xmin = seq(178000, 181000, 1000)
ymin = seq(329000, 333000, 1000)

e=foreach(j=ymin,.combine=c) %:% 
  foreach(i=xmin) %do% {
    e=extent(i,i+1000,j,j+1000)

    n=length(r[e])
    r[e]=rep((j-i),n)#zonal stat instead of j-i?
  }
plot(r);plot(raster(filename), add=T, alpha=0.5, legend=F)
田昊天
2023-03-14

您可以使用QGIS生成一个形状文件,其中包含作为常规栅格的栅格单元。之后,您可以将shapefile和rasterfile与光栅::提取一起使用(https://www.rdocumentation.org/packages/raster/versions/3.0-7/topics/extract)或者使用exactextractr::exact\u extract更快(https://cran.r-project.org/web/packages/exactextractr/index.html)

 类似资料:
  • 在R中,与包“光栅”中的“提取”相比,在包“空间生态”的函数“zonal.stats”中计算平均值存在偏差。对于两者,我都使用多边形作为区域字段,并使用光栅作为值。 这是一个例子: z2和z1偏差的原因是什么?

  • 在计算皮尔逊相关性时,下面的脚本对我来说也适用于相同的数据。我最近对其进行了调整,创建了一个协方差矩阵,以输入到pca中。我在论坛上读到,输入预先创建的协方差矩阵可能会避免记忆问题,但我的情况并非如此。运行协方差矩阵时,我会出现以下错误: 有人能提出一个更有效的方法来做到这一点,这样我就不会遇到内存问题了吗?如果我在计算协方差方面完全偏离了基础,那很好。PCA是我最终唯一需要的东西。我的数据是12

  • 我想知道是否有办法为光栅图层对象创建分区统计数据,特别是R中给定单元值(例如土地使用类别)的计数,而无需重新分类整个光栅。解决方案应具有内存效率,以便处理大型光栅文件,即不需要将值提取到R中的矩阵中。 下面是一个到目前为止我是如何处理它的示例。在这种情况下,我将原始光栅重新分类为仅保留1的利息值和所有其他值的缺失值。 我提出的解决方案创建了冗余数据和额外的处理步骤,以实现我的初始目标。我认为类似于

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

  • 本文向大家介绍Bootstrap栅格系统的使用详解,包括了Bootstrap栅格系统的使用详解的使用技巧和注意事项,需要的朋友参考一下 前  言  Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。  而栅格系统是Bootstrap中的核心,正是因为栅格系统的存在,Bootstrap才能有着如此强大的响应式布局方案。 一、什么是栅格系统

  • 我正在尝试使用R中的“grainchanger”包将分辨率更高的光栅聚合为分辨率更高的光栅。 我有10公里的英国网格轮廓,我已经从shapefile转换为光栅。 我还有一张英国的栅格土地覆盖图。 我需要查看土地覆盖图中每10公里见方的土地覆盖%s。 当我尝试使用grainchanger包聚合此内容时,会出现以下错误: 我想这是因为我的10km栅格光栅是正方形,而土地覆盖地图没有填充。 如何更改土地