1

私はLinuxが初めてで、現在、一連のシェープファイルで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. 

どんな助けでも大歓迎です。

4

1 に答える 1

2

注: 私は GDAL を使用したことがなく、まったく慣れていません。

http://www.gdal.org/gdal_rasterize.htmlの下部には、「マスク」というレイヤー名を「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 に答える