Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 层名称在gdal_光栅化循环中应该是什么?_Bash_Shapefile_Raster_Gdal - Fatal编程技术网

Bash 层名称在gdal_光栅化循环中应该是什么?

Bash 层名称在gdal_光栅化循环中应该是什么?,bash,shapefile,raster,gdal,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后面的语法应该是什么…我认为其余的都

我是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. 

任何帮助都将不胜感激。

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

由于的底部指示图层名“mask”可以与“mask.shp”一起使用,因此我建议从
$file
中删除扩展名,并将其用作图层名:

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

谢谢你的回复。不幸的是,它现在说找不到layer/mnt/hgfs/Shared/SHAPE1,正在跳过。您需要知道该层的名称。如果层名为SHAPE1,请尝试
$(basename${file%.shp})
我忘记了
文件
是完整路径名!更新,同时使用
basename
去除后缀。