r - 使用行/列索引对栅格进行子集

标签 r gis raster

对矩阵或DF进行子集化时,可以引用行列,例如df1[1:5, 3:10] , 或 df3[2:4, ] .

有没有办法用光栅来做到这一点?也就是说,我可以只裁剪 500:700 行吗,例如从光栅对象中裁剪?

我试过使用 rasterFromCells() ,但它没有给我我想要的结果(鉴于 R 的其他巧妙的子集化方法,似乎应该有一个更简单的解决方案)。

示例:

r <- raster(ncols = 50, nrow = 50)
r[] <- 1:ncell(r)

# I would like to subset the bottom 50 rows of cells, but keep it as a raster.
# However, this returns a numeric object.
rSub <- r[30:50, 1:50]  

谢谢!

最佳答案

我觉得这个问题不是很清楚。

然而,这是您要找的吗?

subR <- crop(r, extent(r, 30, 50, 1, 50))

plot(subR)

函数crop()raster package 可以解决问题,因为允许您使用行和列对栅格对象进行子集化。

关于r - 使用行/列索引对栅格进行子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49433361/

相关文章:

r - 提取 R 中对应点位置的像素值

r - 如何查看元素是否包含在列表中

r - 在 R 中一次生成多个频率表

mysql - 在另一个用户邮政编码的半径范围内定位用户

java - GIS - 计算两点之间的距离时得到奇怪的结果

android - 上传谷歌室内地图? & 如何查看?

algorithm - 有效地找到二维网格中最大的周围正方形

r - 在Knitr输出中对长字符串进行文本包装(RStudio)

r - 将 R S3 普通函数转换为泛型函数

r - ggplot2 中的离散图例中断