(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) |
-------------已经到底啦-------------