我有一个 bioclim 变量的砖文件,砖是由四个 30 秒的砖合并而成的,所以它有点大。我想通过使用多边形作为边界来切割我的研究区域的砖文件。我该怎么办?否则,如果不能用砖做,我可以用光栅做吗?
先谢谢了~
马可
检查extent()
是否要将砖裁剪为较小的矩形。此外drawExtent()
,如果您更愿意通过单击进行选择。
编辑:由于您使用了“cut”和“mask”这两个术语,我不确定我是否理解正确,但这里有两种方法可能会有所帮助。你甚至可以同时使用两者。
# an example with dimensions: 77, 101, 3 (nrow, ncol, nlayers)
myGrid_Brick <- brick(system.file("external/rlogo.grd", package="raster"))
# a simple polygon within those dimensions
myTriangle_P <- Polygon(cbind(c(10, 80, 50, 10), c(10, 20, 65, 10)))
myTriangle_Ps <- Polygons(list(myTriangle_P), "fubar")
myTriangle_SP <- SpatialPolygons(list(myTriangle_Ps))
myTriangle_Ras <- rasterize(myTriangle_SP, myBrick)
# this will crop a brick to minimal rectangle that circumscribes the polygon
# extent(myCrop) is smaller than extent(myGrid) but no values are changed
myCrop_Brick <- crop(myGrid_Brick, myTriangle_SP)
# while this converts every coordinate that is NA in
# the mask to become NA in the returned brick
# while leaving the brick extent unchanged
myMask_Brick <- mask(myGrid_Brick, myTriangle_Ras)