2014-04-15 71 views
13

我正在使用{柵格}剪裁(或裁剪)基於不規則shapefile(亞馬遜生物羣系)的柵格,但輸出始終具有矩形範圍。但是,我需要shapefile的幾何形狀完全相同的輸出。有小費嗎?乾杯。在R中使用shapefile剪裁光柵,但保留shapefile的幾何圖形

library(raster) 
library(rgdal) 

myshp <- readOGR("Amazon.shp", layer="Amazon") 
e <- extent(myshp) 
myraster <- raster("Temperature.tif") 
myraster.crop <- crop(myraster, e, snap="out", filename="myoutput.tif") 

回答

20

一種選擇是使用raster::mask()

library(maptools) ## For wrld_simpl 
library(raster) 

## Example SpatialPolygonsDataFrame 
data(wrld_simpl) 
SPDF <- subset(wrld_simpl, NAME=="Brazil") 

## Example RasterLayer 
r <- raster(nrow=1e3, ncol=1e3, crs=proj4string(SPDF)) 
r[] <- 1:length(r) 

## crop and mask 
r2 <- crop(r, extent(SPDF)) 
r3 <- mask(r2, SPDF) 

## Check that it worked 
plot(r3) 
plot(SPDF, add=TRUE, lwd=2) 

enter image description here

+0

完美地工作!謝謝。 –