0

私はbash/ogrを初めて使用しますが、このループがシェープファイルを出力ディレクトリ内の個々のフォルダーに出力する理由を理解できないようです。これが私のコードです:

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誰かがすべてのシェープファイルを取得して直接ogr2ogr出力する方法を教えてくれるなら、それは素晴らしいことです。$OUTPUT

アップデート:

ogr2ogrは最初の引数をディレクトリの名前として扱うため、固定コードは次のようになります。

ogr2ogr $OUTPUT $file
4

1 に答える 1

1

コメントを回答としてマークする機能のリクエストは引き続き拒否されるため、上記のソリューションをここにコピーします。

ogr2ogr は、最初の引数をファイルの名前ではなく、ディレクトリの名前として扱っているようです。ogr2ogr $OUTPUT $file は動作しますか? – チェプナー

于 2013-09-09T08:12:12.627 に答える