استفاده از داده‌های OSM در QGIS

QGIS (که قبلاْ کوانتوم GIS نامیده میشد) یک سیستم اطلاعات جفرافیایی کامل و متن‌باز و بین پلتفرمی با ویژگی‌های بسیار است. با QGIS هرزمان که بخواهید می‌توانید به داده‌های OSM دسترسی داشته باشید، مشخص کنید که کدام تگ‌ها را درنظر بگیرد و به راحتی از آنها به صورت یک پایگاه داده SQLite جمع و جور یا Shapefile خروجی بگیرید.

در این بخش ما کارهایی که لازم است تا اینها صورت پذیرد را نشان میدهیم. فرض می‌کنیم که شما قبلاً QGIS 2.x را دانلود و نصب کرده‌اید. اگر اینطور نیست می‌توانید آنرا از http://www.qgis.org/en/site/forusers/download.html دانلود کنید.

برای داشتن لایه‌های کاملاً به روز و مورد نظر ما در QGIS ابتدا آخرین داده‌های OSM را به صورت خام و قالب .osm دریافت می‌کنیم. سپس، آنها را به شکل پایگاه داده SQLite نبدیل می‌کنیم که یک سیستم پایگاه داده سبک است که در یک فایل روی سیستم شما نگهداری می‌شود. در آخر، لایه‌(یا چند لایه)ای را ایجاد می‌کنیم که شامل تنها نوع خصوصیت و تگی است که ما می‌خواهیم به آن دسترسی داشته باشیم. این لایه‌ها را می‌توان در QGIS به همان صورت و یا به صورت قالب دیگری مانند shapefile ذخیره کرد.

دستیابی به داده‌های OSM

اولین چیزی که بایست انجام بدیم این است که داده‌های به‌روز OSM را بگیریم. این کار را به چندین روش می‌توان انجام داد. مسلم است که تقاضای داده از سرور OSM مانند آنچه که در JOSM انجام می‌دهیم، محدود میباشد و ما نمی‌توانیم مقدار زیادی از داده را یکجا دریافت کنیم - بهرحال همانطور که در فصلهای پیشین در دریافت داده‌های OSM و استفاده از Geofabrik و خروجی HOT توضیح داده شده روشهای زیادی برای دریافت مجموعه داده‌های بزرگ وجود دارد.

در این راهنما از تابع درونزاد دانلود خود QGIS استفاده می‌کنیم.

QGIS را باز کنید به Vector -> OpenStreetMap -> Download Data... بروید در اینجا از چندین انتخاب پیش رو می‌توانید یکی را انتخاب کنید - اگر پنجره شما قبلاً محدوده‌ای که شما می‌خواهید را نشان می‌دهد چک باکس کنار "From map canvas" را علامت بزنید. چنانچه لایه صحیحی در QGIS بارگزاری شده است "From layer" را علامت بزنید و لایه‌ای که می‌خواهید استفاده کنید را انتخاب کنید. ما در اینجا "Manual" را انتخاب می‌کنیم و طول و عرض جغرافیایی که کادر محدوده اطراف منطقه‌ای را که می‌خواهیم دسترسی داشته باشیم وارد می‌کنیم. می‌توانید طول و عرض جغرافیایی محل مورد علاقه خود را وارد کنید اما به یاد داشته باشید که محدوده نمی‌تواند خیلی بزرگ باشد و نمی‌توانید همه داده‌ها را دانلود کنید.

کادر محدوده

یک نام و محل برای فایل خروجی انتخاب کنید و OK را بزنید، پسوند فایل .osm خواهد بود. اگر دانلود کامل شود به شما اعلام می‌شود. "Close" را بزنید تا از کادر محاوره‌ای دانلود خارج شوید.

دانلود کامل شد

حالا داده‌های OSM در محلی که انتخاب کرده‌اید ذخیره شده است.

این روش دستیابی به داده‌های OSM شبیه آن چیزی است که در JOSM و یا خود سایت openstreetmap.org از آن استفاده می‌شود. برای داده‌های بزرگتر و به روزتر، می‌توانید از سایت خروجی HOT و یا

bbbike.org استفاده کنید. به یاد داشته باشید که چنانچه فایل فشرده OSM را دانلود کنید ابتدا باید آنرا از حالت فشرده خارج و به قالب .osm تبدیل کنید تا بتوانید سایر مراحل را انجام دهید.

وارد کردن داده‌ها به SQLite

حالا ما باید فایل خام .osmمان را به پایگاه داده SQLite وارد کنیم.

به Vector -> OpenStreetMap -> Import Topology from XML بروید در اولین مرحله، فایل .osmتان را انتخاب کنید. اگر می‌خواهید می‌توانید نام پایگاه خروجی را تغییر دهید. علامت مربع کنار "Create Connection..." را دست نزنید

وارد کردن داده‌ها

OK را کلیک کنید. پس از اتمام کار "Close" را بزنید.

ایجاد لایه‌ها

دست آخر لایه‌هایی را که در QGIS استفاده خواهد شد بر اساس نیازهایمان تعریف می‌کنیم.

به Vector -> OpenStreetMap -> Export Topology to SpatiaLite بروید در اولین مرحله، پایگاه داده‌ای که در مرحله قبل ایجاد کرده بودید را انتخاب کنید.

واردکردن فایل db

در قسمت "Export type" نوع خصوصیات نقشه‌ای که می‌خواهید برای آنها لایه ایجاد کنید را انتخاب کنید. در اینجا ما لایه حاوی چندضلعی‌ها را درست می‌کنیم.

نوع خروجی

اگر مایلید نام لایه را تغییر دهید.

قسمت "Exported tags" جایی‌ست که معجزه اصلی رخ می‌دهد. در اینجا تگ‌هایی که می‌خواهیم در لایه خروجی ما وجود داشته باشند را انتخاب می‌کنیم. این موضوع قابلیت انتخاب نوع داده‌ای که ما می‌خواهیم به آنها دسترسی داشته باشیم را به ما می‌دهد.

روی "Load from DB" کلیک کنید تا فهرستی از همه تگ‌های موجود در پایگاه داده را ببینید. اندازه پنجره را با نگه داشتن و کشیدن ماوس بر روی گوشه‌های آن بزرگتر کنید. می‌توانید همه تگ‌ها و نیز تعداد هر تگ گنجانده شده در این داده را ببینید. چک باکس‌های کنار هر تگ را که می‌خواهید انتخاب کنید. در اینجا ما چند مورد که مناسب برای چند ضلعی‌هایی که ساختمان می‌باشند را انتخاب می‌کنیم.

export full

پس از اتمام کار OK را کلیک کنید. کادر را ببندید. لایه شما به طور خودکار اضافه خواهد شد.

چندضلعی‌های قاهره

بر روی لایه راست کلیک کنید و "Open Attribute Table" را بزنید.

جدول بازکردن خصوصیات

در اینجا می‌بینید که جدولی داریم که شامل ویژگی‌هایی‌ست که انتخاب کرده‌ایم.

جدول ویژگی‌ها

توجه کنید که لایه‌ای تنها شامل ساختمان‌ها نساختیم. درعوض، لایه‌ای ساخته‌ایم که شامل همه چندضلعی‌های داده‌های اصلی ماست ولی فقط تگ‌های انتخاب شده را شامل می‌شود. برای ساختن فیلتری برای این لایه تا فقط ساختمان‌ها نشان داده شوند بایستی یک کوئری اجرا شود که فقط چندضلعی‌هایی را که تگ building=yes را فیلتر کند.

خلاصه

این پروسه دریافت داده‌های به روز از OSM و قراردادن آنرا به QGIS را آسان می‌کند. به محض اینکه لایه اینچنینی در QGIS داشته باشید می‌توانید آنها را به صورت shapefiles ذخیره کنید، فیلتر و کوئری را اجرا کنید، و غیره. برای اطلاع از جزئیات این کارها منوی Help برنامه QGIS را ببینید.