R结合GDAL批量矢量裁剪栅格
##使用R批量裁剪modis的tif,
## inFilePath和outFilePath不能一样
bacth_mask_modis <- function( inFilePath, outFilePath, shpFile )
{
if(outFilePath == inFilePath)
{
return
}
##'H:/data/Mod09A1/tif/Mod09_b2_b4_b6'
##'H:/data/Mod09A1/tif/Poyang_lake'
tif_files <- list.files( inFilePath, pattern='*.tif', full.names=T )
onlyFileName <- basename( tif_files )
cmd_part1 <- 'D:/software/open_source/release-1600-x64-gdal-1-11-0-mapserver-6-4-1/bin/gdalwarp.exe -co COMPRESS=DEFLATE -co TILED=YES -of GTiff -r lanczos -crop_to_cutline -cutline '
shpFile <- shpFile #### ' D:/document/Papers-2015/Dought_PoYang_Lake/01_Data/Poyang_County.shp '
cmd_part2 <- paste(cmd_part1, ' ', shpFile, ' ', sep='')
for( i in 1:length(tif_files))
{
##system('D:/software/open_source/release-1600-x64-gdal-1-11-0-mapserver-6-4-1/bin/gdalwarp.exe -co COMPRESS=DEFLATE -co TILED=YES -of GTiff -r lanczos -crop_to_cutline -cutline D:/document/Papers-2015/Dought_PoYang_Lake/01_Data/Poyang_County.shp D:/document/Paper_fresh/Dry_PoYang_Lake/Data/2012273.sur_refl_b02.tif d:/output.tif' )
outFile <- paste( outFilePath, '/', onlyFileName[i], sep='')
cmd_part3 <- paste( cmd_part2, tif_files[i], sep='')
cmd <- paste( cmd_part3, ' ', outFile, sep='')
system( cmd )
}
}