پردازش دسته ای با استفاده از چارچوب پردازش (QGIS2)

هشدار

نسخه جدید این آموزش در Batch Processing using Processing Framework (QGIS3) موجود است

QGIS 2.0 مفهوم جدیدی به نام چارچوب پردازش را معرفی کرد. چارچوب پردازش که قبلاً با نام Sextante شناخته می شد، محیطی را در QGIS برای اجرای الگوریتم های بومی و شخص ثالث برای پردازش داده ها فراهم می کند. این شامل یک رابط پردازش دسته ای خوب است که به فرد اجازه می دهد یک الگوریتم را بر روی چندین لایه به راحتی اجرا کند. پردازش دسته ای ابزار مفیدی است که می تواند در تلاش دستی صرفه جویی کند و به شما کمک کند کارهای تکراری را خودکار کنید.

بررسی اجمالی کار

ما چندین لایه برداری سراسری را می گیریم و آنها را به وسعت آفریقا در یک دستور دسته ای تکی می کنیم.

مهارت های دیگری که یاد خواهید گرفت

  • حل کردن (ادغام) چند ضلعی از یک لایه که دارای ویژگی یکسان است.

داده ها را دریافت کنید

"زمین طبیعی <http://naturalearthdata.com>"_ چندین لایه برداری سراسری دارد. لایه های زیر را دانلود کنید

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

منبع داده: [NATURALEARTH]

روش

  1. به Layer ‣ Add Vector Layer بروید.

../_images/1166.png
  1. به شکل فایل دانلود شده Admin 0 Countries «ne_10m_admin_0_countries.shp» بروید و روی :guilabel: «Open» کلیک کنید.

../_images/2137.png
  1. از آنجایی که وظیفه ما این است که لایه های جهانی را به مرز آفریقا برش دهیم، ابتدا باید لایه ای حاوی چند ضلعی برای کل قاره آماده کنیم. لایه کشورها دارای ویژگی به نام CONTINENT است. می‌توانیم از یک مفهوم پردازش جغرافیایی به نام Dissolve برای ادغام همه کشورهایی که دارای ارزش قاره‌ای یکسان هستند و ادغام آنها در یک چندضلعی استفاده کنیم.

../_images/378.png
  1. ابزار Dissolve را از Vector ‣ Geoprocessing Tools ‣ Dissolve باز کنید.

../_images/446.png
  1. "ne_10m_admin_0_countries" را به عنوان :guilabel:"لایه برداری ورودی" انتخاب کنید. فیلد Dissolve "CONTINENT" خواهد بود. نام فایل خروجی را «continents.shp» بگذارید و کادر کنار :guilabel: «Add result to convas» را علامت بزنید.

توجه

اگر می خواهید ALL چند ضلعی ها را بدون توجه به ویژگی های آنها ادغام کنید، می توانید -- Dissolve All -- را به عنوان :guilabel:`Dissolve فیلد انتخاب کنید. این کار همه چند ضلعی های لایه را ترکیب می کند و به شما یک چند ضلعی مجموع می دهد.

../_images/540.png
  1. پردازش انحلال ممکن است کمی طول بکشد. پس از اتمام فرآیند، لایه جدید «قاره» را خواهید دید که به QGIS اضافه شده است. از ابزار :guilabel:'Select Single Feature' از نوار ابزار استفاده کنید و روی آفریقا کلیک کنید تا چند ضلعی قاره را انتخاب کنید.

../_images/639.png
  1. روی لایه continents کلیک راست کرده و Save Selection As... را انتخاب کنید.

../_images/739.png
  1. فایل خروجی را "africa.shp" نامگذاری کنید. از آنجایی که ما فقط به شکل قاره علاقه مندیم و نه هیچ ویژگی، می‌توانید Skip χαρακτηριστικό ایجاد را بررسی کنید. مطمئن شوید که کادر :guilabel:`Add saved file to map علامت زده شده است و روی :guilabel:`OK کلیک کنید.

../_images/838.png
  1. اکنون لایه «آفریقا» را خواهید داشت که در QGIS حاوی یک چند ضلعی برای کل قاره است. اکنون زمان آن است که فرآیند کلیپ دسته ای خود را شروع کنیم. Processing ‣ Toolbox را باز کنید.

../_images/939.png
  1. همه الگوریتم های موجود را مرور کنید و ابزار Clip را از QGIS geoalgorithms ‣ Vector overlay tools ‣ Clip پیدا کنید. همچنین می توانید از کادر Search برای یافتن آسان الگوریتم نیز استفاده کنید.

../_images/1046.png
  1. روی الگوریتم Clip راست کلیک کرده و :guilabel:`Execure as batch process را انتخاب کنید.

../_images/1167.png
  1. در گفتگوی :guilabel:` پردازش دسته‌ای، اولین تب Parameters است که در آن ورودی‌ها را تعریف می‌کنیم. روی :guilabel:...` در کنار ردیف اول در ستون :guilabel:` لایه ورودی کلیک کنید.

../_images/1249.png
  1. به دایرکتوری حاوی لایه های حمل و نقل جهانی که دانلود کرده بودید، بروید. کلید Ctrl را نگه دارید و تمام لایه هایی را که می خواهید کلیپ کنید انتخاب کنید. همچنین می توانید از :kbd:`Shift یا :kbd:`Ctrl-A برای انتخاب چندگانه استفاده کنید. روی :guilabel:'Open' کلیک کنید.

../_images/1347.png
  1. متوجه خواهید شد که ستون‌های :guilabel:` لایه ورودی به طور خودکار با تمام لایه‌هایی که انتخاب کرده‌اید پر می‌شوند. برای افزودن ردیف‌های بیشتر و تعریف ورودی‌های بیشتر، می‌توانید از دکمه Add row استفاده کنید. در مرحله بعد، باید لایه حاوی مرز را انتخاب کنیم تا لایه های ورودی خود را برش دهیم. روی دکمه :guilabel:...` برای ردیف اول کلیک کنید و "africa.shp" را اضافه کنید:guilabel:Clip layer. از آنجایی که لایه کلیپ برای همه ورودی‌های ما یکسان است، می‌توانید روی هدر ستون :guilabel: لایه کلیپ دوبار کلیک کنید و همان لایه برای همه ردیف‌ها به صورت خودکار پر می‌شود. بعد، باید خروجی های خود را تعریف کنیم. روی دکمه ... در کنار ردیف اول در ستون :guilabel:'Clipped' کلیک کنید.

../_images/1444.png
  1. دایرکتوری را که در آن لایه های خروجی خود را می خواهید مرور کنید. نام فایل را به صورت "clipped_" تایپ کنید و روی :guilabel:"Save" کلیک کنید.

../_images/1540.png
  1. یک گفتگوی جدید Autofill settings را خواهید دید. :guilabel:`پر کردن با مقادیر پارامتر را به عنوان :guilabel:`حالت تکمیل خودکار انتخاب کنید. :guilabel:'Parameter to use' را به عنوان :guilabel:'Input layer' انتخاب کنید. این تنظیم نام فایل ورودی را به همراه نام فایل "output_" مشخص شده به خروجی اضافه می کند. این برای اطمینان از اینکه همه فایل‌های خروجی دارای نام‌های منحصربه‌فرد هستند و روی یکدیگر بازنویسی نمی‌شوند، مهم است.

../_images/1638.png
  1. اکنون آماده شروع پردازش دسته ای هستیم. روی Run کلیک کنید.

../_images/1736.png
  1. الگوریتم کلیپ برای هر یک از ورودی ها اجرا می شود و فایل های خروجی را در صورتی که ما مشخص کرده ایم ایجاد می کند. پس از پایان فرآیند دسته ای، لایه های اضافه شده به بوم QGIS را خواهید دید. همانطور که متوجه خواهید شد، تمام لایه های جهانی به درستی به مرز قاره ای که ما مشخص کرده بودیم بریده می شوند.

../_images/1833.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)