|
JOSM – Створення власних заготовокУ попередньому розділі ми дізнались, як додати заготовки в меню Заготовок JOSM. В цьому розділі ми розкажемо як створювати власні заготовки. УВАГА! Ця тема для досвідчених користувачів… вважайте, що ми вас попередили! Введення в XMLДля того щоб створювати власні заготовки, вам знадобиться розуміння мови XML. Якщо ви знаєте що таке XML, можете перейти до наступного розділу. XML (“Extensible Mark-up Language” – “Розширювана мова розмітки”) – є однією із комп’ютерних мов, що дуже схожа на HTML. Головна відмінність, це те що основне призначення XML – обмін даними, а не їх показ. Багато застосунків в Інтернет використовують XML для передачі даних, OpenStreetMap – один із прикладів. XML використовує елементи, кожен елемент може мати вкладені в нього інші елементи. Наприклад, уявімо що ми бажаємо створити файл XML, який би містив меню ресторану. Нам треба створити кореневий елемент, який буде містити дані про наше меню. Наш кореневий елемент матиме початковий та кінцевий теґи, як тут:
Інформація знаходиться в середині елемента, а кожен елемент може містити інші елементи.
У цьому прикладі ми маємо два елементи <item> в середині нащо кореневого елемента <menu> для опису двох різних страв з нашого меню. Кожен елемент містить два інші елементи: <cost> та <description>. Зверніть увагу, що ми маємо name=“Hamburger” в середині початкового теґа <item>. Це називається атрибут, він містить інформацію про елемент. Термінологія XML
Використання XML для збереження та передачі інформації – це чудово, оскільки він легко обробляється комп’ютерами. Файли заготовок JOSMСпробуймо додати тренувальну заготовку в JOSM та проаналізуємо, як все працює.
Зверніть увагу, діалог має три поля, кожне з яких призначене для різного типу вводу. Перше поле, назва будинку, – призначено для вводу довільного тексту. Друге поле, призначення будинку – має випадаюче меню. І, останнє поле, це перемикач – означає, що воно може мати два значення, увімкнено та вимкнено. Давайте тепер подивимось на файл XML, який містить опис цього діалогу.
Не звертайте зараз уваги на перші шість рядків та на останній рядок, подивімось що знаходиться між теґами <item> Перший рядок виглядає так:
Це початковий теґ елемента, який буде додано в меню. Він має два атрибути, назву та тип. Назва буде показуватись в меню Заготовки. Тип обмежує використання нашої заготовки переліком типів об’єктів. В нашому випадку, заготовку можна застосовувати до точок та полігонів. Якщо ви спробуєте застосувати її до звичайної лінії, вона не спрацює. Подивіться на наступний рядок:
Після вибору нашої заготовки в меню відкриється діалог вгорі якого ви побачите напис “Building Form”. Цей текст визначається у цьому рядку. Він визначає елемент <label>, який лише показує текст. Зміст визначається атрибутом text=”some text”. Спустимось трохи нижче, до рядка:
Це один з теґів, які будуть застосовані до виділеного об’єкта, тому що він використовує елемент <key>, який описує теґ OSM що буде доданий цією заготовкою. Отже, виділений об’єкт автоматично отримає теґ building=yes. Наступний рядок трохи інший, він використовує елемент <text>.
Елемент <text> створює пусте поле. В нього користувач може додати потрібний текст, коли JOSM показує вікно заготовки. Завдяки атрибуту delete_if_empty=”true”, якщо мапер залишить поле пустим теґ не буде доданий до виділеного об’єкта. Випадаюче меню описується наступним рядком:
Випадаюче меню описується елементом <combo>. Воно підписується текстом з атрибуту <text>, а ключ теґа OSM визначається атрибутом key. Значення теґу обирається з переліку – атрибут values. Атрибут display_values дозволяє вам показувати в меню більш зрозумілі підказки замість значень теґів OSM. І нарешті, подивімось на останній рядок, де описується перемикач.
Елемент <check> описує, ну, ви здогадались! – перемикач. Атрибут default=”off” говорить про те, що типовий стан перемикача – вимкнено. Інші атрибути ми вже розглянули раніше. Створення вашої власної заготовкиНайкращий спосіб створити власну заготовку – взяти наявну та змінити її під власні потреби. Ви можете змінювати наведену тут для прикладу заготовку, експериментувати з нею, щоб навчитись основ. Але не забувайте перезапускати JOSM кожного разу після внесення змін до неї. Перед створенням власної заготовки ви маєте добре знати теґи, які ви збираєтесь використовувати. Вигадування нових теґів в OSM – зовсім інша тема. Взагалі, намагайтесь використовувати наявні в OSM теґи. Ви завжди можете ознайомитись з переліком теґів на сторінці Елементи мапи у Вікі OSM. Наш файл зі зразком заготовки містить більшість елементів, які ви можете побачити в інших заготовках JOSM, їх вже й не так і багато. Якщо у вас є бажання поекспериментувати зі складнішою заготовкою, завантажте собі: dhaka_presets.xml. На додачу, докладний опис всіх можливих елементів знаходиться тут. Хай щастить!
Чи був цей розділ корисним?
Дайте нам знати та допоможіть нам покращити цей посібник!
|