1

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

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. 

任何帮助将非常感激。

4

1 回答 1

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
于 2012-07-31T15:35:23.120 回答