如何删除 R 中 DEM 像素值的设定范围?

How to remove set range of pixel values of DEM in R?

我有一个特定区域的 DEM tiff 文件:

> imported_raster
class       : RasterLayer 
dimensions  : 28034, 53030, 1486643020  (nrow, ncol, ncell)
resolution  : 0.0008333334, 0.0008333334  (x, y)
extent      : 60.85375, 105.0454, 15.95708, 39.31875  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
data source : C:\XX.tif 
names       : XX
values      : -27, 8806  (min, max)
attributes  :
         ID OBJECTID Value Count
 from:    0        1   -27     2
 to  : 8528     8529  8806     1

我想将一系列像素值设置为 NULL。例如,如果我想删除从 -27 到 0 以及从 0 到 1000 到 NULL 的高程像素值。我如何在 R 中携带它?

在你的情况下,这应该很有效:

library(raster)
library(terra)
# with raster -------------------------------------------------------------

r <-  raster()
r[] <- -27:(ncell(r)-28)


new.r <- clamp(r,lower=1000,useValues=F)

# with terra --------------------------------------------------------------

t <- rast(r)
new.t <- clamp(t,lower=1000,values=F)

但是,有几种方法可以做到这一点,例如 raster::reclassifyterra::classify,还有 r[r<1000] <- NA