اجرای مفاصل فضایی (QGIS3)


اجرای مفاصل فضایی (QGIS3)

Spatial Join یک مشکل کلاسیک GIS است – انتقال ویژگی ها از یک لایه به لایه دیگر بر اساس رابطه فضایی آنها. در QGIS، این قابلیت از طریق الگوریتم پردازش در دسترس است.Join attributes by location

نمای کلی کار

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

 خواهید گرفت

  • ایجاد فیلترهایی برای حذف موقت برخی از ویژگی ها از محاسبات.

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

NYC Open Data Portal یک منبع عالی از داده های رایگان برای شهر نیویورک است.

فایل فشرده Borough Boundaries را با استفاده از گزینه Export در پورتال دانلود کنید .

../../_images/data116.pngفایل فشرده Street Pavement Rating را با استفاده از گزینه Export در پورتال دانلود کنید .

../../_images/data26.pngبرای راحتی کار، می‌توانید مستقیماً یک نسخه از مجموعه داده‌ها را از لینک‌های زیر دانلود کنید:

nybb_19a.zip

V_SSS_SEGMENTRATING_1.zip

منبع داده [CITYOFNY]

  1. nybb_19a.zipفایل را در مرورگر QGIS بیابید و آن را گسترش دهید. لایه را انتخاب کنید nybb_19a/nybb.shpو آن را روی بوم بکشید. این یک لایه چند ضلعی است که مرزهای محله را در شهر نیویورک نشان می دهد.
../../_images/1135.png
  1. بعد، V_SSS_SEGMENTRATING_1.zipفایل را پیدا کنید و آن را گسترش دهید. لایه را انتخاب کرده dot_V_SSS_SEGMENTRATING_1_20190129.shpو به بوم اضافه کنید. این یک لایه خطی از تمام خیابان های شهر است.
../../_images/2107.png
  1. بیایید ویژگی های موجود برای هر ویژگی لایه را بررسی کنیم dot_V_SSS_SEGMENTRATING_1_20190129. کلیک راست کرده و Open Attribute Table را انتخاب کنید .
../../_images/350.png
  1. متوجه ویژگی نامیده شده خواهید شد Rating_Bکه دارای مقادیری در محدوده ۰-۱۰ است که نشان دهنده رتبه بندی بخش خیابان است. ویژگی RatingWordدارای رتبه بندی توصیفی است. می توانیم از Rating_Bفیلد برای محاسبه میانگین امتیاز استفاده کنیم.
../../_images/427.png
  1. ممکن است متوجه شوید که برخی از ویژگی ها دارای رتبه بندی هستند NR. اینها بخش هایی هستند که رتبه بندی نشده اند. گنجاندن آنها در تحلیل ما صحیح نخواهد بود. قبل از اینکه اتصال فضایی را انجام دهیم، اجازه دهید یک فیلتر برای حذف این رکوردها تنظیم کنیم . روی لایه کلیک راست کرده dot_V_SSS_SEGMENTRATING_1_20190129و Filter را انتخاب کنید .
../../_images/525.png
  1. در Query Builder عبارت زیر را تایپ کنید تا تمام رکوردهایی که رتبه بندی نشده اند را انتخاب کنید NR. همچنین می توانید با کلیک بر روی Field ، Operator و انتخاب مقدار مناسب ، عبارت را به صورت تعاملی بسازید . روی OK کلیک کنید .
"RatingWord" != 'NR'

../../_images/625.png

  1. متوجه خواهید شد dot_V_SSS_SEGMENTRATING_1_20190129که اکنون لایه دارای نماد فیلتر است که نشان می دهد یک فیلتر فعال روی این لایه اعمال شده است. حالا می توانیم با استفاده از این لایه یک Join فضایی انجام دهیم. به پردازش ‣ جعبه ابزار بروید .
../../_images/724.png
  1. الگوریتم Vector general ‣ Join خصیصه بر اساس مکان (خلاصه) را جستجو و مکان یابی کنید . برای راه اندازی آن دوبار کلیک کنید.
../../_images/824.png
  1. در گفتگوی Join ویژگی بر اساس مکان (خلاصه) ، nybbبه عنوان لایه ورودی انتخاب کنید . لایه خیابان لایه Joindot_V_SSS_SEGMENTRATING_1_20190129 خواهد بود . می توانید گزاره Geometry را به حالت پیش فرض رها کنید . برای خلاصه کردن روی دکمه  کنار فیلدها کلیک کنید .Intersects
../../_images/924.png

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

نکته ای برای کمک به انتخاب لایه های ورودی و پیوستن صحیح: لایه ورودی لایه ای است که با ویژگی های جدید در پیوست فضایی اصلاح می شود. همانطور که می خواهیم فیلد رتبه بندی میانگین به لایه borough اضافه شود، لایه ورودی خواهد بود.

  1. را انتخاب کنید Rating_Bو روی OK کلیک کنید .
../../_images/1031.png
  1. به همین ترتیب، برای محاسبه روی دکمه  در کنار خلاصه ها کلیک کنید .
../../_images/1136.png
  1. meanبه عنوان عملگر خلاصه انتخاب کنید و روی OK کلیک کنید . اکنون آماده شروع پردازش هستیم. روی Run کلیک کنید .
../../_images/1232.png
  1. الگوریتم پردازش از طریق ویژگی ها کار می کند و اتصال فضایی را اعمال می کند. بررسی کنید که کار پردازش موفقیت آمیز بوده و روی Close کلیک کنید .
../../_images/1330.png
  1. در پنجره اصلی QGIS، یک لایه جدید به بوم اضافه شده است. ویژگی جدول را برای این لایه باز کنید. مشاهده خواهید کرد که یک ستون جدید با میانگین رتبه بندی تمام خیابان هایی که با آن ویژگی جالب هستند به لایه ورودی ورودی اضافه شده است.Joined layerRating_B_mean
../../_images/1428.png
  1. اکنون می توانیم یک عملیات معکوس انجام دهیم. گاهی اوقات تجزیه و تحلیل شما مستلزم دریافت ویژگی ها از یک لایه دیگر بر اساس رابطه فضایی است اما هیچ خلاصه ای را محاسبه نمی کند. برای چنین تحلیلی می توانیم از الگوریتم استفاده کنیم . وظیفه اضافه کردن نام ناحیه به هر ویژگی در لایه خیابان ها بر اساس چند ضلعی محله است. قبل از اجرای این الگوریتم، اجازه دهید فیلتر را از لایه حذف کنیم. روی نماد فیلتر کلیک کنید و Clear را در Query Builder فشار دهید . روی OK کلیک کنید .Join attribute by locationdot_V_SSS_SEGMENTRATING_1_20190129
../../_images/1523.png
  1. در پانل لایه ها را بچرخانید . ویژگی Vector general ‣ Join by location algorithm را در Processing Toolbox پیدا کنید و برای اجرا روی آن دوبار کلیک کنید.Joined layer
../../_images/1622.png
  1. dot_V_SSS_SEGMENTRATING_1_20190129به عنوان لایه ورودی و nybbبه عنوان لایه Join انتخاب کنید . می توانید گزاره Geometry را به حالت پیش فرض رها کنید Intersectsبرای افزودن و انتخاب روی دکمه  کنار فیلدها کلیک کنید . روی OK کلیک کنید .BoroName
../../_images/1723.png
  1. پاره خط ممکن است از یک مرز منطقه عبور کند، بنابراین نوع Join را به عنوان انتخاب می کنیم . روی Run کلیک کنید .Crate separate feature for each located feature (one-to-many)
../../_images/1820.png
  1. پس از پایان پردازش، جدول ویژگی های جدید اضافه شده را باز کنید . خواهید دید که یک ویژگی جدید به هر ویژگی خیابان اضافه شده است.Joined layerBoroName
../../_images/1917.png

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


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

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

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