R 如何使用多边形切割砖块?

R 如何使用多边形切割砖块?,r,polygon,cut,raster,R,Polygon,Cut,Raster,我有一个bioclim变量的砖块文件,砖块是由四个30秒的砖块合并而成的,所以它有点大。我想通过使用多边形作为边界来切割我研究区域的砖块文件。我该怎么办?否则,如果不能使用砖,我可以使用光栅吗 提前谢谢~ Marco如果要将砖块裁剪为较小的矩形,请查看extent()。如果您希望通过单击进行选择,也可以使用drawerextent() 编辑:由于您使用了“切割”和“遮罩”这两个术语,我不确定自己是否理解正确,但这里有两种方法可能会有所帮助。你甚至可以两者兼用 # an example with

我有一个bioclim变量的砖块文件,砖块是由四个30秒的砖块合并而成的,所以它有点大。我想通过使用多边形作为边界来切割我研究区域的砖块文件。我该怎么办?否则,如果不能使用砖,我可以使用光栅吗

提前谢谢~

Marco

如果要将砖块裁剪为较小的矩形,请查看
extent()
。如果您希望通过单击进行选择,也可以使用
drawerextent()

编辑:由于您使用了“切割”和“遮罩”这两个术语,我不确定自己是否理解正确,但这里有两种方法可能会有所帮助。你甚至可以两者兼用

# 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)
#维度示例:77、101、3(nrow、ncol、nlayers)

myGrid_Brick的格式是什么?光栅或Adehigita可以做到这一点,我有一些自定义功能来处理.asc bioclim文件。它是光栅或光栅包中的砖块,也称为“grd”。这是光栅包的默认格式。谢谢!我认为crop()、extent()或drawerextent()不是用于约束“bounday”或“Mask”,而是仅用于extent,即网格的四个角。换句话说,我想知道有没有办法让我所有的步骤都只能在这个范围内起作用?再次感谢jonw!我想面具是我需要的@马可:如果这是正确的答案,你可以通过点击投票数旁边的复选标记来标记它,以供将来的用户查看。另外,如果你接受我的回答,我会得到一些分数。:)