رابطه‌ها

تاریخ بازبینی ۱۳۹۶/۰۳/۱۶

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

در حقیقت، ما به شما دروغ گفتیم، زیرا در OpenStreetMap یک نوع دیگر شی وجود دارد که رابط (ریلیشن) نامیده می‌شود. همانطور که یک خط از نقاط دیگر تشکیل شده، رابطه نیز از گروهی از اشیاء دیگر تشکیل شده است که میتواند چند نقطه، خط یا چندضلعی باشد. اگر به دنبال پیشرفت مهارت‌های ویرایشی خود هستید، درک و شناخت نحوه درست ویرایش ریلیشن‌ها مهم است.

به عنوان مثال، تصور کنید می‌خواهید یک ساختمان را که دارای یک حیاط در مرکزش است را بکشید. شما باید یک چندضلعی در اطراف ساختمان بکشید و چندضلعی دیگری را در اطراف حیاط بکشید که نشان دهد این قسمت جزو ساختمان نیست. این مثالی از یک رابطه است. این رابطه چندین چندضلعی را شامل می‌شود - و ویژگی‌های ساختمان به رابطه، و نه به چندضلعی‌ها متصل می شود.

An example of a multipolygon

روابط برای نشان دادن هر چیزی که برای تعریف شدن نیاز به یک مجموعه از اشیاء دارد بکار می‌روند. مثالهای دیگر مسیرهای اتوبوس (مجموعه ای از خطوط)، اشیاء طولانی و پیچیده (رودخانه‌ها یا جاده‌ها) یا تعدادی چندضلعی که همگی قسمتی از یک مکان هستند (مانند ساختمان‌های یک دانشگاه) می‌باشند.

به طور عمده در OSM با چهار نوع رابطه مواجه می‌شوید: مولتی‌پلیگون (Multipolygon)، مسیرها (Routes)، مرزها (Boundaries) و محدودیتها (Limits) (مانند محدودیت در گردش به چپ). در این قسمت ما مولتی‌پلیگون و مسیرها را پوشش میدهیم.

ایجاد ریلیشن مولتی‌پلیگون

بیایید ببینیم که چگونه یک رابطه مولتی‌پلیگون مانند آنچه که در بالا نشان داده شده را ایجاد کنیم.

  • ابتدا، شکلهای خود را بکشید، در این مورد، ما سه چندضلعی، یک مستطیل بیرونی و دو مستطیل کوچکتر را کشیده‌ایم.

Multipolygon ways

  • تمام چندضلعی‌ها را انتخاب کنید. به یاد داشته باشید می‌توانید اشیاء مختلف را با نگه داشتن کلید SHIFT و کلیک بر روی هر یک انتخاب کنید.
  • از منو گزینه Tools->Create multipolygon را انتخاب کنید.
  • پنجره تگها اکنون حاوی مولتی‌پلیگون جدید است.

New mp object

  • روی دکمه ویرایش کلیک کنید.

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

Building relation

  • دقت کنید که در قسمت بالای پانل، تگ (برچسب‌)های رابطه قرار دارند. این برچسب‌ها همان کارهایی را انجام می‌دهند که همه تگها انجام می‌دهند.
  • در پایین لیستی از اعضای رابطه وجود دارد. این رابطه سه عضو دارد - یعنی سه خط که هرکدام بخشی از رابطه ما است.
  • توجه داشته باشید که در حال حاضر یک تگ برای ما تعریف شده است، type= multipolygon. ما باید برچسب دیگری اضافه کنیم که نوع شی که این ریلیشن آنرا نشان میدهد، مشخص شود. باید یک تگ اضافه کنیم که می‌گوید building=yes.
  • در کادر تگ کلیک کرده و این برچسب را اضافه کنید.

Building yes

  • نقشها فعلاْ به درستی به خط‌ها اختصاص داده شده است. هر عضو یک رابطه، یک نقش دارد که نشان می‌دهد هدف آن عضو چیست. در این حالت، نقش چندضلعی بیرونی را باید به عنوان outer تعریف کرد و نقش دو عدد چندضلعی داخلی باید به عنوان inner تعریف شود. اینها نقش‌هایی هستند که برای اعضای یک چندضلعی در دسترس هستند.

  • اکنون با کلیک بر روی OK رابطه مولتی‌پلیگون شما کامل است!

New multipolygon

هنگامی که مولتی‌پلیگون را ایجاد می‌کنید پس از رندر بر روی نقشه همانند شکل زیر دیده می‌شود:

Multipolygon in Mapnik

از مولتی‌پلیگون‌ها برای هر شی پیچیده‌ای که نیاز به چندین چندضلعی درونی و بیرونی دارد، مانند یک ساختمان یا رودخانه با تکه‌های زمین در داخل آن، استفاده کرد. اطلاعات بیشتر در مورد مولتی‌پلیگون را می‌توانید در OSM Wiki پیدا کنید.

رابطه‌های مسیر

رابطه‌ها برای نشان دادن مسیرهای طولانی نیز مفید هستند. به عنوان مثال، یک مسیر اتوبوس یا دوچرخه که از قطعات مختلف جاده‌ای تشکیل شده‌اند. برای تعریف چنین مسیری، می‌توانیم یک رابطه ایجاد کنیم که شامل تمام قطعه‌های جاده‌ای است که بخشی از مسیر هستند. ویژگی‌های بیشتر، مانند توقفگاه‌های اتوبوس نیز می‌توانند به عنوان عضوی از رابطه مسیر باشند.

Route relation

بیایید ببینیم که چگونه برای مسیر اتوبوس در JOSM رابطه ایجاد کنیم:

  • ابتدا همه مسیرهایی که اتوبوس از آنها می‌گذرد را انتخاب کنید. اگر فقط بخشی از یک خیابان مربوط به رابطه باشد، ممکن است لازم باشد بعضی از خیابان‌ها را به قطعات مجزا تقسیم کنید. برای اینکار می‌توانید از ابزار Split Way استفاده کنید.
  • هنگامی که تمام قطعات انتخاب شدند، به Presets->Transport->Public Transport->Public Transport Route (Bus) بروید.

Public transport preset

  • یک پنجره جدید ظاهر می‌شود که در آن می‌توانید اطلاعاتی را وارد کنید که به کل مسیر اعمال می‌شود.

New route relation

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

  • روی “ارتباط جدید” کلیک کنید. پنجره رابطه را همانند مولتی‌پلیگون می بینید.

Bus route relation

  • توجه داشته باشید که برچسب‌هایی که رابطه را به عنوان یک مسیر تعریف می‌کنند از پیش وجود دارند. به جای type=multipolygon، ما type=route داریم. همچنین تگی داریم که در عوض انواع دیگر مسیر، آنرا به عنوان یک مسیر اتوبوس تعریف می‌کند،.
  • حالا شاید فکر کنید که نقش اعضا چه باید باشد؟ خب، در مورد مسیر، ما نیازی به تعریف نقش اعضا نداریم. با خالی گذاشتن نقش، نرم‌افزار می‌داند که آنها به راحتی بخشی از مسیر هستند. همچنین می‌توانیم نقش هر قطعه را به عنوان مسیر تعریف کنیم، اما لازم نیست.
  • روی OK کلیک کنید و رابطه مسیر شما کامل خواهد شد!

اگر لیستی از تمام رابطه‌های موجود در نقشه را می‌خواهید، می‌توانید پانل رابطه‌ها را با کلیک بر روی این دکمه در سمت چپ باز کنید: relation panel button. این یک پانل را باز می کند که در آن می‌توانید رابطه جدید را انتخاب، ویرایش و ایجاد کنید.

خلاصه

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

CC0
Official HOT OSM learning materials