Alt klasörler üzerinde yinelemeli olarak yineleme yapmak ve tüm şekil dosyalarını tek bir dosyada birleştirmek için temel komut dosyası:
#!/bin/bash
consolidated_file="./consolidated.shp"
for i in $(find . -name '*.shp'); do
if [ ! -f "$consolidated_file" ]; then
# first file - create the consolidated output file
ogr2ogr -f "ESRI Shapefile" $consolidated_file $i
else
# update the output file with new file content
ogr2ogr -f "ESRI Shapefile" -update -append $consolidated_file $i
fi
done
Hoverer, web'deki tüm örneklerde, çıktı dosyasını güncellediğim durumda, -nln
etiketin eklendiğini fark ettim , örneğin:
ogr2ogr -f "ESRI Shapefile" -update -append $consolidated_file $i -nln merged
Belgelere göre diyor ki:
Yeni katmana alternatif bir ad atayın
Ve "birleştirilmiş" adı verilen geçici bir şekil dosyası oluşturduğunu fark ettim ve döngünün sonunda dosya, birleştirdiğim son şekil dosyasıyla aynı.
Neden buna ihtiyacım olduğunu anlamıyorum? Çünkü bu etiket olmadan başarılı bir şekilde birleşmeyi başardım.