57 заметок с тегом

josm

Позднее Ctrl + ↑

Раскрасить Вологду

В топы статистики маршрутов общественного транспорта Вологда не вошла: на 22 мая там отмечены всего 8 автобусов и 5 троллейбусов. Сергей «putnik» интересуется этим городом, и непрорисованность маршрутов его огорчила. В отсутствие времени он придумал альтернативное решение проблемы: найти маппера за деньги (не бегите, уже нашёл). Сумму он объясняет сложностью: нарисовать под сотню отношений — не для новичка задача.

Её мог бы облегчить плагин для рисования маршрутов общественного транспорта. У JOSM уже есть такой, но автор (Роланд, который сейчас занимается Overpass API) забросил его два года назад, едва приступив к функции сбора членов отношения через роутинг. Неизменность содержания вики-страницы плагина с апреля 2010 года намекает, что «новая схема» (принятая в 2011) не поддерживается. По опыту, даже встроенный редактор отношений по удобству за эти годы его обогнал.

Обновление плагина (через переписывание с нуля) было в списке идей для Google Summer of Code 2014, и им заинтересовался польский студент с опытом обработки данных OSM. К сожалению, нас не выбрали организаторы GSoC, а OSGeo, в составе которого мы участвуем, когда нас не выбирают, в этом году получил до обидного мало мест. Поэтому отбор прошёл только один студент — с проектом отзывов к пакетам правок, ровно тем, про что я говорил в Бирмингеме и на ОМММ. Работа началась в этот понедельник, но ни планов, ни обсуждения пока не заметно. Подождём первого недельного отчёта.

2014   gsoc   josm

Без команд

Вы слышали о плагине CommandLine для JOSM, написанный Hind-ом: он позволяет запускать любой внешний скрипт, передавая ему часть редактируемых данных и другие параметры. Его непросто настроить, и он отгрызает от карты две строки. Для плагина на языке Python написана пара десятков команд, в основном для работы с геометрией. Альтернатива — писать свой плагин для JOSM, или дополнять существующий, что несколько сложнее (хотя и полезнее в перспективе).

Но у нас открытый проект, а значит, есть третий путь. Зачем устанавливать какие-то дополнительные программы, когда в Java включён полноценный интерпретатор JavaScript? Плагин Scripting задействует его на полную: писать обработчики данных можно на любом поддерживаемом языке, включая Python, Ruby, Groovy и даже Lisp, при этом доступна вся внутренняя инфраструктура JOSM. То есть, не нужно заново изобретать парсер файлов OSM, и можно встраивать функции в интерфейс: например, добавлять пункты в меню и кнопки на панель инструментов, обрабатывать новые форматы файлов, запускать сложные интерактивные процессы вроде склеивания линий с учётом тегов и отношений.

В этом месяце на scripting обратил внимание участник bdiscoe, взявший приз в американском забеге картографов. Для быстрой обработки дорог он сделал кнопки добавления тегов, которые повесил на комбинации клавиш (это можно было сделать и пресетами, но скриптом — интереснее). Другие примеры использования куда мощнее: например, в 2011 году severality опубликовал скрипт для создания отношений по белорусской схеме адресации. На питоне пишут внушительные валидаторы: веломаршрутов и всего остального.

Плагину в январе исполнилось три года, его поддерживает один человек — Карл Гуггисберг. Это один из примерно десятка плагинов, исходники которых лежат вне SVN OpenStreetMap, поэтому авторы JOSM не могут незаметно их поправить после очередного волюнтаристского слома API. А сторонние люди не могут взять и удалить все исходники, как когда-то случилось с no_more_mapping. Единственное, что останавливает других авторов от побега, — отключение от системы централизованной локализации через launchpad.

josm-tested XII

Сегодня вышла почти шеститысячная версия JOSM (5990, на самом деле), и среди новой функциональности самая грандиозная — отключение частей интерфейса по нажатию TAB. Во всплывающем меню строки статуса и обеих панелей инструментов добавлен пункт «не прятать», и если снять все эти галочки, кнопками F11 и TAB можно оставить на экране одну лишь карту. И с ней удобно работать — не хватает лишь редактирования тегов с клавиатуры. Для этого пригодился старый плагин tageditor. После установки его нужно перевесить на кнопку «T» — и вперёд, можно хвастаться своей хардкорностью.

Также в этом релизе после копирования линии больше не выделяются все её точки, редактор не светит вашу операционную систему в теге created_by, и подложки WMS автоматически меняют разрешение при масштабировании. А неделю назад был закрыт смешной баг: панель свойств обрабатывала HTML в значениях тегов, включая фрагменты javascript.

Чатик в вашем редакторе

Не хотите мапить в вакууме, но IRC-клиент — слишком сложно для вас? Начальник снисходительно относится к JOSM, но не любит, когда вы околачиваетесь в чатах? Онлайн-картовстреча?

Сегодня вышел плагин, который сделает мапперов немного ближе: GeoChat. Установите его, залогиньтесь, и когда рядом с вами появится незнакомый маппер — вы знаете, что делать.

Исходники сервера выложены на гитхаб. Если вы хотите прикрутить геочат к проекту, не связанному с OpenStreetMap (например, просто к странице в сети), установите отдельный сервер, а не присасывайтесь к тому, что используют редакторы. Спасибо.

Сервер смещений

С самого начала OpenStreetMap основывался на GPS-треках. Когда участники проекта подключили в редактор первую подложку, Landsat, они обнаружили, что его точность местами хромает. Это при пятнадцати-то метрах на пиксель. Когда нам разрешили обводить снимки Yahoo, проблема стала ещё заметнее. Плагин WMS для JOSM умел двигать подложку с первой публичной версии, и другие редакторы тоже считают это обязательной функцией.

В других проектах вопрос привязки решается без участия пользователей: администраторы сдвигают все данные под изменившийся снимок. У нас же каждый должен перед началом картирования загружать треки и долго двигать снимок, чтобы треки не шли по полям. Новички, не зная этого, часто двигают все объекты вокруг своего дома, удивляясь, что другие не заметили очевидной ошибки.

Первая и последняя инновация в работе со сдвигами подложек случилась в декабре 2010 года: в JOSM появились закладки смещений. Смещения получили точные значения, которыми можно делиться. В марте 2011 эти значения стали вменяемыми (без экспоненциальной части), и вики с форумом стали полниться парами чисел для разных регионов.

О централизованном хранении смещений спрашивают примерно раз в два месяца, а Dermot McNally спроектировал «True Offset Process» ещё в ноябре 2010 года (когда нам дали снимки Bing): он предлагал рисовать в базе OSM полигоны, соответствующие зонам постоянных смещений, и записывать в тегах значение сдвига. На сегодня таких объектов в базе 27: видимо, идея не пошла.

Сегодня я объявляю об открытии базы данных смещений, плагина для JOSM и веб-интерфейса к базе. Принцип работы прост: получив смещение для района, вместо добавления закладки отправляете смещение на сервер, и его увидят все, кто будет править карту рядом с вами. И наоборот, вместо подгонки снимка можно быстро проверить, не посчитал ли кто его смещение до вас. Весь интерфейс сведён к двум кнопкам. Выгрузки под лицензией PDDL обновляются ежечасно.

За неделю бета-тестирования мапперы из России, Польши, Украины и Финляндии внесли 364 сдвига. Подробно привязаны Санкт-Петербург, Хельсинки, Омск, Саранск и многие малые города. Пока пользоваться базой могут только пользователи JOSM, но поддержка сервера появится и в iD, хотя и не к первой бета-версии. Надеюсь, база смещений сделает ненужными разрозненные их подборки в вики, её поддержат все редакторы, и перемещения объектов под снимки сойдут на нет.

Пока сервер OSM не работает, можно перенести свои закладки смещений на сервер. Установите плагин mirrored_download для подгрузки данных, и каждый раз проверяйте, актуален ли сдвиг, подходят ли к нему данные и треки, и не загрузил ли кто-нибудь смещение до вас.

Ранее Ctrl + ↓

Мнения, высказанные на этом сайте, отражают точку зрения лично автора сайта и ничью больше: ни его бывших или настоящих работодателей, ни семьи и знакомых.