将栅格剪辑到 sf 集合中的多边形 [R sf]
Clip raster to polygons in sf collection [R sf]
我想使用一个简单的多边形要素集合来剪辑光栅,这样我最终得到的光栅剪辑与我的 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个光栅剪辑保存为我工作目录中的jpg文件。
感谢您的帮助!
马克
示例数据
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
来改进 jpg
我想使用一个简单的多边形要素集合来剪辑光栅,这样我最终得到的光栅剪辑与我的 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个光栅剪辑保存为我工作目录中的jpg文件。
感谢您的帮助!
马克
示例数据
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