0

我是 bash/ogr 的新手,似乎无法弄清楚为什么这个循环将 shapefile 输出到输出目录中的各个文件夹中。这是我的代码:

BASE=/home/user/J/cacti_mexico
INPUT=/home/user/J/cacti_mexico/shps
OUTPUT=/home/user/J/cacti_mexico/mexshps
SCRIPT=/home/user/J/cacti_mexico/scripts

cd $INPUT

while read line; do 
  echo $line 
  for file in $INPUT/$line.shp ; do 
    ogr2ogr $OUTPUT/$line $file
  done
done < $SCRIPT/cacti_mexico_names.txt

该文件包含一个物种名称列表,一旦连接到它的末尾,就会cacti_mexico_names.txt从输入目录中提取这些名称。.shp如果有人能告诉我如何将所有 shapefile直接ogr2ogr输出到$OUTPUT,那就太好了。

更新:

ogr2ogr 将其第一个参数视为目录的名称,因此固定代码如下:

ogr2ogr $OUTPUT $file
4

1 回答 1

1

由于将评论标记为答案的功能请求仍然被拒绝,因此我在此处复制上述解决方案。

似乎 ogr2ogr 将其第一个参数视为目录的名称,而不是文件的名称。ogr2ogr $OUTPUT $file 会起作用吗?– 切普纳

于 2013-09-09T08:12:12.627 回答