محاسبه تراکم تقاطع خیابان (QGIS3) 

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

نمای کلی کار 

در این آموزش، داده های شبکه جاده ای OpenStreetMap را می گیریم و تراکم تقاطع خیابان ها را برای شهر چنای در هند محاسبه می کنیم.

 خواهید گرفت

  • چگونه داده‌های OpenStreetMap را به‌عنوان فایل‌های شکل دانلود کنید و آن‌ها را در منطقه مورد علاقه خود کلیپ کنید.
  • نحوه ایجاد گرید در QGIS

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

ما از داده‌های opencities برای دریافت مرز شهر برای چنای و سپس داده‌های شبکه جاده‌ای از OpenStreetMap Data Extracts برای هند استفاده خواهیم کرد.

دانلود مرز شهر 

  1. از وب‌سایت opencity دیدن کنید ، سپس «نقشه بخش‌های چنای» را جستجو کنید.
../../_images/data14.png
  1. روی لینک اول کلیک کنید و داده ها را با فرمت KML دانلود کنید. یک لایه Chennai-wards-2011.kmlدانلود می شود.
../../_images/data22.png

دانلود شبکه راه 

  1. از سرور دانلود استخراج داده های OpenStreetMap توسط GEOFABRIK بازدید کنید . برای این آموزش به داده های شهر چنای در هند نیاز داریم. آسیا را کلیک کنید .
../../_images/data32.png
  1. اکنون در مناطق فرعی ، هند را انتخاب کنید .
../../_images/data42.png
  1. فایل .shp.zipمربوط به منطقه جنوبی فایلی است که ما به دنبال آن هستیم. برای دانلود روی لینک کلیک کنید.
../../_images/data52.png
  1. این یک دانلود بزرگ است که حاوی استخراج داده‌ها برای کل کشور است. را از حالت فشرده خارج کنید southern-zone-latest-free.shp.zip. شما لایه های شکل فایل زیادی خواهید داشت.
../../_images/data62.png

کلیپ شبکه جاده تا مرز شهر 

  1. اکنون لایه جاده‌های سطح کشور را به منطقه مورد علاقه خود می‌بندیم. QGIS را باز کنید، بکشید و رها کنید Chennai-wards-2011.kml.
../../_images/data72.png
  1. به جای باز کردن یک لایه بزرگ در QGIS، می‌توانیم مستقیماً آن را از روی دیسک بخوانیم و آن را کلیپ کنیم. جعبه ابزار Processing را باز کنید و الگوریتم Vector overlay ‣ Clip را پیدا کنید . برای باز کردن آن دوبار کلیک کنید.
../../_images/data81.png
  1. در لایه Input گزینه را انتخاب کرده و بر روی Browse for Layer کلیک کنید…
../../_images/data91.png
  1. به فهرستی که داده های OpenStreetMap را در آن دانلود کرده اید بروید و را انتخاب کنید gis_osm_roads_free_1.shp. در لایه Overlay را انتخاب کنید . سپس روی Clipped کلیک کنید و Save to File را انتخاب کنید، به پوشه ای که می خواهید نتایج را در آن ذخیره کنید مرور کنید، نام را به عنوان وارد کنید و روی Run کلیک کنید .New Wards from Oct ۲۰۱۱chennai_roads.gpkg
../../_images/data101.png
  1. پس از اتمام پردازش، یک لایه جدید chennai_roadsدر بوم بارگذاری می شود.
../../_images/data112.png

برای راحتی کار، می‌توانید مستقیماً یک نسخه از مجموعه داده بریده شده را از لینک زیر دانلود کنید:

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

  1. اکنون هر دو لایه مورد استفاده برای محاسبه در دسترس خواهند بود، اگر داده‌ها را دانلود کرده‌اید، سپس Chennai-Wards-2011.kmlو را chennai_roads.gpkgدر Browser قرار دهید ، سپس آنها را بکشید و روی بوم رها کنید.
../../_images/image1.png
  1. اولین کار استخراج تقاطع های جاده ای است. این را می توان با استفاده از ابزار داخلی Line intersections انجام داد. بیایید ابتدا آن را روی یک زیر مجموعه کوچک آزمایش کنیم تا ببینیم آیا نتایج رضایت بخش هستند یا خیر. لایه roads را انتخاب کنید و از ابزار Select features by Area برای رسم مستطیل و انتخاب چند جاده استفاده کنید.
../../_images/image2.png
  1. Processing Toolbox را باز کنید و الگوریتم Vector overlay ‣ Line intersections را پیدا کنید . برای باز کردن آن دوبار کلیک کنید.
../../_images/image3.png
  1. لایه ورودی و لایه Intersect راchennai_roads انتخاب کنید . مطمئن شوید که فقط ویژگی های انتخاب شده را بررسی کنید . روی Run کلیک کنید .
../../_images/image4.png
  1. یک لایه جدید Intersectionsاضافه خواهد شد. متوجه خواهید شد که در حالی که اکثر نقاط تقاطع صحیح هستند، برخی از موارد مثبت کاذب وجود دارد. این به این دلیل است که الگوریتم تقاطع های هر پاره خط را به عنوان یک تقاطع معتبر در نظر می گیرد. اما برای تجزیه و تحلیل ما باید فقط تقاطع هایی را که ۲ یا چند خیابان قطع می کنند استخراج کنیم.
../../_images/image5.png
  1. لایه Intersections را بردارید و روی دکمه Deselect features from all layers کلیک کنید تا انتخاب حذف شود. اکنون تمام بخش‌های جاده مجاور را ادغام می‌کنیم، بنابراین بخش‌های بین تقاطع‌ها در یک ویژگی واحد ادغام می‌شوند. جعبه ابزار پردازش را باز کنید و الگوریتم Vector geometry ‣ Dissolve را پیدا کنید . برای باز کردن آن دوبار کلیک کنید.
../../_images/image6.png
  1. chennai_roadsبه عنوان لایه ورودی انتخاب کنید . نام لایه خروجی Dissolved را به صورت وارد کنید roads_dissolved.gpkg. روی Run کلیک کنید .
../../_images/image7.png
  1. لایه حاصل roads_dissolvedهمه بخش های جاده را در یک ویژگی واحد ادغام کرده است.
../../_images/image8.png
  1. سپس، جعبه ابزار پردازش را باز کنید و الگوریتم هندسه برداری ‣ چند بخشی به تک قسمت را پیدا کنید . برای باز کردن آن دوبار کلیک کنید. roads_dissolvedلایه را به عنوان لایه ورودی انتخاب کنید . roads_singleparts.gpkgبه عنوان خروجی Single Parts وارد کنید . روی Run کلیک کنید .
../../_images/image9.png
  1. لایه به دست آمده roads_singlepartsدارای تمام بخش های مجاور ادغام شده و لایه های roads_dissolvedو حذف می شود chennai_roads. اکنون جعبه ابزار پردازش را باز کنید و الگوریتم Vector overlay ‣ Line intersections را پیدا کنید . برای راه اندازی آن دوبار کلیک کنید.
../../_images/image10.png
  1. roads_singlepartsهم به عنوان لایه ورودی و هم لایه Intersect را انتخاب کنید . لایه خروجی Intersections را به عنوان نامگذاری کنید roads_line_intersections.gpkg. روی Run کلیک کنید.
../../_images/image11.png

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

این یک عملیات محاسباتی فشرده است و بسته به ظرفیت پردازش رایانه شما ممکن است زمان زیادی طول بکشد.

  1. اکنون لایه حاصل roads_line_intersectionsهمه تقاطع ها را به درستی شناسایی کرده است. اما هنوز کامل نیست. از ابزار Select features by Area استفاده کنید و هر تقاطع را انتخاب کنید. خواهید دید که در هر تقاطع چند نقطه تکراری از بخش های مجاور وجود دارد. اگر از این لایه برای تحلیل بیشتر استفاده کنیم، تعداد تقاطع های متورم ایجاد می شود. بیایید موارد تکراری را حذف کنیم، جعبه ابزار پردازش را باز کنیم و الگوریتم Vector general ‣ Delete duplicate geometries را پیدا کنیم . roads_line_intersectionsبه عنوان لایه ورودی انتخاب کنید و road_intersections.gpkgبه عنوان لایه خروجی Cleaned وارد کنید . روی Run کلیک کنید .
../../_images/image12.png
  1. لایه جدید road_intersectionsدارای تعداد صحیح تقاطع های جاده است که از لایه منبع استخراج شده است. روی لایه قدیمی کلیک راست کرده road_line_intersectionsو حذف لایه را انتخاب کنید تا حذف شود.
../../_images/image13.png
  1. اکنون چگالی نقاط را با قرار دادن یک شبکه منظم و شمارش نقاط در هر چند ضلعی شبکه محاسبه می کنیم. ما باید داده ها را دوباره به یک CRS پیش بینی شده بازتاب دهیم تا بتوانیم از واحدهای اندازه گیری خطی استفاده کنیم. ما می توانیم از یک CRS مناسب بر اساس منطقه UTM که شهر در آن قرار دارد استفاده کنیم. می توانید نقشه UTM Grid Zones of the World را ببینید تا منطقه UTM را برای شهر خود تعیین کنید. چنای در منطقه UTM ۴۴N می افتد . جعبه ابزار پردازش را باز کنید و الگوریتم Vector general ‣ Reproject را پیدا کنید . دوبار کلیک کنید تا باز شود.
../../_images/image14.png
  1. road_intersectionsبه عنوان لایه ورودی انتخاب کنید . با کلیک کردن روی نماد کره در کنار Target CRS جستجو کنید و را انتخاب کنید . این یک CRS بر اساس داده WGS84 برای UTM Zone 44N است . لایه خروجی Reprojected را به صورت وارد کنید . روی Run کلیک کنید .EPSG:32644 - WGS ۸۴ / UTM zone ۴۴Nroad_intersections_reprojected.gpkg
../../_images/image15.png
  1. پس از اتمام پردازش و road_intersections_reprojectedاضافه شدن لایه، کلیک راست کرده و Layer CRS ‣ Set ​​‎Project CRS from Layer را انتخاب کنید . و road_intersectionsلایه را بردارید.
../../_images/image16.png
  1. Project CRS در سمت راست پایین پنجره به روز می شود. هدف از این مرحله اطمینان از نمایش تمام لایه ها در CRS لایه جدید است. ما اکنون آماده هستیم تا با استفاده از به عنوان مرجع شبکه را ایجاد کنیم road_intersections_reprojected. جعبه ابزار پردازش را باز کنید و مکان ایجاد Vector ‣ ایجاد الگوریتم شبکه را پیدا کنید. دوبار کلیک کنید تا باز شود.
../../_images/image17.png
  1. نوع شبکه را به عنوان مستطیل (چند ضلعی) انتخاب کنید . روی ...دکمه در وسعت شبکه کلیک کنید و Calculate from Layer ‣ road_intersections_reprojected را انتخاب کنید .
../../_images/image18.png
  1. پروژه CRS را به عنوان Grid CRS انتخاب کنید. ما می‌خواهیم شبکه‌ای به ابعاد ۱ کیلومتر در ۱ کیلومتر ایجاد کنیم، بنابراین فاصله افقی و فاصله عمودی را به عنوان ۱۰۰۰متر تنظیم کنید. لایه خروجی Grid را به عنوان ذخیره کنید grid.gpkg. روی Run کلیک کنید .
../../_images/image19.png
  1. لایه gridحاوی چند ضلعی های شبکه مستطیلی ایجاد می شود. اکنون می‌توانیم تعداد نقاط هر چند ضلعی را بشماریم، اما از آنجایی که لایه‌های ما بزرگ هستند، این فرآیند می‌تواند زمان زیادی طول بکشد. یکی از راه های افزایش سرعت عملیات فضایی استفاده از یک شاخص فضایی است . جعبه ابزار پردازش را باز کنید و Vector general ‣ ایجاد الگوریتم فضایی شاخص را پیدا کنید . دوبار کلیک کنید تا باز شود.
../../_images/image20.png
  1. لایه را انتخاب کنید gridو روی Run کلیک کنید ، اکنون لایه دارای یک شاخص فضایی است که می تواند عملکرد محاسبات را با این لایه افزایش دهد.
../../_images/image21.png
  1. جعبه ابزار پردازش را باز کنید و تجزیه و تحلیل برداری ‣ شمارش نقاط در الگوریتم چند ضلعی را پیدا کنید.
../../_images/image22.png
  1. gridبه عنوان لایه Polygon و road_intersections_reprojectedبه عنوان لایه Points را انتخاب کنید . لایه خروجی Count را به عنوان ذخیره کنید grid_count.gpkg. روی Run کلیک کنید .
../../_images/image23.png
  1. لایه حاصل grid_countدارای یک ویژگی NUMPOINTS خواهد بود که شامل تعداد نقاط تقاطع در هر شبکه است. شبکه های زیادی با ۰ امتیاز وجود دارد. این به تجزیه و تحلیل و تجسم ما کمک می کند تا چند ضلعی های شبکه ای را که فاقد تقاطع هستند حذف کنیم. جعبه ابزار پردازش را باز کنید و گزینه Vector انتخاب ‣ Extract by ویژگی الگوریتم را پیدا کنید.
../../_images/image24.png
  1. grid_countبه عنوان لایه ورودی انتخاب کنید ، سپس NUMPOINTSدر ویژگی Selection ، >در Operator انتخاب کنید و ۰به عنوان مقدار وارد کنید . لایه خروجی Extracted (ویژگی) را به صورت ذخیره کنید grid_counts_chennai.gpkg. روی Run کلیک کنید .
../../_images/image25.png
  1. لایه حاصل grid_counts_chennaiدارای چند ضلعی های شبکه ای بر روی شهر چنای خواهد بود و تعداد تقاطع های جاده را به عنوان یک ویژگی برای هر چند ضلعی در بر می گیرد. تمام لایه ها را به جز grid_counts_chennai.
../../_images/image26.png
  1. بیایید جدول ویژگی لایه داده خود را تمیز کنیم. روش ترجیحی برای ایجاد هر گونه تغییر در جدول ویژگی، استفاده از یک الگوریتم پردازش به نام Refactor Fields، باز کردن جعبه ابزار پردازش و یافتن مکان جدول برداری ‣ الگوریتم Refactor Fields است. برای باز کردن آن دوبار کلیک کنید. روی هر ردیفی در قسمت Field Mapping کلیک کنید تا آن را انتخاب کنید. می توانید Shiftکلید را برای انتخاب چندین ردیف نگه دارید، همه فیلدها به جز fid و NUMPOINTS را انتخاب کنید . روی دکمه حذف فیلدهای انتخاب شده کلیک کنید .
../../_images/image27.png
  1. نام فیلد NUMPOINTS را به عنوان تغییر دهید intersection_densityو لایه را به عنوان ذخیره کنید road_intersection_density.gpkg، روی Run کلیک کنید .
../../_images/image28.png
  1. بیایید این لایه را برای مشاهده چگالی هر شبکه استایل کنیم، road_intersection_densityلایه را انتخاب کرده و روی Open the Layer Styling Panel کلیک کنید . Graduated renderer را انتخاب کنید و در Values ​​Intersection Density را انتخاب کنید ، یک رمپ رنگ دلخواه، کلاس ها را روی آن تنظیم کنید ۷و روی Classify کلیک کنید .
../../_images/image29.png
  1. در مقادیر وارد کنید ۰-۵۰، و ۵۰-۱۰۰غیره ۱۰۰-۱۵۰تا . شما اکنون نقشه ای ایجاد کرده اید که تراکم تقاطع ها را در سراسر شهر نشان می دهد.۳۰۰ - ۳۵۰
../../_images/image30.png

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


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

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

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