在 R 中空间分割栅格

问题描述 投票:0回答:1

我有一个 1 公里分辨率的 Spatraster 系列,覆盖了整个地球。 我想将 spatraster 分成 6 个(或任意数量)同等大小的 spatraster

下面的代码按层分割栅格,但不是空间分割

library(terra)
s <- rast(system.file("ex/logo.tif", package="terra"))
s
class       : SpatRaster 
dimensions  : 77, 101, 3  (nrow, ncol, nlyr)
resolution  : 1, 1  (x, y)
extent      : 0, 101, 0, 77  (xmin, xmax, ymin, ymax)
coord. ref. : Cartesian (Meter) 
source      : logo.tif 
colors RGB  : 1, 2, 3 
names       : red, green, blue 
min values  :   0,     0,    0 
max values  : 255,   255,  255 

y <- terra::split(s, c(1,2,3))
y # 3 layers. But I want to split it spatially not by layer
r r-raster terra
1个回答
0
投票

您可以使用

terra::makeTiles

例如,要将

s
分成 6 个图块,您可以这样做

rc <- ceiling(dim(s)[1:2] / c(2,3))
x <- makeTiles(s, rc)
#[1] "tile_1.tif" "tile_2.tif" "tile_3.tif" "tile_4.tif" "tile_5.tif"
[6] "tile_6.tif"
© www.soinside.com 2019 - 2024. All rights reserved.