افزونه‌ای متن‌باز برای محاسبه دقیق‌تر تراکم مکانی در مناطق مختلف

bioengineer.org

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

تصویر مرتبط با تحلیل تراکم مکانی

برآورد چگالی هسته‌ای (KDE) یکی از ابزارهای پرکاربرد و در عین حال کمتر شناخته‌شده در حوزه اطلاعات مکانی است. بوم‌شناسان از آن برای ترسیم محدوده زیست و جابه‌جایی حیوانات، تحلیلگران شهری برای شناسایی تمرکز هتل‌ها و پارک‌ها و جنگل‌بانان برای سنجش میزان قطعه‌قطعه‌شدن جنگل‌ها بر اثر شبکه‌های جاده‌ای استفاده می‌کنند. مبانی ریاضی این روش ساده و در عین حال دقیق است: تابع هسته، رخدادهای واقع در یک شعاع جست‌وجو را محاسبه می‌کند و با وزن‌دهی به آن‌ها بر اساس فاصله، از نقاط یا خطوط خام، سطحی هموار و پیوسته از شدت پراکندگی مکانی به دست می‌آورد. با این حال، در روش رایج اجرای این تحلیل، ایرادی روش‌شناختی وجود داشته که به‌تازگی یک افزونه متن‌باز برای QGIS با نام «تحلیل تراکم تکرارشونده» (Iterative Density Analysis) برای رفع خودکار آن ارائه شده است.

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

افزونه تحلیل تراکم تکرارشونده که میگل ایناسیو، لوئیس والنسیا-پینتو و پائولو پریرا در مجله SoftwareX معرفی کرده‌اند، برای رفع همین مشکل طراحی شده است. این افزونه با زبان پایتون و با استفاده از رابط برنامه‌نویسی پایتون QGIS، موسوم به PyQGIS، توسعه یافته و هر چندضلعی در لایه مرزها را یک واحد مستقل برای تحلیل در نظر می‌گیرد. افزونه برای هر چندضلعی، هندسه آن را استخراج می‌کند، عوارض ورودی را به مرز همان منطقه محدود می‌سازد، شعاع جست‌وجو را تخمین می‌زند یا مقدار تعیین‌شده را به کار می‌گیرد، رستر KDE را محاسبه می‌کند و خروجی را با مرز چندضلعی تطبیق می‌دهد. سپس نقشه‌های میانی در پوشه‌ای که کاربر مشخص کرده ذخیره می‌شوند و در پایان، بدون نیاز به نوشتن حتی یک خط کد از سوی کاربر، در قالب موزاییکی یکپارچه به هم می‌پیوندند.

یکی از تصمیم‌های مهم در طراحی این افزونه، اتکا به الگوریتم‌های پردازشی داخلی QGIS برای برش عوارض، رستری‌سازی و ادغام نقشه‌ها بوده است. این رویکرد نیاز به وابستگی‌های خارجی مانند SciPy را از بین می‌برد؛ وابستگی‌هایی که گاهی به‌دلیل ناسازگاری نسخه‌ها مشکل ایجاد می‌کنند. افزون بر این، افزونه مستقیماً از اصلاحات و بهبودهای نرم‌افزار QGIS بهره‌مند می‌شود. توسعه‌دهندگان آن را در نسخه‌های 3.34 LTR و 3.40 نرم‌افزار QGIS روی ویندوز ۱۱ و macOS آزمایش کرده‌اند. از آنجا که افزونه فقط از الگوریتم‌های داخلی QGIS استفاده می‌کند، انتظار می‌رود روی تمام سیستم‌عامل‌های پشتیبانی‌شده در نسخه 3.x، از جمله لینوکس، نیز اجرا شود. این ابزار با مجوز عمومی همگانی گنو نسخه ۳.۰ (GNU GPL v3.0) از طریق گیت‌هاب و مخزن رسمی افزونه‌های QGIS منتشر شده است.

بخش اصلی خودکارسازی بر قاعده سرانگشتی سیلورمن (Silverman’s rule of thumb) متکی است؛ فرمولی آماری و شناخته‌شده که پهنای باند بهینه را بر اساس اندازه نمونه و میزان پراکندگی داده‌ها تخمین می‌زند. نرم‌افزار ArcGIS Pro این قاعده را به‌صورت خودکار اعمال می‌کند، اما محاسبات آن را بر اساس گستره کلی داده‌ها انجام می‌دهد؛ همان ایرادی که ابزار جدید برای رفع آن طراحی شده است. در مقابل، افزونه از شکل دوبعدی این قاعده استفاده می‌کند و پهنای باند را برای عوارضی که در محدوده هر چندضلعی قرار دارند، به‌طور مستقل محاسبه می‌کند. رابطه مورد استفاده به‌صورت h = 0.9 × σ × n⁻¹ᐟ⁵ است که در آن، σ برآورد انحراف معیار و n تعداد عوارض است. میزان پراکندگی با استفاده از انحراف معیار یا دامنه بین چارکی اندازه‌گیری می‌شود و پس از مقیاس‌بندی، مقدار کوچک‌تر مبنا قرار می‌گیرد. اگر یک منطقه کمتر از دو عارضه داشته باشد، افزونه به‌جای آن از پهنای باندی معادل سه برابر اندازه سلول خروجی استفاده می‌کند. این مقدار جایگزین، هرچند کوچک است، انتخابی معقول محسوب می‌شود؛ زیرا متناسب با تفکیک‌پذیری خروجی تغییر می‌کند و اجازه نمی‌دهد محاسبه به‌دلیل ناکافی‌بودن داده‌ها تعریف‌نشده باقی بماند.

عوارض خطی به روش ویژه‌ای پردازش می‌شوند. از آنجا که روش استاندارد KDE عمدتاً برای داده‌های نقطه‌ای طراحی شده است، افزونه پیش از محاسبه تراکم، خطوطی مانند شبکه جاده‌ها یا مسیرهای پیاده‌روی را به نقاطی با فاصله منظم تبدیل می‌کند. برای این کار، نقاط نمونه‌برداری در امتداد هر خط با فاصله‌ای معادل یک‌پنجم اندازه سلول تولید می‌شوند تا فاصله میان نقاط از اندازه شبکه رستری خروجی کمتر باشد. در شبکه‌های بسیار متراکم، افزونه به‌طور خودکار فاصله نمونه‌برداری را افزایش می‌دهد تا زمان اجرا و مصرف حافظه در حد قابل مدیریت باقی بماند. این روش باعث می‌شود نتایج تراکم خطوط مستقیماً با نتایج تراکم نقاط قابل مقایسه باشند؛ سازگاری‌ای که الگوریتم‌های اختصاصی محاسبه تراکم خطوط همیشه تضمین نمی‌کنند.

رابط گرافیکی افزونه کاربران را طی ۹ مرحله روشن و ساده راهنمایی می‌کند؛ از انتخاب نوع عوارض و لایه مرزی گرفته تا تعیین اندازه سلول، واحدهای مساحت، شعاع جست‌وجو و مسیر ذخیره خروجی‌ها. پنجره پیشرفت، وضعیت محاسبات مربوط به هر چندضلعی را نمایش می‌دهد و در پایان، گزارش دقیقی صادر می‌شود که شناسه هر چندضلعی، تعداد عوارض، پهنای باند محاسبه‌شده با قاعده سیلورمن و آمارهای خلاصه، از جمله میانگین و میانه مقادیر در تمام مناطق، را ثبت می‌کند. این گزارش صرفاً برای ثبت روند اجرا نیست؛ بلکه امکان انجام نوع دومی از تحلیل مقایسه‌ای را نیز فراهم می‌کند. در این حالت، کاربر میانگین یا میانه مقادیر سیلورمن در تمام چندضلعی‌ها را انتخاب می‌کند و تحلیل را دوباره با همان مقدار ثابت و مبتنی بر داده‌ها در همه مناطق اجرا می‌کند.

نمونه‌ای که در مقاله ارائه شده، گویای عملکرد این ابزار است. پژوهشگران ۱۰۳ محدوده اداری در لیتوانی را با استفاده از ۳۸٬۰۵۸ نقطه مربوط به زیرساخت‌های گردشگری استخراج‌شده از OpenStreetMap پردازش کردند. اندازه سلول رستر در این آزمایش ۱۰ متر بود. کل فرایند با افزونه روی یک دستگاه MacBook Pro مجهز به تراشه Apple M2 Max در ۸۰ ثانیه به پایان رسید. در مقابل، روش متداول که ابتدا KDE را بر اساس گستره کلی داده‌ها محاسبه و سپس خروجی را برش می‌دهد، در نرم‌افزار ArcGIS Pro و روی همان سخت‌افزار ۱۸۲ ثانیه زمان برد. اجرای کاملاً دستی تحلیل برای تک‌تک مناطق نیز، بر اساس برآوردی که از بزرگ‌ترین شهرداری به دست آمد، حدود ۵۱٫۵ دقیقه از وقت کاربر را می‌گرفت. تفاوت فقط به سرعت پردازش محدود نمی‌شود؛ نقشه‌های حاصل نیز به‌طور چشمگیری با یکدیگر تفاوت دارند. در محدوده شهرداری ویلنیوس، بیشینه تراکم در روش مبتنی بر پهنای باند محلی به حدود ۱۹۰ نقطه در هر کیلومتر مربع رسید، در حالی که این مقدار در خروجی برش‌خورده روش مبتنی بر گستره کلی تنها حدود ۶۰ نقطه بود؛ با وجود آنکه هر دو روش از مجموعه نقاط ورودی یکسانی استفاده کردند.

چرا این تفاوت تا این اندازه اهمیت دارد؟ پهنای باندی که از داده‌های کل کشور تخمین زده می‌شود، تراکم را در فواصل مکانی بسیار گسترده هموار می‌کند و در نتیجه، قله‌های محلی و مشخصی را که برای برنامه‌ریزان شهری و مدیران محیط‌زیست اهمیت دارند، از بین می‌برد یا کاهش می‌دهد. سطوح تراکمی که افزونه با تنظیم مستقل پارامترها برای هر منطقه تولید می‌کند، همچنین برای استفاده در روش‌های تحلیلی بعدی، مانند رگرسیون وزنی جغرافیایی (Geographically Weighted Regression)، مناسب‌تر هستند. در این روش رگرسیونی، استفاده از تراکمی که ابتدا در مقیاس کلی هموار شده و سپس به محدوده‌های محلی برش خورده باشد، می‌تواند مقادیر محلی را تحریف کند و در پی آن، ضرایب رگرسیون را نیز تغییر دهد. نویسندگان، افزون بر کاربردهای رگرسیونی، به حوزه‌هایی مانند نقشه‌برداری خدمات اکوسیستمی، ارزیابی خطر و میزان مواجهه، تحلیل نقاط داغ و هم‌پوشانی لایه‌های تناسب مکانی اشاره می‌کنند؛ یعنی هر جایی که لازم است شدت پراکندگی نقاط یا خطوط به تفکیک مناطق مختلف توصیف شود.

البته نویسندگان به محدودیت‌های این افزونه نیز صریحاً اشاره کرده‌اند. این ابزار چندضلعی‌ها را به‌صورت متوالی و نه موازی پردازش می‌کند؛ موضوعی که در صورت وجود صدها منطقه و استفاده از تفکیک‌پذیری بالا، می‌تواند زمان اجرا و فضای موردنیاز روی دیسک را افزایش دهد. قاعده سیلورمن در چندضلعی‌هایی که عوارض بسیار کمی دارند، دقت و قابلیت اتکای کمتری دارد، هرچند گزارش خروجی این موارد را مشخص می‌کند. همچنین، تبدیل خطوط به نقاط نتایجی کاملاً یکسان با الگوریتم‌های اختصاصی تراکم خطوط تولید نمی‌کند. از سوی دیگر، محدودکردن عوارض به داخل مرز هر چندضلعی باعث می‌شود عوارضی که درست بیرون از مرز قرار دارند و در روش استاندارد KDE می‌توانند در محاسبه چگالی سهم داشته باشند، کنار گذاشته شوند؛ مسئله‌ای که ممکن است در لبه‌های مناطق ناپیوستگی ایجاد کند. در حال حاضر، افزونه فقط از هسته کوارتیک پشتیبانی می‌کند. توسعه‌دهندگان اعلام کرده‌اند که در ادامه، هسته‌های جایگزین، روش‌های دیگر تخمین پهنای باند، اعتبارسنجی در لینوکس و محاسبه بومی تراکم خطوط را بررسی خواهند کرد. با وجود این محدودیت‌ها، دستاورد اصلی ابزار پابرجاست: یک فرایند رایگان، شفاف و یک‌کلیکی که تراکم را با رویکردی از نظر آماری صحیح و به‌صورت مستقل برای هر منطقه محاسبه می‌کند؛ کاری که پیش از این در مقیاس بزرگ، اجرای آن به‌صورت عملی دشوار بود.

موضوع پژوهش: محاسبه خودکار چگالی هسته‌ای برای هر چندضلعی با استفاده از قاعده سیلورمن در یک افزونه متن‌باز جدید برای QGIS

عنوان مقاله: محاسبه خودکار چگالی هسته‌ای در چندین چندضلعی: افزونه تحلیل تراکم تکرارشونده برای QGIS

منبع مقاله: Inácio, M., Valença-Pinto, L., & Pereira, P. (2026). Automated kernel density estimation across multiple polygons: the iterative density analysis QGIS plugin. SoftwareX, 36، مقاله 103145. https://doi.org/10.1016/j.softx.2026.103145

شناسه دیجیتال مقاله (DOI): 10.1016/j.softx.2026.103145

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