2011-02-11 26 views
4

我有一個bioclim變量的磚文件,磚是從四個30秒磚瓦合並而來的,所以它有點大。我想通過使用多邊形作爲邊界來切割我的研究區域的磚塊文件。我該怎麼辦?否則,如果不可能用磚做,我可以用光柵做到嗎?如何使用多邊形切割磚塊?

在此先感謝〜

馬爾科

+0

什麼是格式?光柵或adehabitat可以做到這一點,我有一些自定義的功能來處理.asc bioclim文件。 – 2011-02-11 03:23:09

+0

它是光柵包中的光柵或磚,也稱爲「grd」。這是光柵包的默認格式。 – Marco 2011-02-11 03:39:39

回答

4

退房,如果你想磚裁剪到一個較小的矩形extent()。如果您想通過單擊選擇,也可以使用drawExtent()

編輯:由於您使用了術語「剪切」和「面具」,我不確定自己的理解是否正確,但以下兩種方式可能有所幫助。你甚至可以同時使用兩者。

# 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)