پیش تنظیم های JOSM
پیشتنظیمهای JOSM
هر عارضه ای با دو مفهوم تعریف میشود: اول، هندسه آن (آیا نقطه، خط یا پلیگون است و موقعیت مکانی آن)، و دوم، مشخصات توصیفی آن که در قالب تگ هستند.
هنگامی که عارضه ای را رسم میکنید، با استفاده از منوی Presets تگهای صحیح را میتوان بهصورت خودکار به عارضه نسبت داد.
چنانچه تمایل به استفاده از پیشتنظیمها داشته باشید، وقتی بخواهید تگهایی را اضافه کنید که در منوی اولیه وجود ندارد یا وقتی بخواهید تگهای خود را سفارشی کنید، چه اتفاقی میافتد؟
در این حالت، میتوانید آیتمهای منوی دلخواه را به منوی Presets اضافه کنید. در این بخش خواهیم دید که چگونه این کار را انجام دهیم.
اضافهکردن پیشتنظیمها
منوها و زیرمنوهایی که منوی Presets را تشکیل میدهند در فایلهایی ذخیره شدهاند که نحوه ایجاد منو و فرمهایی که با کلیک بر روی هر پیشتنظیم بالا میآید با این فایلها تعریف میشود و همچنین تگهایی که بر اساس نحوه پرکردن فرم به یک عارضه افزوده میشود در این فایلها تعریف شده است.
فایلهای Preset را میتوان از یک بایگانی آنلاین یا بایگانی محلی روی کامپیوترتان، به محیط JOSM اضافه کرد.
- برای اضافهکردن یک ورودی جدید به منوی Presets، JOSM را باز کنید و به Edit -> Preferences بروید.
- بهسمت پایین روی سومین زبانه کلیک کنید، شمای آن مانند شبکهای از خطوط است که کره زمین را پوشانده است
- از قسمت بالا روی Tagging Presets(پیشتنظیمهای تگگذاری) کلیک کنید.
- یک فایل پیشتنظیم اینترنتی را از لیست سمت چپ انتخاب کنید و سپس روی فلش آبی کلیک کنید تا این موارد اضافه شوند. در این مثال، پیشتنظیم با نام New Tags را اضافه میکنیم.
- میبینید که یک آیتم جدید به لیست طرف راست افزوده میشود.
- OK را کلیک کنید.
- لازم است که JOSM را بسته و دوباره اجرا کنید.
- لایه جدیدی ایجاد کنید و یک نقطه یا شکل به آن اضافه کنید.
- به منوی Presets بروید. یک ورودی اضافی در پایین منو مشاهده خواهید کرد که به چندین گزینه گسترش مییابد که این موارد در نصب اولیه JOSM وجود نداشت.
JOSM – ساخت پیشتنظیمهای سفارشیدر این فصل چگونگی ساخت فایلهای پیشتنظیم شخصی را پوشش خواهیم داد. مقدمهای بر XMLبهمنظور ایجاد منوی Presets شخصی، ابتدا باید با زبانی به نام XML آشنایی داشته باشیم. XML، مخفف Extensible Mark-up Language، یک زبان رایانهای شبیه به HTML است. تفاوت کلیدیشان در این است که XML برای انتقال داده و نه صرفا نمایش آن طراحی شده است. بسیاری از برنامههای کاربردی در اینترنت از جمله OpenStreetMap برای انتقال داده از XML استفاده میکنند. XMLدرواقع از عناصر استفاده میکند و هر عنصر میتواند عناصری را بعنوان زیرمجموعه در خود داشته باشد. اطلاعات در داخل عنصر قرار دارد و در هر عنصری، میتوان عناصر بیشتری قرار داد. <menu> <item name=“Hamburger”> <cost>400</cost> <description>کتلت خوشمزه گوشت گاو</description> </item> <item name=“Nasi Goreng”> <cost>200</cost> <description>پلو اندونزیایی</description> </item> </menu>در این مثال دو عنصر <item> را درون عنصر <menu> قرار دادهایم تا دو آیتم مختلف موجود در منو را توصیف کنند. هر آیتم خود حاوی دو عنصر <cost> و <description> است. همچنین توجه کنید که چگونه name=”Hamburger” در داخل تگ <item> نوشته شده است. به این خصیصه (attribute) میگوییم و اطلاعاتی درمورد عنصر اضافه میکند. لغتشناسی XML
استفاده از XML برای نگهداری و انتقال داده، عالی است، زیرا فهم آن برای کامپیوترها آسان میباشد. فایلهای پیشتنظیم JOSMبیایید یک فایل پیشتنظیم نمونه را به JOSM اضافه کنیم و آن را تجزیهوتحلیل کنیم که چگونه کار میکند.
توجه داشته باشید که در فرمِ ظاهرشده سه باکس وجود دارد و هر باکس نوع ورودی متفاوتی میپذیرد. اولین باکس، نام ساختمان است که یک رشته متنی را بهعنوان ورودی میپذیرد. دومی، کاربرد ساختمان، یک منوی انتخابی دارد. آخرین مورد هم، یک چکباکس است، به این معنی که فقط میتواند یکی از دو مقدار روشن یا خاموش را داشته باشد. حالا بیایید نگاهی بیندازیم به فایل XMLای که این فرم Preset را تعریف میکند.
فعلاً از شش خط اول و خط آخر صرفنظر کرده و بر آنچه بین برچسبهای <item> قرار دارد تمرکز میکنیم. خط اول اینگونه است: <item name=”Sample Building” type=”node,closedway”>این برچسب، بازکننده یک آیتم است که به منو اضافه میشود. این برچسب دو ویژگی دارد: name و type name. ویژگی type مشخص میکند که چگونه این مورد در منوی Presets نمایش داده شود. در این مورد، این پیشتنظیم را تنها میتوان برای نقاط و پلیگونها – بهعبارت دیگر گرهها و راههای بسته – استفاده کرد. اگر سعی کنید این پیشتنظیم را بر یک خط به کار ببرید، کار نمیکند. بیایید به خط بعدی نگاه کنیم: <label text=”Building Form” />وقتی روی منو کلیک میکنید و فرم نمونه را باز میکنید، در بالا عبارت Building Form را میبینید. این عبارت همین متنی است که در این خط تعریف شده. این یک عنصر <label> را تعریف میکند و کارش ساده است و متن را در فرم نمایش میدهد. خود متن با خصیصه text=”some text” تعریف میشود. چند خط پایینتر بروید و این تگ را پیدا کنید: <key key=”building” value=”yes” />این یکی از برچسبهایی است که به عارضه موردنظر ما اعمال میشود. از آنجا که از عنصر <key> استفاده میکند، زمانی که این پیشتنظیم انتخاب شود تگ OSMای که در اینجا آورده شده، بهطور خودکار به عارضه اعمال میشود. ازاینرو این شی بهطور خودکار تگ building=yes را نیز خواهد گرفت. خط بعدی کمی متفاوت است و از عنصر <text> استفاده میکند. <text key=”name” text=”Name of Building” default=”” delete_if_empty=”true” />عنصر <text> یک خانه خالی ایجاد میکند. هنگامی که فرم در JOSM ایجاد میشود، کاربر میتواند خانه خالی را پر کند. از آنجا که ویژگیdelete_if_empty=”true” تنظیم شده است، اگر کاربر این خانه را خالی بگذارد، هیچ تگی اضافه نخواهد شد. در خط بعد، منوی اُفتان فرم تعریف میشود: <combo key=”building:use” text=”Building Use” values=”residential, commercial, industrial” /> <display_values=”مسکونی, تجاری, صنعتی”/>یک کادر انتخابی بهوسیله عنصر <combo> تعریف میشود. همانند عنصر <text>، خصیصه key کلید تگ را تعریف میکند. مقدار آن سپس از یک لیست مقادیر ممکن انتخاب میشود. با استفاده از خصیصه display_values میتوانید نامهای دیگری را برای نمایش در منوی اُفتان انتخاب کنید، که شاید فهم آن از مقادیر تگ OSM آسانتر باشد. در نهایت، به خطی که چکباکس را تعریف میکند نگاهی بیندازیم. <check key=”building:vacant” text=”Is the building vacant?” default=”off” /> <delete_if_empty=”true” />کار عنصر <check> – همانطور که حدس زدید! – تعریف چکباکس است. خصیصه default=”off” بیانگر اینست که بهصورت پیشفرض بدون تیک باشد. ساخت فایل پیشتنظیم خودتانبهترین راه برای ساخت فایل پیشتنظیمهای خودتان، این است که یکی از فایلهای موجود را بردارید و آن را سفارشی کنید تا به تغییرات مورد نظر خود برسید. این فایل نمونه را با خیال راحت ویرایش کنید و با آن آزمایش کنید تا اصول پایه را بیاموزید. فقط به یاد داشته باشید که هر بار که آن را ذخیره میکنید، باید JOSM را باز و بسته کنید تا تغییرات اعمال شود. قبل از اینکه ساخت پیشتنظیمهای خود را آغاز کنید، باید بهدقت درباره تگهایی که میخواهید استفاده کنید، دقت نظر داشته باشید. اختراع تگ جدید، مقوله مجزای دیگری است. بهطور کلی، درصورت موجودبودن باید از تگهای موجود OSM استفاده کنید. اکثر تگهای موجود در صفحه عوارض نقشه در ویکی OSM ذکر شدهاند. این فایل نمونه شامل اغلب عناصری است که در یک فایل پیشتنظیم JOSM پیدا میکنید (تعداد عناصر فرم خیلی زیاد نیست). اگر میخواهید با یک فایل پیشتنظیم بسیار پیچیدهتر آزمایش کنید، فایل dhaka_presets.xml را از این مسیر دانلود کنید. رابطههادر مقدمه آموزش توضیح دادیم که در OpenStreetMap سه نوع شی را میتوان ترسیم کرد: نقطهها (گرهها)، خطها (راهها) و پلیگون (راههای بسته). خطها دارای نقاط متعددند و خود خط صفاتی دارد که آن را تعریف میکند. پلیگونها همان خطها هستند، به جز اینکه آن خط باید در جایی که از آن شروع شده به پایان برسد تا یک شکل ایجاد کند. اما در حقیقت، در OpenStreetMap یک نوع شیء دیگر نیز وجود دارد که رابطه (relation) نامیده میشود. بنابراین سه نوع شیء اصلی در OSM عبارتاند از: نقطه، خط و رابطه. همانطور که یک خط از نقاط دیگر تشکیل شده، رابطه نیز از گروهی از اشیای دیگر تشکیل شده است که میتوانند چند نقطه، خط یا پلیگون باشند. درک و شناخت نحوه ایجاد کردن و ویرایش ریلیشنها بسیار مهم است. به عنوان مثال، تصور کنید میخواهید ساختمانی را رسم کنید که حیاطهایی در مرکزش دارد. شما نیاز دارید یک پلیگون دور ساختمان بکشید و پلیگونهای دیگری دور حیاطها بکشید که نشان دهد این قسمتها جزو ساختمان نیست. این مثالی از رابطه است. این رابطه شامل چندین پلیگون میشود. بطور کلی خصوصیتهای ساختمان را به رابطه اضافه میکنیم نه به پلیگونهای آن. رابطهها برای نشاندادن هر چیزی که برای تعریفشدن نیاز به مجموعهای از اشیا دارد به کار میروند. مثالهای دیگر عبارت است از مسیرهای اتوبوس (مجموعهای از خطوط)، اشیای طولانی و پیچیده (رودخانهها یا جادهها) یا تعدادی پلیگون که همگی قسمتی از یک مکان هستند (مانند ساختمانهای یک دانشگاه). بهطور عمده در OSM با چهار نوع رابطه مواجه میشوید Multipolygon (به معنی ارتباط چندسطحیRoute ( (مسیر) Boundary (مرز) و Restriction (محدودیت هایی مانند گردش به چپ ممنوع). در این قسمت چند سطحی و مسیرها را پوشش میدهیم. ایجاد ارتباط چند سطحیبیایید ببینیم چگونه یک رابطه multipolygon مانند آنچه در بالا نشان داده شده، ایجاد کنیم.
· روی دکمه ویرایش کلیک کنید. · حالا باید پنجره ویرایشگر رابطه را ببینید. این قسمت کمی پیچیده است زیرا اکنون برچسبها را به مجموعهای از خطها اضافه میکنید.
· در حال حاضر نقشها بهدرستی به راهها اختصاص داده شده است. هر عضو رابطه، یک نقش (role) دارد که نشان میدهد هدف آن عضو چیست. در این مورد، نقش پلیگون بیرونی را باید outer تعریف کرد و نقش دو عدد پلیگون داخلی باید inner تعریف شود. این موارد نقشهایی است که برای عضوهای یک multipolygon امکانپذیر است. · اکنون با کلیک بر روی OK رابطه چند سطحی شما کامل است!
از چند سطحیها برای هر شیء پیچیدهای که نیاز به تعدادی پلیگون درونی و بیرونی دارد، مانند یک ساختمان یا یک رودخانه با خشکیهایی در داخل آن، استفاده کرد. اطلاعات بیشتر درباره چند سطحیها را میتوانید در ویکی OSM پیدا کنید. رابطههای مسیررابطهها برای نشاندادن مسیرهای طولانی نیز مفید هستند. بهعنوان مثال، یک مسیر اتوبوس یا دوچرخه که از قطعههای مختلف جادهای تشکیل شدهاست. برای تعریف چنین مسیری، میتوانیم یک رابطه ایجاد کنیم که تمام قطعههای جادهای که بخشی از مسیر هستند را شامل میشود. عارضههای بیشتر، مانند ایستگاههای اتوبوس نیز میتوانند بهعنوان عضوی از رابطه مسیر باشند. بیایید ببینیم در JOSM چگونه برای مسیر اتوبوس رابطه ایجاد کنیم:
در این مرحله مهم است که نوع مسیر را از منوی بالای صفحه مشخص کنید. برای مسیرهای اتوبوس دو گزینه در دسترس است، bus (اتوبوس) و trolleybus (اتوبوس برقی). همچنین بهطور معمول بهتر است name (نام)، reference (شماره مرجع)، from (ایستگاه مبدأ) و to (ایستگاه مقصد) نیز وارد شود.
اگر لیستی از تمام رابطههای موجود در نقشه را میخواهید، میتوانید با کلیک روی این دکمه در سمت چپ پنجرک رابطهها را باز کنید: با این کار، پنجرکی باز میشود که در آن میتوانید رابطههای جدیدی انتخاب، ویرایش و ایجاد کنید. |
- بیشتر این پیشتنظیمها کاربردهای نسبتاً خاصی را پوشش میدهند بنابراین لازم است فهرست را بگردید و آنچه را که مطابق خواستهتان است پیدا کنید.
- اگر به شما یک فایل پیشتنظیم سفارشی داده شده است، میتوانید آن را به شیوه مشابه به منو اضافه کنید. برای اینکار به منوی Preferences بروید و بهجای انتخاب از لیست، روی دکمه (+) در بالا سمت راست کلیک کنید.
- مکان فایل خود را مشخص کنید و در صورت تمایل آن را نامگذاری و در نهایت بر روی OK کلیک نمایید.