پرسوجوهای SQL
پرسوجوهای SQL در نقشه خیابان باز (OSM)
پرسوجوهای SQL
احتمالاً بهترین ابزار تجزیه و تحلیل داده ها، اجرای پرسوجوهای SQL در یک سیستم GIS مانند QGIS است. این محیط، چیزی شبیه به جستجوی دادهها در JOSM است، اما تجزیه و تحلیل قویتری را در خود ارائه میدهد، هرچند راه اندازی آن کمی زمانبر است. استفاده از JOSM یک روش سریع و معمول برای بررسی خطاهای اساسی است، در حالی که پرسوجو در QGIS برای پیدا کردن اطلاعات فراموش شده و یا ویژگیهای نادرست مناسبتر و کاربردی تر است.
ما در اینجا فرض میکنیم که شما تا حدودی با GIS آشنا هستید و تمرکز خود را روی ایجاد پرسوجوهایی میگذاریم که میتواند به شما در بازبینی اطلاعات OpenStreetMap کمک کند. برای تمرینات زیر دوباره از دادههای پروژه شهرهای باز داکا استفاده میکنیم که میتوانید آنها را از مسیر dhaka_sql.zip دانلود کنید. از داده OpenStreetMap با استفاده از ابزار خروجیگیر HOT (export.hot ” ” .osm””org) خروجی گرفته میشود و مرز منطقه هدف در ابتدای پروژه تعریف شد.
آمادهسازی دادهها
فایلها را از حالت فشرده خارج کنید و دو شیپفایل را در محیط QGIS بارگذاری کنید. ما با محدود کردن تنها ساختمانهای داخل منطقه پروژه شروع میکنیم تا فرایند پرسوجوهای بعدی آسانتر باشد.
- اول اجازه دهید فقط پلیگونهایی که درون منطقه هدف هستند را انتخاب کنیم. برای انجام این کار از افزونه Query Spatial استفاده خواهیم کرد. اگر قبلاً آن را نصب نکردهاید، ازمسیر Plugins->Manage and Install Plugins بروید تا آنرا پیدا و نصب کنید.
- به مسیر Vector->Spatial Query->Spatial Query بروید.
- بایستی اطلاعات مورد نیاز تنظیمات را برای انتخاب ویژگیهایی از planet_osm_polygon که درون منطقه هدف هستند را پر کنید.
- روی گزینه اعمال کلیک کنید. با اینکار، فقط پلیگونهای منطقه هدف انتخاب خواهند شد.
- روی لایه راست کلیک کنید و انتخابها را به عنوان یک شیپفایل جدید ذخیره کنید. در ادامه، آن را به پروژه اضافه کنید.
- سپس، فقط پلیگونهایی که جزو دسته عوارض ساختمان هستند و به عنوان بخشی از پروژه جمعآوری میشوند را فیلتر کنیم.
- روی گزینه planet_osm_polygon راست کلیک کنید و سپس روی گزینه “فیلتر …” هم کلیک کنید
- پرسوجوی زیر را در خط فرمان وارد کنید:
“building” != NULL AND “source” = ‘Open Cities Dhaka Survey’
- روی OK کلیک کنید فیلترکردن داده با این پرسوجو موجب میشود تا تنها پلیگونهایی که در ستون ساختمان چیزی دارند نشان داده شوند. همچنین این کار ساختمانهایی را که تگ منبع مرتبط با این پروژه را ندارند، حذف می کند.
- این دادهها را به عنوان یک شیپفایل جدید ذخیره کنید. ما از این فایل در ادامه برای پرسوجوهای SQL استفاده خواهیم کرد.
پرسوجوهای SQL
اکنون میتوانیم پرسوجوهایی در لایه ساختمانها برای یافتن اشتباهات احتمالی انجام دهیم. بگذارید درباره بعضی چیزهایی که ممکن است بخواهیم پرسوجو کنیم، فکر کنیم. مدل داده این پروژه به خصوصیتهایی که باید برای هر ساختمان جمع آوری شوند اشاره میکند- آنها عبارتند از:
- name (نام)
- building (ساختمان)
- building:levels (ساختمان:طبقات)
- building:use(ساختمان:کاربرد)
- building:vertical_irregularity(ساختمان:نامنظمی_عمودی)
- building:soft_storey (ساختمان: مقاومت بارجانبی طبقات)
- building:material (ساختمان:جنس)
- building:structure (ساختمان:اسکلت)
- start_date (تاریخ_شروع)
- building:condition (ساختمان:شرایط)
توجه داشته باشید که در شیپفایل این نامهای مشخصه کوتاه شدهاند، زیرا نام ستون تنها به ۱۰ کاراکتر محدود میشود.
پس چه نوع سوالاتی میخواهیم بپرسیم؟ اشتباهات احتمالی چیست؟ یک اشتباه رایج این است که یک ساختمان نقشهکشی شده، اما تمام ویژگیهای آن جمع آوری نشده است. بنابراین میخواهیم یک پرسوجو را اجرا کنیم که تمام ساختمانهایی که مجموعه کاملی از صفات را ندارند، در خروجی نشان دهد. البته، بعضی صفات، مانند نام و تاریخ_شروع (سال ساخت) کاملاً قابل قبول است که خالی باشند، زیرا همه ساختمانها اسم ندارند و گاهی اوقات سال ساختوساز نامشخص است. اما سایر ویژگیها همیشه باید جمع آوری شوند.
بیایید سعی کنیم برای این کار، یک پرسوجو ایجاد کنیم:
- روی لایه ساختمان (لایه ای که ما در بخش قبلی ایجاد کردیم) راست کلیک کرده و روی “فیلتر …” کلیک کنید. این سازنده پرسوجو را باز میکند. در اینجا میتوانیم پرسشهای پیچیدهای را برای بازگرداندن فقط دادههایی که می خواهیم بنویسیم.
- میتوانید پرسوجوی خود را با دوبار کلیک کردن بر روی فیلدها، اپراتورها، و مقادیر بسازید و یا میتوانید پرسوجویی را که ما از قبل ساختهایم در اینجا کپی کنید:
“building_c” = NULL OR “building_s” = NULL OR “building_l” = NULL OR “building_m” = NULL OR “vertical_i” = NULL OR “soft_store” = NULL OR “building_u” = NULL
- بر روی گزینه “تست” کلیک کنید و نتیجتا خواهید دید که این پرسوجو ۱۲۵ ویژگی را باز میگرداند. این بدان معنی است که از تعداد ۳۵۰۰ یا بیشتر ساختمانی که نقشهکشی شدهاند، تعداد ۱۲۵ عدد یک یا چند تا از خصوصیات فوق را ندارند.
- در ادامه روی گزینه OK کلیک کنید تا فقط ساختمانهایی که مطابق شرایط پرسوجو هستند را نشان دهید.
- سپس این ساختمانها را میتوان با دقت بیشتری بررسی کرد تا مشخص شود کدام مشخصه آنها فراموش شده و آیا نیاز به بررسی مجدد آنها هست یا خیر. پس از اینکار، امکان استفاده از QGIS برای ایجاد نقشهای که تیم بازبینی با خود داشته باشد تا بتوانند ویژگیهای فراموش شده ساختمان را ویرایش کنند، وجود دارد.
برخی از پرسوجوهای دیگری که ممکن است از آنها استفاده شود چیست؟ در این مرحله، شما شاید بخواهید خصوصیتهایی که در طرح دادههای شما وجود ندارد را بررسی کنید. این کار را قبلا در بخش جستجو JOSM انجام دادیم. شما با استفاده از پرسوجو میتوانید تمام ساختمانهایی که ویژگیهای آنها متناسب با مدل داده شما نیست را پیدا کنید.
همچنین ممکن است از آن برای جستجوی ناهنجاریهایی که لزوماً اشتباه نیستند استفاده کنید. برای مثال، اگر سازنده پرسوجو را باز کنیم و با انتخاب گزینه building_l از آن برای بارگذاری تمام مقادیر ممکن استفاده میکنیم و روی گزینه “همه” کلیک کنیم. در این حالت میبینیم که اکثر ساختمانها دارای عددی بین ۱ تا ۲۰ هستند (این خصیصه building:levels، تعداد طبقه ساختمان است). اما در بین یافته ها، یک ۵۱ نیز وجود دارد. به نظر بعید میرسد که یک ساختمان با ۵۱ طبقه بالاتر از همه در این منطقه وجود داشته باشد، بنابراین میتوانیم آن را پیدا کرده و برای بررسی آن توسط نقشهکش یک یادداشت میگذاریم.
بطور کلی، پرسوجو میتواند یک راه موثر برای بررسی اشتباهات احتمالی در مجموعه داده باشد. همراه با سایر کاربردهای QGIS از آن میتوان برای تولید نقشههایی استفاده کرد که برای بررسی دادهها در یک منطقه میتوانند مورد استفاده قرار گیرند.
نقشهکشی با گوشی هوشمند، دستگاه GPS یا کاغذ
برای ایجاد نقشهای کاملاً درست و با جزئیات، باید در منطقه موردنظرتان نقشهبرداری انجام دهید. راهنماهای این فصل مربوط به انجام نقشهبرداری به یکی از روشهای زیر است:
- GPS که احتمالاً نسبت به GPS گوشی تلفن همراهتان صحت بالاتری ارائه میدهد،
- برگههای میدانی. در این روش نقشهای چاپی را برمیدارید که بتوانید روی آن یادداشت بنویسید، سپس آن را آپلود میکنید و از روی آن نقشه را در محیط OSM میکشید،
- با استفاده از گوشی تلفن همراهتان؛ برنامههای بسیاری برای مسیریابی با استفاده از داده OSM وجود دارد و برنامههای بسیاری وجود دارد که به شما در انجام بررسیهای میدانی کمک میکنند. تعدادی از این برنامهها در اینجا لیست شدهاند و این لیست بطور روزانه در حال گسترش است و بعضی سازمانهای امدادی در حال طراحی برنامههای خود برای گردآوری دادههای خاص هستند.
امروزه گوشیهای هوشمند بیشتری چیپ رادیو دارند که آنها را قادر میسازد از سامانههای ناوبری ماهوارهای سیگنال دریافت کنند و موقعیت خود را پیدا کنند. رایجترین چیپها سیگنالهای فرکانس سامانه موقعیتیاب جهانی ایالات متحده (GPS) را دریافت میکنند درحالیکه مدلهای پیشرفتهتر ممکن است چیپهای دیگری داشته باشند تا بتوانند همزمان فرکانس ماهوارههای GLONASS روسی را نیز بخوانند.
کیفیت چیپهای بهکاررفته در گوشیها متفاوت است و درنتیجه صحت داده و عملکرد آنها نیز میتواند متفاوت باشد.
دستگاههایی که چیپ GPS دارند، قادرند بهصورت خودکار، خارج از شبکه و بدون نیاز به ارتباط اینترنتی کار کنند؛ اما دستگاههایی که برچسب “فقط A-GPS” (GPS کمکی یا Assisted GPS) دارند، نیازمند اتصال به شبکه داده (و سیگنال تلفن همراه از یک اپراتور مخابراتی) هستند تا بتوانند بهطور صحیح کار کنند. داده های A-GPS میتواند به چیپهای خودفرمان GPS کمک کند تا با پیش-ذخیرهسازی داده، کارکرد بهتری داشته باشند.
در اغلب اپلیکیشنهای نقشهکشی برای اینکه مطابق انتظار کار کنند، فرض میشود که کاربر یک گوشی هوشمند مجهز به چیپ خودفرمان GPS دارد. مشخصات دستگاه خود را بررسی کنید تا بدانید آیا دستگاهتان چیپ خودفرمان (autonomous chip) دارد یا فقط دارای A-GPS است.
در بازار نرمافزارهای فراوانی (پولی یا رایگان) برای اغلب گوشیهای هوشمند وجود دارد. هرکدام مزایا و معایب خاص خود را دارد.
برای انتخاب اپلیکیشن نقشهکشی در OpenStreetMap، باید قابلیتهای زیر را در نظر بگیرید.
- یادگیری آن آسان باشد، بیدرنگ قابلاستفاده باشد
- از GPX پشتیبانی کند (ایجاد نقطههای بینراهی، شخصیسازی تناوب ثبت ردهای GPS)
- امکان مشارکت در OSM را بدهد (افزودن، ویرایش و آپلود داده)
- بتواند داده آفلاین OSM را بارگذاری کند
- بتواند فایلهای چندرسانهای (یادداشتها، عکسها و ویدئوها) را تگگذاری مکانی (geo-tag) کند.
- جریان توسعه آن فعال باشد
بدین منظور، چندین برنامه سازگار با تلفن همراهتان را آزمایش کنید تا با رابط کاربری آنها آشنا شوید و سپس براساس نیاز شخصیتان و راهبرد نقشهکشی خود، بهترین مورد را انتخاب کنید.
بخشهای بعدی شما را راهنمایی خواهند کرد تا برنامههای خاصی که با آنها میتوانید در OpenStreetMap مشارکت کنید را نصب و استفاده کنید.
توجه: قبل از ادامه، مطمئن شوید که GPS در دستگاه شما وجود دارد و فعال است. در گوشی های اندروید، به تنظیمات -> مکان بروید و آن را فعال کنید. به یاد داشته باشید که GPS درون ساختمانها کار نمیکند!
نقشهبرداری با استفاده از GPS
یادگرفتن ویرایش از کلیدیترین مسائل نقشهکشی است – یعنی چگونه اطلاعات را به نقشه واقعی اضافه کنید. اما جنبه دیگر این مساله، جمعآوری خود اطلاعات است – یعنی بیرون بروید و منطقهای را در شهر نقشهبرداری کنید.
در این فصل خواهیم دید که GPS چگونه کار میکند و چطور میتوان با آن نقشه ترسیم کرد.
در اینجا نحوه کار با Garmin eTrex Vista HCx که دستگاهی رایج برای نقشهکشی است را شرح میدهیم. بطور کلی، مدلهای بسیار متفاوتی از دستگاه GPS هست که کار مشابهی را انجام میدهند، بنابراین اگر دستگاه شما متفاوت است نگران نباشید – اصول کار یکسان است.