将.asc栅格剪辑为for循环并重命名文件

时间:2019-01-03 18:25:37

标签: r for-loop raster r-raster clip

我有31个栅格保存为.asc文件,一个多边形shapefile另存为.shp。

栅格示例:

Example of raster

我想遍历每个栅格,对其进行裁剪(如下所示),然后将其保存在其他文件夹中。

剪切的栅格

Example of clipped raster

我尝试了一些在此线程上发现的被认为是错误/不确定的代码: Loop through clip tiff files and export to new folder

这是我尝试过的:

## location of input files
ipath <- "G:/GIS/RRB_PROJECT/SDM_RASTERS/BRT_OUTPUTS/RCP26_CCSM4_2050/"
## location of output files
opath<- 
"G:/GIS/RRB_PROJECT/SDM_RASTERS/BRT_OUTPUTS_CLIPPED/RCP26_CCSM4_2050/"

## location of polygon shapefile
ppath <- "G:/GIS/RRB_PROJECT"
## polygon name
pname <- "DSREACH_RCLIP"

## polygon
bound <- readOGR(ppath,pname)

## list of files
files <- list.files(ipath, pattern= '[.]asc$')
stopifnot(length(files)>0)


## loop (doesnt work)

for (i in files) {
    ifile <- file.path(ipath,i)
    ofile <- file.path(opath,i)

    r <- mask(ifile, bound)

    writeRaster(r, filename = ofile)

}

但我收到此错误:

  

错误(函数(类,fdef,mtable)):无法找到   函数“ mask”的继承方法,用于签名“” character”,   “ SpatialPolygonsDataFrame””

非常感谢您的帮助。

0 个答案:

没有答案