raster::setvalue
时间: 2023-12-01 07:04:15 浏览: 195
`raster::setValues()` 函数是 R 语言中 `raster` 包中的一个函数,用于设置栅格数据集中一组或多组像元的值。其语法如下:
```
setValues(x, values, rows = NULL, cols = NULL, lyr = NULL, forceapply = FALSE, ...)
```
其中,参数含义如下:
- `x`:需要设置值的栅格数据集。
- `values`:需要设置的新值,可以是一个向量、矩阵或数组。
- `rows`:需要设置值的行号或行号向量。
- `cols`:需要设置值的列号或列号向量。
- `lyr`:需要设置值的栅格图层编号,默认为 1。
- `forceapply`:是否强制应用新值,即使新值与栅格数据集的维度不匹配。
- `...`:其他参数,例如 `na.rm` 参数用于指定是否忽略缺失值。
下面是一个简单的例子:
首先,我们创建一个 3x3 的栅格数据集:
```
library(raster)
r <- raster(matrix(c(1:9), nrow = 3, ncol = 3))
```
然后,将栅格数据集中第 2 行、第 3 列的像元值设置为 0:
```
setValues(r, 0, rows = 2, cols = 3)
```
上面的代码将栅格数据集 `r` 中第 2 行、第 3 列的像元值设置为 0。
最后,可以使用 `writeRaster()` 函数将设置后的栅格数据保存为新的栅格影像文件:
```
writeRaster(r, "path/to/new_raster.tif", format = "GTiff")
```
上面的代码将 `r` 变量中的栅格数据保存为新的栅格影像文件,格式为 GTiff。
阅读全文