حل تداخل در JOSM

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

گاهی اوقات شما در JOSM مشغول به کار هستید و زمانی که می‌خواهید تمام ویرایشهای زیبایتان را بارگذاری کنید، یک پیام زننده که از یک تداخل شکایت می‌کند را مشاهده می‌کنید.
conflict detected
آنچه که اتفاق افتاده این است که شما مقداری داده را دانلود کرده‌اید که شامل یک نقطه است که ما آنرا گره A می‌خوانیم، سپس در حالی که شما در حال ویرایش بودید، یک نفر دیگر نیز گره A را دانلود کرده و آنرا تغییر داده و تغییراتش را در OpenStreetMap ذخیره هم کرده است. حالا وقتی که شما سعی در آپلود نسخه خود از گره A را دارید، نسخه آن با نسخه ذخیره شده در OSM متفاوت است. بنابراین JOSM نمی‌داند کدام نسخه از گره A را باید ذخیره کند.

تداخلات

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

این به شما می‌گوید که به تمام تداخلات خود در لایه ۱ در Dialog List نگاه کنید:
warning unresolved

این پنجره به شما هشداری را نشان می‌دهد که می‌گوید آیا مایلید تداخل با ویرایش‌هایتان را تجربه کنید. اگر بر روی سرور چک کنید قادر خواهید بود مشکلات ویرایش‌تان را برطرف کنید:
check on server

این هشدار به شما میگوید که JOSM نتوانسته یک گره را حذف کند زیرا هنوز در یک راه از آن استفاده می‌شود. برای اصلاح این، کاربر باید قبل از آپلود داده‌ها به JOSM بازگشته و تداخل را حل کند.
still in use

حل تداخلات

روند حل و فصل تداخل بسیار ساده است، اگرچه ممکن است در ابتدا در JOSM گیج کننده باشد. اساساْ، JOSM برای هر تداخل دو گزینه پیش روی شما قرار میدهد - نسخه شما از یک شی و نسخهای که در سرور از آن شی قرار دارد. باید انتخاب کنید که آیا نسخه خود را حفظ می‌کنید یا اینکه نسخه جدید روی سرور باقی بماند.
ممکن است فکر کنید، “البته که نسخه من بهتره!” و شاید هم حق با شما باشد. اما به مثال ابتدای این فصل فکر کنید. شاید در حالی که شما مشغول ویرایش بوده‌اید، نقشه‌کش دیگری اطلاعات زیادی را به یکی از گره‌های مجموعه داده شما اضافه کرده است. اگر شما نسخه خود را نسبت به آن نسخه انتخاب کنید، تمام اطلاعات ارزشمند اضافه شده را از دست خواهید داد. از این رو باید در نظر بگیرید که نسخه آنها را نگه دارید یا آن را با نسخه خودتان ترکیب کنید.
هنگامی که پنجره تداخل ظاهر می‌شود، بهتر است دکمه “Synchronize … only” را انتخاب کنید. ممکن است لازم باشد این کار را برای بیشتر از یک شیء انجام دهید، اما بهتر است که تداخلها را یک به یک حل کنید.
synchronize node
هنگامی که شما بر روی این دکمه کلیک کنید، یک پنجره که جزئیات تداخل را شرح داده در اختیار شما قرار میگیرد. پیام خطا ممکن است پیچیده به نظر برسد، اما ساده است. شما از نوع تداخل با نماد مربع قرمز در زبانه بالای برگه مطلع خواهید شد. تداخل مثال زیر به خاصیتهای شی، مانند موقعیت و وجود خود شی اشاره می کند. به همین دلیل است که مختصات و وضعیت حذف ذکر شده‌اند.

انواع تداخل:

  • خاصیت‌ها: شی جابجا شده (مختصات) یا حذف شده است
  • تگ‌ها: تگ‌ها مطابقت ندارند
  • گره‌ها: در لیست گره‌های دو راه اختلاف وجود دارد
  • اعضا: در لیست اعضای یک رابطه اختلاف وجود دارد
    properties with conflicts

تداخل تنها زمانی رخ می‌دهد که دو ویرایش مختلف همزمان انجام شود. اگر سه تداخل یا بیشتر وجود داشته باشد، آنگاه زنجیره‌ای از تداخلات ظاهر خواهد شد. بنابراین شما فقط باید در هر زمان دو تداخل را انتخاب کنید یا ادغام کنید. شما می‌توانید نسخه خود را انتخاب کنید، یا نسخه دیگر را و یا در برخی موارد این دو را با هم ادغام کنید.

در مثال زیر شما گزینه ادغام را ندارید. اگر فکر می‌کنید که ویرایش‌های شما درست است، روی ستون اول یا نسخه من کلیک کنید. اگر فکر می‌کنید که ویرایش‌های آنان بهتر است، بر روی نسخه آنها کلیک کنید.
conflicts resolved

هنگامی که انتخاب کردید کدام نسخه‌ای که فکر می‌کنید بهتر است، سپس روی «اعمال حل تداخل» (Apply Resolution) کلیک کنید. چند پنجره دیگر ظاهر می‌شوند و شما می‌توانید راه خود را برای آپلود ویرایش‌هایتان داشته باشید. ویرایشهای بیشتری انجام دهید سپس روی «آپلود» کلیک کنید. برای شما یک پنجره باز می‌شود که می‌گوید:
command stack

در منوی ویندوز یک کادر محاوره‌ای حاوی لیست تداخلات دارید. این پنجره لیستی از تداخل‌ها را نشان می‌دهد. تعداد کل تداخلهای حل نشده در عنوان نمایش داده شده است. با کلیک روی یک تداخل، می‌توانید آنرا انتخاب کنید یا حل کنید. این وقتی که تداخلهای بسیار زیادی جهت حل کردن دارید مفید است.
one unresolved
تا زمانی که این لیست خالی نشود، نمی‌توانید تغییرات خود را آپلود کنید.

راه‌های اجتناب از تداخل

مرتباْ آپلود کنید

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

در محدوده دانلود شده ویرایش کنید

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

edit outside area

خلاصه

هنگامی که با JOSM ویرایش می‌کنید، ریسک درگیر شدن با تداخلات افزایش می‌یابد. تداخل زمانی رخ می‌دهد که یک شی همزمان توسط دو نفر ویرایش شود. با درک اینکه تداخل چیست و چگونه با آن برخورد کنید، می‌توانید اطمینان حاصل کنید که بهترین ویرایش ممکن در OpenStreetMap ذخیره میشود.

CC0
Official HOT OSM learning materials