将栅格剪接到 sf 集合中的多边形 [R sf] 。

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

我想用一个简单的多边形特征集合来剪辑光栅,这样我最终会得到和我的sf集合中的多边形一样多的光栅剪辑。然后我想把每个光栅剪辑保存为jpg。下面是一个可复制的例子。

library(sf)
library(raster)
austria1 <- getData('GADM', country='AUT', level=1)
austria1 <- st_as_sf(austria1)
climate <- getData('worldclim', var='bio', res=2.5)

我想把气候剪辑到austria1中的9个多边形上,所以我最终得到9个光栅剪辑。然后我想把这9个栅格剪辑保存在我的工作目录中作为jpg文件。

谢谢你的帮助

马克

r polygon raster sf clip
1个回答
0
投票

示例数据

library(sf)
library(raster)
austria <- getData('GADM', country='AUT', level=1)
austria <- st_as_sf(austria)
climate <- getData('worldclim', var='bio', res=2.5)
climate <- climate[[1]]  # just the first layer

一个for循环

for (i in 1:nrow(austria)) {
    a <- austria1[i, ]
    fn <- tolower(paste0(a$NAME_1, ".jpg"))
    print(fn); flush.console()
    x <- crop(climate, a)
    y <- mask(x, a)
    jpeg(fn)       
    plot(y)
    dev.off()
}

你可能会想通过将一些默认参数改为 jpeg

© www.soinside.com 2019 - 2024. All rights reserved.