সাব-ফোল্ডারগুলির মাধ্যমে পুনরাবৃত্তভাবে পুনরাবৃত্তি করতে এবং সমস্ত শেফফিলগুলিকে একক মধ্যে একীভূত করার জন্য প্রাথমিক স্ক্রিপ্টটি হ'ল:
#!/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
হোভারার ভার্চুয়ালি ওয়েবে সমস্ত উদাহরণ আমি লক্ষ্য করেছি যে যে ক্ষেত্রে আমি আউটপুট ফাইল আপডেট করি সেখানে -nln
ট্যাগ যুক্ত করা হয়, উদাহরণস্বরূপ:
ogr2ogr -f "ESRI Shapefile" -update -append $consolidated_file $i -nln merged
ডকুমেন্টেশন অনুযায়ী এটি বলে:
নতুন স্তরে একটি বিকল্প নাম বরাদ্দ করুন
এবং আমি লক্ষ্য করেছি এটি "মার্জড" নামে একটি অস্থায়ী শেফফিল তৈরি করে এবং লুপের শেষে ফাইলটি আমি মার্জ হওয়া শেষ শেফফাইলের অনুরূপ।
আমি বুঝতে পারছি না কেন আমার এটি দরকার? কারণ আমি এই ট্যাগটি ছাড়াই সফলভাবে মার্জ করতে পেরেছি।