R 在大型光栅图层中更改特定单元格值

R 在大型光栅图层中更改特定单元格值,r,gis,raster,r-raster,R,Gis,Raster,R Raster,我正在使用R“光栅”软件包,有一个大的光栅层(62460098个单元格,12 Mb用于对象)。我的单元格值范围为-1到1。我必须将所有负值替换为0(例如:值为-1的单元格必须变为0)。我试着这样做: raster[raster < 0] <- 0 raster[raster

我正在使用R“光栅”软件包,有一个大的光栅层(62460098个单元格,12 Mb用于对象)。我的单元格值范围为-1到1。我必须将所有负值替换为0(例如:值为-1的单元格必须变为0)。我试着这样做:

raster[raster < 0] <- 0
raster[raster<0]存在,不清楚您是否尝试过这些。。。。但是你应该。物理约束不清楚,所以你应该编辑你的问题,包括机器的大小和被折磨的操作系统的名称。我不知道如何构造一个toybox来让我进行任何测试,但一种可能不会破坏RAM使用(那么多)的方法是首先构造一组索引,标记要“归零”的位置:

idxs存在,不清楚您是否尝试过这些。。。。但是你应该。物理约束不清楚,所以你应该编辑你的问题,包括机器的大小和被折磨的操作系统的名称。我不知道如何构造一个toybox来让我进行任何测试,但一种可能不会破坏RAM使用(那么多)的方法是首先构造一组索引,标记要“归零”的位置:

idxs您可以

r <- reclassify(raster, c(-Inf, 0, 0))
r你能做什么

r <- reclassify(raster, c(-Inf, 0, 0))

r Tks,任务完成。对于问题提示,已经对其进行了编辑,以明确机器和对象约束。tks,任务完成。对于问题提示,对其进行了编辑,以明确机器和对象约束。
r <- reclassify(raster, c(-Inf, 0, 0))