تحلیل همپوشانی چند معیاره (QGIS3) 

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

توجه داشته باشید

وکتور در مقابل پوشش های شطرنجی

می‌توانید با استفاده از ابزارهای پردازش جغرافیایی مانند بافر، حل کردن، اختلاف و تقاطع، آنالیز همپوشانی را بر روی لایه‌های برداری انجام دهید. اگر می خواهید یک پاسخ باینری مناسب/غیر مناسب پیدا کنید و با چند لایه کار می کنید، این روش ایده آل است. برای راهنمای گام به گام این رویکرد، می‌توانید آموزش ویدیویی ما در مورد مکان‌یابی ایستگاه پارکینگ جدید دوچرخه با استفاده از تحلیل پوشش چند معیاره را مرور کنید.

کار در فضای شطرنجی به شما رتبه‌بندی مناسب را می‌دهد – نه فقط بهترین سایت مناسب. همچنین به شما این امکان را می دهد که به راحتی هر تعداد از لایه های ورودی را ترکیب کنید و وزن های مختلفی را به هر معیار اختصاص دهید. به طور کلی، این رویکرد ترجیحی برای مناسب بودن سایت است.

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

نمای کلی کار 

در این آموزش به شناسایی زمینه های مناسب برای توسعه می پردازیم

  • نزدیک به جاده ها، و
  • دور از آب، و
  • نه در منطقه حفاظت شده

دریافت داده ها 

ما از لایه های داده برداری از OpenStreetMap (OSM) استفاده خواهیم کرد . OSM یک پایگاه داده جهانی از داده های نقشه پایه آزادانه در دسترس است. Geofabrik شکل فایل های به روز شده روزانه مجموعه داده های OpenStreetMap را ارائه می دهد.

ما از لایه های داده OSM برای ایالت آسام در هند استفاده خواهیم کرد. شکل‌فایل‌های Geofabrik India دانلود، به مرز ایالت بریده و در یک فایل GeoPackage بسته‌بندی شدند. می توانید یک نسخه از geopackage را از لینک زیر دانلود کنید:

assam.gpkg

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

  1. فایل دانلود شده را assam.gpkgدر مرورگر QGIS مرور کنید. آن را گسترش دهید و هر یک از ۵ لایه داده جداگانه را به بوم نقشه بکشید. boundaryroadsprotected_regionswater_polygonsو water_polylinesلایه ها را در پانل لایه ها بارگذاری می کنید .
../../_images/1109.png
  1. اولین مرحله در تحلیل همپوشانی، تبدیل هر لایه داده به رستر است. یک نکته مهم این است که همه رسترها باید از یک اندازه باشند. ما از boundaryلایه به عنوان وسعت برای همه رسترها استفاده خواهیم کرد . به پردازش ‣ جعبه ابزار بروید . الگوریتم GDAL ‣ تبدیل برداری ‣ Rasterize (بردار به شطرنجی) را جستجو و مکان یابی کنید . برای راه اندازی آن دوبار کلیک کنید.
../../_images/2105.png
  1. در گفتگوی Rasterize (بردار به شطرنجی) ، roadsبه عنوان لایه ورودی انتخاب کنید . ما می خواهیم یک رستر خروجی ایجاد کنیم که در آن مقادیر پیکسل در جایی که جاده وجود دارد ۱ و در جایی که هیچ جاده ای وجود ندارد ۰ باشد. ۱به عنوان مقدار ثابت برای رایت وارد کنید . لایه های ورودی در یک CRS پیش بینی شده با مترها واحد هستند. به عنوان واحدهای اندازه شطرنجی خروجی انتخاب کنید . رزولوشن شطرنج خروجی را ۱۵ متر قرار می دهیم. هم به عنوان وضوح عرض/افقی و هم به عنوان وضوح ارتفاع/عمودی انتخاب کنید . در مرحله بعد، روی دکمه  کنار Output extension کلیک کنید و گزینه Use extension for را انتخاب کنید .Geoferenced units15boundary
../../_images/348.png
  1. بیشتر به پایین اسکرول کنید و روی دکمه پیکان در قسمت Assign a specific nodata value to output bands کلیک کنید .
../../_images/426.png
  1. اکنون باید آن فیلد روی . این مهم است زیرا وقتی ماشین حساب شطرنجی (که بعداً از آن استفاده خواهیم کرد) با پیکسلی با مقدار nodata در هر لایه مواجه می شود، خروجی را نیز روی nodata تنظیم می کند و در نتیجه خروجی اشتباه می شود.Not set
../../_images/523.png
  1. برای یافتن پارامترهای پیشرفته به پایین بروید و نمایه را برای اعمال فشرده سازی انتخاب کنید. پس از اجرای ابزار، فایل شطرنجی فشرده با اندازه کوچکتر تولید می شود. هنگام کار با داده های شطرنجی، استفاده از فشرده سازی بدون تلفات بسیار توصیه می شود.High Compression
../../_images/623.png
  1. شطرنجی خروجی Rasterized را به عنوان تنظیم کنید raster_roads.tifو روی Run کلیک کنید .
../../_images/722.png
  1. هنگامی که پردازش به پایان رسید، یک لایه جدید raster_roads را در پانل لایه ها مشاهده خواهید کرد . استایل پیش‌فرض پیکسل‌ها را با جاده‌ها سفید و بقیه را سیاه نشان می‌دهد. ما می خواهیم ۴ لایه برداری دیگر را نیز به رستر تبدیل کنیم. به جای اجرای یک به یک الگوریتم شطرنجی، می‌توانیم از عملکرد پردازش دسته‌ای داخلی برای تبدیل همه آنها به یکباره استفاده کنیم. برای کسب اطلاعات بیشتر در مورد پردازش دسته ای به آموزش پردازش دسته ای با استفاده از چارچوب پردازش (QGIS3) مراجعه کنید . روی الگوریتم کلیک راست کرده و Execute as Batch Process را انتخاب کنید .Rasterize (vector to raster)
../../_images/822.png
  1. در گفتگوی Batch Processing ، روی دکمه  در ردیف اول ستون لایه ورودی کلیک کنید . لایه ها boundary، protected_regionsو water_polygonsرا انتخاب کنید water_polylinesو روی OK کلیک کنید .
../../_images/922.png

توجه داشته باشید

این گزینه Advanced Parameters هنگام اجرای الگوریتم در حالت دسته ای در دسترس نیست. شما باید مراحل بالا را برای تمام لایه ها تکرار کنید و مراحل ۸ تا ۱۲ را برای اعمال فشرده سازی روی تمام خروجی های Rasterized نادیده بگیرید .

  1. پارامترها را با همان مقادیری که در لایه roads استفاده می کنیم پر کنید. پس از پر کردن ردیف اول پارامتر، از دکمه Autofill ‣ Fill Down برای اضافه کردن مقدار یکسان برای همه لایه‌ها استفاده کنید.
../../_images/1028.png
  1. در آخرین ستون Rasterized ، روی دکمه  در ردیف اول کلیک کنید. به عنوان حالت تکمیل خودکار و به عنوان پارامتر مورد استفاده انتخاب کنید . روی OK کلیک کنید .Fill with parameter valuesInput layer
../../_images/1131.png
  1. به دایرکتوری در رایانه خود بروید و لایه را به عنوان نامگذاری کنید raster_. رابط پردازش دسته ای نام را با نام لایه تکمیل می کند و تمام ردیف ها را پر می کند. مطمئن شوید که کادر Load layers on completion علامت زده شده است و روی OK کلیک کنید .
../../_images/1229.png
  1. پس از اتمام پردازش، ۴ لایه شطرنجی جدید در پانل لایه ها بارگذاری می شود . متوجه خواهید شد که ما ۲ لایه مرتبط با آب داریم – هر دو نشان دهنده آب. ما می‌توانیم آنها را با هم ادغام کنیم تا یک لایه واحد داشته باشیم که نمایانگر مناطق آبی در منطقه است. تجزیه و تحلیل Raster ‣ الگوریتم ماشین حساب رستر را در جعبه ابزار پردازش جستجو و مکان یابی کنید . برای راه اندازی آن دوبار کلیک کنید.
../../_images/1327.png
  1. با استفاده از دکمه raster_water_polygons به عنوان لایه های ورودی، لایه ها را انتخاب کنید . عبارت زیر را با استفاده از دکمه ε وارد کنید . همه گزینه های دیگر را به عنوان پیش فرض نگه دارید و لایه خروجی را با نام ذخیره کنید و روی Run کلیک کنید .raster_water_polylinesraster_water_merged.tif
"raster_water_polygons@1" + "raster_water_polylines@1"

../../_images/1425.png

  1. رستر ادغام شده به دست آمده دارای پیکسل هایی با مقدار ۱ برای همه مناطق دارای آب خواهد بود. اما متوجه خواهید شد که مناطقی وجود دارد که هم یک چند ضلعی آب و هم چند خط آب وجود دارد. آن مناطق دارای پیکسل هایی با مقدار ۲ خواهند بود – که صحیح نیست. ما می توانیم آن را با یک عبارت ساده حل کنیم. دوباره الگوریتم محاسبه رستر ‣ تحلیل رستر را باز کنید .
../../_images/1522.png
  1. raster_water_mergedلایه را با استفاده از دکمه  به عنوان لایه ورودی انتخاب کنید . عبارت زیر را با استفاده از دکمه ε وارد کنید . همه گزینه های دیگر را به عنوان پیش فرض نگه دارید و لایه خروجی را با نام ذخیره کنید raster_water.tifو روی Run کلیک کنید .
"raster_water_merged@1" > 0

../../_images/1621.png

  1. لایه به دست آمده raster_waterاکنون دارای پیکسل هایی با مقادیر ۰ و ۱ است.
../../_images/1722.png
  1. اکنون که لایه‌هایی داریم که پیکسل‌های جاده و آب را نشان می‌دهند، می‌توانیم رسترهای مجاورتی ایجاد کنیم. این فاصله ها به عنوان فاصله اقلیدسی نیز شناخته می شوند – جایی که هر پیکسل در شطرنجی خروجی نشان دهنده فاصله تا نزدیکترین پیکسل در شطرنجی ورودی است. سپس می توان از این شطرنجی به دست آمده برای تعیین مناطق مناسب که در فاصله معینی از ورودی هستند استفاده کرد. الگوریتم GDAL ‣ تحلیل شطرنجی ‣ نزدیکی (فاصله شطرنجی) را جستجو و مکان یابی کنید . برای راه اندازی آن دوبار کلیک کنید.
../../_images/1819.png
  1. در گفتگوی Proximity (Raster Distance)raster_roads به عنوان لایه ورودی انتخاب کنید . به عنوان واحدهای فاصله انتخاب کنید . از آنجایی که لایه های ورودی در یک CRS پیش بینی شده با متر به عنوان واحد قرار دارند، (۵ کیلومتر) را به عنوان حداکثر فاصله تولید شده وارد کنید . مطمئن شوید که مقدار Nodata برای استفاده از مقدار شطرنجی نزدیکی مقصد است .Georeferenced coordinates5000Not set
../../_images/1916.png
  1. می توانید پارامترهای پیشرفته را گسترش دهید و نمایه را برای اعمال فشرده سازی انتخاب کنید. فایل خروجی را به عنوان نامگذاری کنید و روی Run کلیک کنید .High Compressionroads_proximity.tif
../../_images/2016.png

توجه داشته باشید

ممکن است تا ۱۵ دقیقه طول بکشد تا این فرآیند اجرا شود. این یک الگوریتم فشرده محاسباتی است که نیاز به محاسبه فاصله برای هر پیکسل از شطرنجی ورودی دارد و ورودی ما شامل بیش از ۱ میلیارد پیکسل است.

  1. پس از اتمام پردازش، یک لایه جدید به پنل لایه هاroads_proximity اضافه می شود . برای تجسم بهتر آن، بیایید استایل پیش فرض را تغییر دهیم. روی دکمه Open the Layer Styling Panel در پنل Layers کلیک کنید . مقدار Max را به زیر گرادیان رنگ تغییر دهید .۵۰۰۰
../../_images/2119.png
  1. الگوریتم Proximity (Raster Distance) را برای raster_waterلایه با همان پارامترها تکرار کنید و خروجی را نامگذاری کنید water_proximity.tif.
../../_images/2217.png
  1. پس از پایان پردازش، می توانید یک ظاهر طراحی مشابه قبل را اعمال کنید تا نتایج را بهتر تجسم کنید. اگر دور شطرنجی به دست آمده کلیک کنید، می بینید که پیوسته ای از مقادیر از ۰ تا ۵۰۰۰ است. برای استفاده از این شطرنجی در تحلیل همپوشانی، ابتدا باید آن را دوباره طبقه بندی کنیم تا مقادیر گسسته ایجاد کنیم. دوباره الگوریتم محاسبه رستر ‣ تحلیل رستر را باز کنید .
../../_images/2315.png
  1. ما می خواهیم به پیکسل هایی که نزدیک به جاده هستند امتیاز بیشتری بدهیم. پس بیایید از طرح زیر استفاده کنیم.
  • ۰-۱۰۰۰ متر -> 100
  • ۱۰۰۰-۵۰۰۰ متر -> 50
  • > 5000 متر -> 10

    roads_proximityلایه را با استفاده از دکمه  به عنوان لایه ورودی انتخاب کنید . عبارت زیر را وارد کنید hat معیارهای بالا را در ورودی اعمال می کند. همه گزینه های دیگر را به عنوان پیش فرض نگه دارید و لایه خروجی را با نام ذخیره کنید roads_reclass.tifو روی Run کلیک کنید .

    ۱۰۰*("roads_proximity@1"<=1000)
        + ۵۰*("roads_proximity@1">1000)*("roads_proximity@1"<=5000)
        + ۱۰*("roads_proximity@1">5000)
    

    ../../_images/2414.png

  1. پس از اتمام فرآیند طبقه بندی مجدد، یک لایه جدید به پنل لایه هاroads_reclass اضافه می شود . این لایه تنها دارای ۳ مقدار مختلف ۱۰، ۵۰ و ۱۰۰ است که نشان دهنده تناسب نسبی پیکسل ها با توجه به فاصله از جاده ها است. دوباره الگوریتم محاسبه رستر ‣ تحلیل رستر را باز کنید .
../../_images/2513.png
  1. فرآیند طبقه بندی مجدد را برای water_proximityلایه تکرار کنید. در اینجا این طرح معکوس خواهد شد، جایی که پیکسل هایی که دورتر از آب هستند امتیاز بالاتری خواهند داشت.
  • ۰-۱۰۰۰ متر -> 10
  • ۱۰۰۰-۵۰۰۰ متر —> 50
  • > 5000 متر -> 100

    water_proximityلایه را با استفاده از دکمه  به عنوان لایه ورودی انتخاب کنید . عبارت زیر را وارد کنید hat معیارهای بالا را در ورودی اعمال می کند. همه گزینه های دیگر را به عنوان پیش فرض نگه دارید و لایه خروجی را با نام ذخیره کنید water_reclass.tifو روی Run کلیک کنید .

    ۱۰۰*("water_proximity@1">5000) + 50*("water_proximity@1">1000)*("water_proximity@1"<=5000) + 10*("water_proximity@1"<1000)
    

    ../../_images/2612.png

  1. اکنون ما آماده هستیم تا تحلیل نهایی را انجام دهیم. به یاد بیاورید که معیارهای ما برای تعیین مناسب بودن به شرح زیر است – نزدیک به جاده ها، دور از آب و نه در منطقه حفاظت شده. تجزیه و تحلیل شطرنجی ‣ ماشین حساب رستر را باز کنید . با استفاده از دکمه  به عنوان لایه های ورودی، لایه ها را roads_reclassانتخاب water_reclassکنید . از دکمه ε برای وارد کردن عبارت زیر استفاده کنید که این معیارها را اعمال می کند. توجه داشته باشید که نتیجه را در انتها ضرب می کنیم تا مقادیر پیکسل خارج از مرز حالت را کنار بگذاریم. سایر پارامترها را به عنوان پیش فرض نگه دارید. خروجی را نامگذاری کنید و روی Run کلیک کنید .raster_protected_regionsraster_boundaryraster_boundary@1overlay.tif
("roads_reclass@1" + "water_reclass@1")*("raster_protected_regions@1"  !=  1 )*"raster_boundary@1"

../../_images/2713.png

توجه داشته باشید

در این مثال، ما به جاده و نزدیکی آب وزن یکسانی می دهیم . در سناریوی واقعی، ممکن است چندین معیار با اهمیت متفاوت داشته باشید. می توانید آن را با ضرب شطرنجی ها با وزن های مناسب در عبارت بالا شبیه سازی کنید. به عنوان مثال، اگر نزدیکی به جاده ها دو برابر مهمتر از نزدیکی به آب است، می توانید roads_reclassشطرنجی را ۲در عبارت بالا ضرب کنید.

  1. پس از اتمام پردازش، شطرنجی به دست آمده به پنل لایه هاoverlay اضافه می شود . مقادیر پیکسل در این شطرنجی از ۰ تا ۲۰۰ متغیر است – جایی که ۰ کمترین مناسب ترین و ۲۰۰ مناسب ترین منطقه برای توسعه است. روی دکمه Open the Layer Styling Panel در پنل Layers کلیک کنید .
../../_images/2813.png
  1. singleband_pseudocolorرندر و رمپ رنگ را انتخاب کنید Spectral. روی Classify کلیک کنید تا سطح شیب دار رنگی روی شطرنجی اعمال شود.
../../_images/2912.png
  1. روی مقادیر برچسب پیش فرض در کنار هر رنگ کلیک کنید و برچسب های مناسب را وارد کنید. برچسب ها نیز به عنوان افسانه در زیر overlayلایه ظاهر می شوند.
../../_images/3011.png
  1. لایه های شطرنجی شبکه های مستطیلی هستند. ما می خواهیم پیکسل ها را خارج از مرز حالت مخفی کنیم. یک راه آسان برای رسیدن به این هدف، اعمال یک رندر در لایه مرزی برداری است. در پانل لایه ها به پایین اسکرول کنید و لایه را پیدا کنید. به عنوان رندر انتخاب کنید و سایر گزینه ها را به حالت پیش فرض رها کنید.Inverted PolygonsboundaryInverted Polygons
../../_images/3115.png
  1. برای اینکه اثر رندر نشان داده شود، باید در بالای فهرست مطالب باشد. روی لایه کلیک راست کرده boundaryو Move to Top را انتخاب کنید .
../../_images/3212.png
  1. لایه را بررسی کنید و بوم نقشه به روز می شود تا overlayشطرنجی بریده شده روی boundaryلایه نشان داده شود. این خروجی نهایی است که مناطقی را در داخل ایالت نشان می دهد که برای توسعه مناسب هستند.
../../_images/3311.png

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


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

خانهدربارهتماسارتباط با ما