繁体   English   中英

如何更新R中具有x,y像元索引的栅格?

[英]How to update raster having x, y cells indices in R?

我有示例性的栅格:

r <- raster(nrow=100, ncol=100)
r[] = 0
r <- writeRaster(r, 'test.tif', overwrite=TRUE, datatype='INT2S')

而且我需要更新10x10网格的最后一列,除了第一个和最后一个正方形。 基本上,这就是我要应用的内容:

update(r, rep(255, 10*10), dx=(91:100), dy=(11:90))

但是没有像dxdy这样的参数,而是cell参数。 如何重新计算它具有代替x,y索引的单元格?

r <- raster(nrow=10, ncol=10, vals=0)

您可以这样做而不是更新

r[2:(nrow(r)-1), ncol(r)] <- 10

或先计算单元格编号

cells <- cellFromRowCol(r, 2:(nrow(r)-1), ncol(r))
r[cells] <- 25

或使用update的单元格编号

rr <- writeRaster(r, 'test.tif', overwrite=TRUE, datatype='INT2S')
# rr <- update(rr, rep(255, ncol(r)-2), cells)
rr <- update(rr, 255, cells)

看一看

as.matrix(rr)
#      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,]    0    0    0    0    0    0    0    0    0     0
# [2,]    0    0    0    0    0    0    0    0    0   255
# [3,]    0    0    0    0    0    0    0    0    0   255
# [4,]    0    0    0    0    0    0    0    0    0   255
# [5,]    0    0    0    0    0    0    0    0    0   255
# [6,]    0    0    0    0    0    0    0    0    0   255
# [7,]    0    0    0    0    0    0    0    0    0   255
# [8,]    0    0    0    0    0    0    0    0    0   255
# [9,]    0    0    0    0    0    0    0    0    0   255
#[10,]    0    0    0    0    0    0    0    0    0     0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM