使用R中的shapefile剪切栅格,但保留shapefile的几何

时间:2014-04-15 02:29:39

标签: r crop raster shapefile clip

我正在使用{raster}基于不规则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")

2 个答案:

答案 0 :(得分:26)

一种选择是使用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

答案 1 :(得分:0)

对于简单的几何图形(例如盒子),可以直接放置范围的坐标:

{{1}}

来源:https://gis.stackexchange.com/questions/229356/crop-a-raster-file-in-r/389376#389376