1

我对开源 GIS 软件很陌生。我正在尝试在我的 MAC 终端中使用 GDAL 和 ogr 剪辑和投影数据层。我可以在剪辑时获取要剪辑的数据,但是当我尝试将两者(剪辑和项目)结合起来时,出现语法错误。我的语法是为命令行编写的,我想我可能需要为终端调整它。任何帮助将不胜感激!如果有人愿意提供帮助,我会在必要时尝试提供更多信息。

这是我的代码行:

$for %X in (*.shp) do ogr2ogr -skipfailures -clipsrc
~/Desktop/PhiladelphiaBaseLayers/clipFeature/city_limits.shp
~/Desktop/PhiladelphiaBaseLayers/clipped/%X
~/Desktop/PhiladelphiaBaseLayers/%X

当我运行代码时,我收到以下错误消息:

-bash: syntax error near unexpected token `('
4

2 回答 2

1

这最终对我有用。取出变量调用周围的引号。都是一条线。

对于 *.shp 中的 f;执行 ogr2ogr -skipfailures -clipsrc ~/documents/PhiladelphiaBaseLayers/clipFeature/city_limits.shp ~/documents/PhiladelphiaBaseLayers/clipped/$f ~/documents/PhiladelphiaBaseLayers/$f; 完毕

于 2015-01-23T21:16:42.027 回答
1

从windows切换到mac?;)

如果我理解正确,您的意图是ogr2ogr使用 3 个文件参数运行

尝试下一个

for shpfile in *.shp
do
    echo ogr2ogr -skipfailures -clipsrc \
       ~/Desktop/PhiladelphiaBaseLayers/clipFeature/city_limits.shp \
       ~/Desktop/PhiladelphiaBaseLayers/clipped/"$shpfile" \
       ~/Desktop/PhiladelphiaBaseLayers/"$shpfile"
done

当您满意时,删除echo

于 2014-09-13T16:41:11.367 回答