پردازش دسته ای با استفاده از چارچوب پردازش (QGIS3)
چارچوب پردازش در QGIS محیطی را در QGIS برای اجرای الگوریتم های بومی و شخص ثالث برای پردازش داده ها فراهم می کند. این شامل یک رابط پردازش دسته ای خوب است که به فرد اجازه می دهد یک الگوریتم را بر روی چندین لایه به راحتی اجرا کند. پردازش دسته ای ابزار مفیدی است که می تواند در تلاش دستی صرفه جویی کند و به شما کمک کند کارهای تکراری را خودکار کنید.
نمای کلی کار
ما چندین لایه برداری سراسری را می گیریم و آنها را به وسعت آفریقا در یک دستور دسته جمعی می کنیم.
خواهید گرفت
- یک فیلتر برای حذف ویژگی های ناخواسته از یک لایه بدون ایجاد لایه جدید ایجاد کنید.
- چندین لایه را در یک فایل Geopackage ادغام کنید.
دریافت داده ها
زمین طبیعی چندین لایه برداری سراسری دارد. لایه های زیر را دانلود کنید
برای راحتی کار، میتوانید یک بسته جغرافیایی حاوی لایههای بالا را مستقیماً از زیر دانلود کنید:
منبع داده: [NATURALEARTH]
- در پنل مرورگر QGIS، دایرکتوری را که داده های دانلود شده خود را در آن ذخیره کرده اید پیدا کنید.
zipورودی را باز کنیدgpkgوne_10m_admin_0_countriesلایه را انتخاب کنید. لایه را روی بوم بکشید.

- لایه بارگذاری شده را در پنل لایه ها خواهید دید. از آنجایی که وظیفه ما این است که لایههای جهانی را تا مرز آفریقا برش دهیم، ابتدا باید لایهای را آماده کنیم که حاوی ویژگیهایی فقط از آن قاره باشد. بیایید به جدول ویژگی ها نگاه کنیم تا ببینیم از چه ستونی می توان برای پرس و جو ویژگی های متعلق به یک قاره خاص استفاده کرد. روی لایه کلیک راست کرده
ne_10m_admin_0_countriesو Open Attribute Table را انتخاب کنید .
توجه داشته باشید
نکته: همچنین می توانید از میانبر صفحه کلید F6برای باز کردن جدول ویژگی لایه انتخاب شده استفاده کنید.

- در پنجره Attribute Table ، همانطور که به صورت افقی حرکت می کنید، می بینید که داده ها حاوی یک ویژگی به نام CONTINENT هستند . ما می توانیم از این ویژگی برای فیلتر کردن ویژگی ها استفاده کنیم.

- جدول ویژگی را ببندید و به پنجره اصلی QGIS بازگردید. روی لایه کلیک راست کرده
ne_10m_admin_0_countriesو Filter را انتخاب کنید .

- در پنجره Query Builder ، قسمت CONTINENT را انتخاب کرده و روی Sample کلیک کنید . این پانل Values را با زیرمجموعه ای از مقادیر آن ویژگی از ویژگی ها پر می کند. این مرحله برای درک اینکه چه نوع مقادیری در مجموعه داده شما وجود دارد مفید است. میتوانیم ببینیم که مجموعه داده ما حاوی مقداری به نام آفریقا در میان سایرین است.

- اکنون عبارت را در کادر متنی عبارت filter specific Provider وارد کنید . می توانید بر روی برچسب CONTINENT و سپس دکمه = و برچسب آفریقا کلیک کنید . یا می توانید عبارت زیر را در کادر متنی تایپ کنید. پس از وارد کردن عبارت، روی OK کلیک کنید .
"CONTINENT" = 'Africa'

- خواهید دید که بوم نقشه اکنون فقط شامل کشورهای آفریقا است. به نماد فیلتر در کنار نام لایه توجه کنید که نشان می دهد فیلتر روی آن اعمال شده است. اگر میخواهید تمام ویژگیهای لایه را ببینید و استفاده کنید، میتوانید روی نماد فیلتر کلیک کنید و عبارت را پاک کنید. در حال حاضر، ما فیلتر را نگه می داریم تا بتوانیم لایه های دیگر را به آفریقا برش دهیم.

- اکنون آماده اجرای فرآیند دسته ای برای برش دادن لایه ها هستیم. لایه های جهانی زمین طبیعی را در پانل مرورگر QGIS
ne_10m_railroadsبیابید . کلید را نگه دارید و روی هر لایه کلیک کنید تا آنها را انتخاب کنید. پس از انتخاب، آنها را به بوم بکشید.ne_10m_portsne_10m_urban_areasCtrl

- هنگامی که لایه ها بارگذاری می شوند، متوجه خواهید شد که آنها لایه های جهانی هستند و دارای ویژگی هایی هستند که همه کشورها را در بر می گیرد. اکنون زمان آن است که فرآیند کلیپ دسته ای خود را برای گیره دادن این لایه ها به آفریقا آغاز کنیم. باز کنید .

- همه الگوریتم های موجود را مرور کنید و ابزار Clip را از پیدا کنید . همچنین می توانید از کادر جستجو برای یافتن آسان الگوریتم نیز استفاده کنید.

- روی الگوریتم Clip کلیک راست کرده و Execute as Batch Process را انتخاب کنید .

- در گفتگوی Batch Processing ، اولین تب Parameters است که در آن ورودی های خود را تعریف می کنیم. هر ردیف در جدول نشان دهنده ۱ وظیفه پردازشی است. برای افزودن ردیف جدید روی دکمه افزودن ردیف کلیک کنید . از آنجایی که وظیفه ما شامل ۳ لایه است، ۳ ردیف اضافه کنید.

- روی … کنار ردیف اول در ستون لایههای ورودی کلیک کنید . Select from Open Layers را انتخاب کنید .

- در گفتگوی Multiple selection ، ۳ لایه را که میخواهیم کلیپ کنیم، علامت بزنید و روی OK کلیک کنید .

- متوجه خواهید شد که ستون های لایه ورودی به صورت خودکار با تمام لایه هایی که انتخاب کرده اید پر می شود. در مرحله بعد، باید لایه حاوی مرز را انتخاب کنیم تا لایه های ورودی خود را برش دهیم. روی دکمه … برای ردیف اول زیر ستون لایه پوشش کلیک کنید و گزینه Select form Open Layers را انتخاب کنید .

- در گفتگوی انتخاب چندگانه ، تیک بزنید
ne_10m_admin_0_countriesو روی OK کلیک کنید .

- از آنجایی که لایه کلیپ برای همه ورودیهای ما یکسان است، یک میانبر مفید این است که روی لایه هدر ستون دوبار کلیک کنید و همان لایه برای همه ردیفها به طور خودکار پر میشود.

- بعد، باید خروجی های خود را تعریف کنیم. روی دکمه … کنار ردیف اول در ستون Clipped کلیک کنید .

- دایرکتوری را که در آن لایه های خروجی خود را می خواهید مرور کنید. نام فایل را به عنوان تایپ کنید
clipped_و روی ذخیره کلیک کنید .

- یک کادر گفتگوی تنظیمات تکمیل خودکار جدید ظاهر می شود. به عنوان حالت تکمیل خودکار انتخاب کنید . به عنوان پارامتر مورد استفاده انتخاب کنید . این تنظیم نام فایل ورودی را به همراه نام فایل مشخص شده به خروجی اضافه می کند . این برای اطمینان از اینکه همه فایلهای خروجی دارای نامهای منحصربهفرد هستند و روی یکدیگر بازنویسی نمیشوند، مهم است.
Fill with parameter valuesInput layerclipped_

- اکنون آماده شروع پردازش دسته ای هستیم. مطمئن شوید که Load layers را پس از اتمام بررسی کرده و روی Run کلیک کنید .

- الگوریتم کلیپ برای هر یک از ورودی ها اجرا می شود و فایل های خروجی را همانطور که مشخص کرده ایم ایجاد می کند. پس از اتمام فرآیند دسته ای، روی Close کلیک کنید تا به QGIS برگردید.
توجه داشته باشید
نکته: اکنون QGIS می تواند وظایف پردازش را در پس زمینه بدون مسدود کردن رابط کاربری اجرا کند. بنابراین اگر فرآیند دستهای شما طولانی است، میتوانید گفتگو را ببندید و در حالی که فرآیند در پسزمینه اجرا میشود، به کارهای دیگر در QGIS ادامه دهید.

- در پنجره اصلی QGIS، لایه های اضافه شده به بوم QGIS را خواهید دید. همانطور که متوجه خواهید شد، تمام لایه های جهانی به درستی به مرز قاره ای که ما مشخص کرده بودیم بریده می شوند.

- ما وظیفه برش چندین لایه را در یک دسته انجام داده ایم. اما QGIS3 ویژگی مفید دیگری نیز دارد که به شما کمک می کند تا نتیجه را به روشی کارآمدتر ذخیره کرده و ارائه دهید. اگر میخواهید لایههای بریده شده را به کسی تحویل دهید، فایلهای جداگانه را خارج از QGIS زیپ میکنید. گزینه بهتر این است که لایه های خروجی را در یک ژئوپکیج بسته بندی کنید. در مرورگر QGIS ، لایه های خروجی بریده شده را پیدا کنید. ممکن است مجبور شوید روی دکمه Refresh کلیک کنید تا فایل های تازه اضافه شده را ببینید.

- کلید را نگه دارید Ctrlو لایه ها را انتخاب کنید. آنها را روی بوم بکشید تا در QGIS بارگذاری شوند.

- در جعبه ابزار پردازش ، ابزار را پیدا کنید .

- در گفتگوی لایههای بسته ، روی دکمه … کنار لایههای ورودی کلیک کنید .

- در گفتگوی انتخاب چندگانه
clipped_ne_10m_ports، لایه هاclipped_ne_10m_railroadsو را بررسی کنیدclipped_ne_10m_urban_areas. روی OK کلیک کنید .

- پس از انتخاب لایههای ورودی، روی … در کنار Destination Geopackage کلیک کنید و Save To File را انتخاب کنید .

- نام فایل خروجی را به صورت
clipped_layers.

- برای شروع فرآیند بسته بندی روی Run کلیک کنید .

- پس از اتمام فرآیند، یک فایل geopackage جدید در مرورگر QGIS خود مشاهده خواهید کرد که شامل تمام لایه های خروجی بریده شده است. این یک فایل واحد در رایانه شما است که شامل تمام لایه های خروجی است.


اگر می خواهید بازخورد بدهید یا تجربه خود را در مورد این آموزش به اشتراک بگذارید، لطفاً در زیر نظر دهید. (به حساب GitHub نیاز دارد)