(17)栅格数据处理技巧
本文由SCY原创,转载注明出处。
本文主要讲解R
的terra
包的使用技巧,包括数据导入,批量处理,绘图,导出等内容
数据导入
1 | library(terra) |
对SpatRaster的每个单元格应用函数
描述:对SpatRaster
的每个单元格的值应用函数。类似于apply
函数,可以将SpatRaster
中的每个图层看作是矩阵中的列(或行)。
通常用于将多个图层的值汇总到一个图层中,但也不必。
app
调用函数fun
,并将栅格数据作为第一个参数。根据提供的函数,栅格数据表示为矩阵,其中每个图层都是一列,或表示单元格的向量。函数应返回可被ncell(x)
整除的向量或矩阵。因此,可以使用sum
和rowSums
,但不能使用colSums
。
还可以通过SpatRasterDataset
的图层应用函数fun
跨数据集。在这种情况下,汇按图层汇总SpatRasters
。
用法:
1 | ## 'SpatRaster' |
参数:
1 | x # SpatRaster或SpatRasterDataset |
详情:
为了加快速度,支持并行运算,但这没什么帮助,实际上可能会更慢。只有当您拥有许多核心(> 8)或非常复杂(慢)的fun
函数时,才会有速度增益。如果您自己编写fun,请考虑提供一个使用Rcpp
包制作的cppFunction
,而不是手动编写fun
。
值:
SpatRaster
另请参阅:
lapp、tapp、Math-methods、roll
示例:
1 | r <- rast(ncols=10, nrows=10) |
-------------已经到底啦-------------