ایجاد نقشه های حرارتی

هشدار

این آموزش در حال حاضر منسوخ شده است. نسخه جدید و به روز شده در Creating Heatmaps (QGIS3) موجود است

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

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

ما با مجموعه داده ای از مکان های جرم و جنایت در ساری، انگلستان برای سال 2011 کار خواهیم کرد و نقاط داغ جرم و جنایت را در این شهرستان پیدا خواهیم کرد.

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

  • نحوه انجام تجزیه و تحلیل HotSpot یا Cluster بر روی داده های نقطه متراکم.

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

data.police.uk <https://data.police.uk>`_ جرایم سطح خیابان، نتایج و داده های توقف و جستجو را در قالب CSV ساده ارائه می دهد.

داده ها را برای «Surrey Police <https://data.police.uk/data/>`_ دانلود کنید و بایگانی دانلود شده را از حالت فشرده خارج کنید تا فایل CSV استخراج شود.

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

2015-08-surrey-street.csv

منبع داده [POLICEUK]

روش

  1. برای شروع، فایل CSV را به QGIS وارد می کنیم. (برای جزئیات بیشتر به وارد کردن صفحات گسترده یا فایل‌های CSV مراجعه کنید). روی :menuselection:`Layer --> Add Limited Text Layer کلیک کنید.

../_images/1174.png
  1. فایل «2015-08-surrey-street.csv» را در رایانه خود مرور کنید و آن را باز کنید. (اگر یک نسخه جدید از مجموعه داده را دانلود کرده باشید، نام فایل شما ممکن است متفاوت باشد). CSV (مقادیر جدا شده با کاما) را به عنوان فرمت فایل انتخاب کنید. ستون‌های «طول جغرافیایی» و «طول جغرافیایی» را خواهید دید که به‌طور خودکار به‌عنوان فیلدهای X و Y انتخاب می‌شوند. مطمئن شوید که گزینه :guilabel: Use Spatial index را علامت بزنید زیرا این کار باعث افزایش سرعت عملیات شما در این لایه می شود. روی OK کلیک کنید.

../_images/2143.png
  1. ممکن است برخی از خطاها را مشاهده کنید. برای هدف این آموزش ها می توانید آن ها را نادیده بگیرید. روی :guilabel:'Close' کلیک کنید.

../_images/385.png
  1. همانطور که لایه داده در QGIS بارگذاری می شود، یک گفتگوی هشدار را مشاهده خواهید کرد: guilabel:CRS تعریف نشده بود: به طور پیش فرض CRS EPSG:4326 - WGS84. اگر مختصات شما در طول و عرض جغرافیایی باشد، واردکننده CSV، CRS EPSG:4326 را در نظر می گیرد. اگر مختصات X و Y شما در یک CRS پیش‌بینی‌شده بود، دیالوگی دریافت می‌کنید که از شما می‌خواهد CRS را انتخاب کنید. از آنجایی که داده های ما در EPSG:4326 هستند، می توانید هشدار را نادیده بگیرید.

توجه

اگر نیاز به تغییر CRS اختصاص داده شده به صورت خودکار دارید، می توانید از Vector ‣ Data Management Tols ‣ Define Current Projection... استفاده کنید.

../_images/452.png
  1. برای مشاهده بهتر داده ها، کمی نزدیکتر بزرگنمایی کنید. متوجه خواهید شد که داده ها بسیار متراکم هستند و به سختی می توان تصور کرد که در کجا غلظت بالایی از نقاط وجود دارد. اینجاست که یک نقشه حرارتی به کار خواهد آمد.

../_images/545.png
  1. اگر نیاز به ایجاد یک نقشه حرارتی برای اهداف صرفاً بصری یا برای چاپ دارید - QGIS یک رندر نمادین داخلی به نام Heatmap دارد. بیایید ابتدا آن را امتحان کنیم. روی لایه «2015-08-surrey-street» کلیک راست کرده و :guilabel:«Properties» را انتخاب کنید.

../_images/643.png
  1. در گفتگوی :guilabel: Properties به برگه Style بروید. :guilabel:`Heatmap را به عنوان رندر انتخاب کنید. شما انتخاب های زیادی از رمپ های رنگی برای نقشه حرارتی دارید. رمپ رنگ «نارنجی» را انتخاب کنید. سایر پارامترها را به حالت پیش فرض رها کرده و روی OK کلیک کنید.

../_images/743.png
  1. شما یک نقشه حرارتی خوب از داده ها و جیب های حرارت خود را در جایی که غلظت بالایی از جرم وجود دارد، مشاهده خواهید کرد. چندین گزینه در رندرگر نقشه حرارتی برای ایجاد مناسب ترین تجسم برای مجموعه داده شما وجود دارد. اگر فقط می خواستید یک نقشه حرارتی برای چاپ یا بازرسی بصری ایجاد کنید - کار شما تمام شده است! اما ما یک گزینه قدرتمندتر ایجاد Heatmap را بررسی خواهیم کرد که در آن می توانید از نتایج در تجزیه و تحلیل خود نیز استفاده کنید.

../_images/842.png
  1. یک افزونه اصلی به نام «Heatmap» را فعال کنید. برای اطلاع از نحوه فعال کردن افزونه‌های داخلی به using_plugins مراجعه کنید. هنگامی که افزونه را فعال کردید، به :menuselection:`Raster --> Heatmap --> Heatmap بروید.

../_images/943.png
  1. در گفتگوی Hatmap Plugin، "crime_heatmap" را به عنوان نام از :guilabel:"Output Raster" انتخاب کنید. '1000' متر را به عنوان :guilabel:'Radius' وارد کنید. شعاع ناحیه اطراف هر نقطه است که برای محاسبه i`heat` یک پیکسل دریافت می شود. Advanced را بررسی کنید تا بتوانیم اندازه خروجی Heatmap خود را مشخص کنیم. "2000" را به عنوان مقدار :guilabel:"ردیف" وارد کنید. مقدار :guilabel:`Columns به طور خودکار به روز می شود. برای شروع فرآیند ایجاد نقشه حرارتی روی :guilabel:`OK کلیک کنید.

../_images/1050.png
  1. هنگامی که پردازش به پایان رسید، یک لایه خاکستری به نام "جنایت_هیت مپ" را خواهید دید که در بوم بارگذاری شده است. علامت لایه «2015-08-surrey-street» را بردارید.

../_images/1175.png
  1. بیایید نقشه حرارتی خود را بیشتر شبیه نقشه حرارتی سنتی شبیه به تجسم قبلی کنیم. روی لایه Heatmap کلیک راست کرده و روی Properties کلیک کنید.

../_images/1252.png
  1. در برگه Style Singleband pseudocolor را به عنوان نوع رندر انتخاب کنید. سپس، در بخش :guilabel:'Load min/max values'، :guilabel:'Estimate (faster)' را به عنوان :guilabel:'Accuracy' انتخاب کنید و روی :guilabel:'Load' کلیک کنید. با این کار نقشه حرارتی اسکن می شود و مقادیر حداقل و حداکثر پیکسل را پیدا می کند. از این مقادیر برای ایجاد یک رمپ رنگ مناسب استفاده می شود. در بخش :guilabel:`Generate new color map YlOrRd (زرد-نارنجی-قرمز) را به عنوان رمپ رنگ انتخاب کنید و روی Classify کلیک کنید. روی :guilabel:`OK کلیک کنید.

../_images/1350.png
  1. اکنون یک رندر شبیه به Heatmap جذاب‌تر از لایه را خواهید دید. می‌توانید ابزار :guilabel:`Identify را انتخاب کنید و روی هر پیکسل از نقشه حرارتی کلیک کنید. مقدار پیکسل را در پنجره بازشو مشاهده خواهید کرد. این مقدار پیکسل معیاری است از اینکه چند نقطه از لایه منبع در شعاع مشخص شده (در مورد ما - 1000 متر) در اطراف پیکسل قرار دارد.

../_images/1447.png
  1. اکنون شما لایه نقشه حرارتی خود را دارید که می تواند برای استفاده در آینده ذخیره شود. بسیاری از اوقات، شما می خواهید نقاطی را شناسایی کنید که در آن نقاط تمرکز بالایی وجود دارد. اکنون سعی خواهیم کرد با استفاده از این نقشه حرارتی، چنین نقاط مهمی را شناسایی کنیم. به Raster ‣ Raster Calculator بروید.

../_images/1543.png
  1. ابتدا باید در مورد مقدار آستانه تصمیم بگیرید. همه مقادیر پیکسل بالاتر از این آستانه در یک خوشه در نظر گرفته می شوند. بیایید از مقدار 10 برای این داده استفاده کنیم. در گفتگوی :guilabel:` ماشین حساب شطرنجی، لایه خروجی را به عنوان "جنایت_هات_بردار" نام گذاری کنید. روی "crime_heatmap@1" در زیر بخش :guilabel:"Raster bands" دوبار کلیک کنید و به قسمت متنی :guilabel:"Raster calculator expression" اضافه می شود. عبارت را مطابق شکل زیر کامل کنید. کادر کنار :guilabel:'Add result to project' و :guilabel:'OK' را علامت بزنید.

"crime_heatmap@1" > 10
../_images/1641.png
  1. یک لایه جدید به نام "جنایت_هات‌اسپات" به QGIS اضافه خواهد شد. این لایه دارای پیکسل هایی با مقادیر 0 یا 1 است. همه پیکسل های لایه ورودی که در آن مقدار پیکسل بزرگتر از 10 است، اکنون مقدار 1 دارند و همه پیکسل های رمیان 0 هستند. روی Raster کلیک کنید. ‣ تبدیل ‣ Polygonize (Raster به Vector).

../_images/1739.png
  1. نام فایل خروجی را به عنوان "جنایت_هات_بردار"" بگذارید. کادر کنار :guilabel:«نام فیلد» و همچنین :guilabel:«وقتی تمام شد در بوم بارگذاری شود» را علامت بزنید. روی OK کلیک کنید.

../_images/1836.png
  1. پس از اتمام تبدیل، یک لایه دیگر به نام "crime_hotspots_vector" به QGIS اضافه می شود. این نمایش برداری از خوشه هایی است که در مرحله قبل ایجاد شده اند. لایه ها شامل خوشه هایی با هر دو مقدار 0 و 1 هستند. بیایید مقادیر 0 را فیلتر کنیم، بنابراین خوشه های هات اسپات را دریافت می کنیم. روی لایه کلیک راست کرده و :guilabel:'Open Attribute Table' را انتخاب کنید.

../_images/1927.png
  1. در :guilabel:`جدول ویژگی ها، روی :guilabel:`انتخاب ویژگی با استفاده از عبارت کلیک کنید.

../_images/2023.png
  1. عبارت را مانند شکل زیر وارد کنید و روی Select کلیک کنید. بعد روی Close کلیک کنید.

"DN" = 0
../_images/2144.png
  1. در پنجره اصلی جدول ویژگی ها، برخی از ویژگی ها را می بینید که برجسته شده اند. اینها ویژگی هایی هستند که با درخواست ما مطابقت دارند. روی دکمه :guilabel:'Toggle editing mode' در نوار ابزار کلیک کنید و سپس روی دکمه :guilabel:'Delete Selected features (DEL)' کلیک کنید.

../_images/2225.png
  1. پس از حذف ویژگی‌های انتخاب‌شده، روی دکمه :guilabel:«ذخیره ویرایش‌ها» و سپس دوباره :guilabel:«Toggle editing mode» کلیک کنید تا لایه در حالت فقط خواندنی قرار گیرد. پنجره صفت جدول را ببندید.

../_images/2322.png
  1. پس از حذف ویژگی‌های انتخاب‌شده، روی دکمه :guilabel:«ذخیره ویرایش‌ها» و سپس دوباره :guilabel:«Toggle editing mode» کلیک کنید تا لایه‌ای را در حالت خواندن فقط قرار دهید. پنجره صفت جدول را ببندید.

../_images/2422.png

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