在gdal_rasterize for循环中,layername应该是什么?

时间:2012-07-31 15:18:31

标签: bash shapefile raster gdal

我是Linux的新手,我目前正试图在一组shapefile中运行BASH中的代码:

for file in /mnt/hgfs/Shared/*.shp ; do
gdal_rasterize -l ??? -burn 1 -tr 0.5 0.5 -te -180 -90 180 90 $file rast2
gdal_merge.py -o rast1 rast2 rast1
done

rast1是一个空栅格,用于将以下栅格绑定到。我无法弄清楚-l应该在这段代码中的语法...我认为其余的运行正常。我已经尝试使用$ file但是终端给了我以下错误:

Unable to find layer /mnt/hgfs/Shared/SHAPE1.shp, skipping. 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

注意:我从未使用过GDAL,也不熟悉它。

由于http://www.gdal.org/gdal_rasterize.html的底部表示图层名称“mask”可以与“mask.shp”一起使用,我建议从$file剥离扩展并将其用作图层名称:

gdal_rasterize -l $(basename $file .shp) -burn 1 -tr 0.5 0.5 -t -180 -90 180 90 $file rast2