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

id

RapiD 2.0

Позавчера ходил на вебинар Meta, где анонсировали вторую версию редактора RapiD (теперь со строчной «d»). Честно, я ни разу им не пользовался, но он на третьем месте по количеству правок в OSM, и я хотел узнать, что хорошего новый релиз несёт нашей карте.

Крис Беддоу, известный по Mapillary (съеденному Meta), начал с демонстрации нового логотипа на новом сайте проекта, RapidEditor.org. Как заметил Anonymaps, сайт продолжает корпоративную традицию упоминания OpenStreetMap только в подвале, хотя сам редактор всё объясняет нормально.

Затем прошлись по новшествам, уже объявленным в твитере:

  • Ускорили редактор в десять раз, заметно сразу при перетаскивании карты.
    • И можно показывать больше данных на более далёких масштабах.
    • Теперь можно редактировать большие объекты на далёком масштабе (в iD редактирование отключается).
    • Прикольно как на далёком масштабе здания рисуются прямоугольниками без деталей.
  • Подписи лучше: их больше и они не прячутся.
    • В первой версии подписывали только осмерские объекты, теперь — и импортируемые данные.
    • Полигоны подписаны по периметру.

Над ускорением отрисовки через замену рендерера начали работать в октябре 2021. Оно позволяет теперь освободить процессор для других задач. Например, magic wand (просто мысль, не сделали ещё). Думали добавить ML на стороне клиента, но решили не делать.

Стала проще работа со снимками Mapillary: тысячи маркеров больше не замедляют редактор, а при тыке в распознанный объект на карте отображается снимок, где этот объект прямо подсвечен. Выглядит классно — жаль, что это пошло не в iD, которым пользуются большинство осмеров. Разработка всё ещё отдельная, с Мартином, которому OSMF платит за поддержку iD, в Meta общаются реже, чем с командой Bing, авторами Map Builder. Ну и проще искать, где светло, а не где потерял: у Rapid и технологии интереснее, и с сообществом не надо дискутировать.

Цель редактора — облегчить импортирование данных, а Mapillary из этой парадигмы выбивается. Авторы утверждают, что всё не так и они делают просто лучший редактор для OSM. Но вместо новых инструментов для удобства анонсировали новые данные для импорта: так, помимо привычных дорог и домиков теперь появились тротуары, адресные точки и деревья. Esri открывает много наборов данных — увы, пока только в Штатах и в Африке.

Данных по атрибутам существующих объектов в каталоге Rapid пока нет, поэтому работа сводится чаще к добавлению пропущенного. Но Брайан ожидает, что рано или поздно Esri начнёт делиться высотой зданий или покрытием дорог. Тогда в редактор, скорее всего, добавят простой способ переносить атрибуты.

Алгоритмы довольно просты: импортируемые здания не уточняют геометрию существующих, не заменяют их. Ответственность за проверку по снимку, дедубликацию, правильность геометрии всё ещё на пользователе. В этом плане ничего не изменилось: один может навставлять тысячу автораспознанных домиков кнопкой «A», а другой проведёт несколько часов, поворачивая их и исправляя геометрию по снимкам. В этом плане авторы думают разве что про сохранность истории, аналог инструмента «заменить геометрию» из JOSM.

Вообще, заметны корпоративность и замылившийся взгляд. Например, на любые задачи первый ответ — машинное обучение. Определение границ, дедубликация, привязка к снимкам — давайте натренируем модель. Инженерный подход: ускорение решает все проблемы. Вплоть до того, что вопросы про облегчение работы картографа пролетают мимо ушей. Пока Бен и Крис разговаривали, Брайан рисовал какой-то район в Штатах и постоянно спотыкался об уточнение геометрии зданий (импортированных, но сломанных вблизи), об их поворачивание. Ничего в Rapid не облегчает эту задачу, а разработчики в упор не видят проблемы. «Пишите тикеты на гитхаб».

Rapid 2.0 со вторника доступен на официальном сайте. В России из данных только фейсбучные дороги (я не нашёл ни одной, проведённой по реальной дороге, а не по деревьям и болотам) и микрософтовские здания (распознанные по смещённому Bing, произвольно повёрнутые и пересекающиеся). Однако редактор стал быстрее и подписывает больше объектов, так что он может для кого-то стать заменой официального iD. Попробуйте — и сообщайте авторам о проблемах через кнопку с жучком справа внизу (как и в iD): так в тикете будет информация о версии, браузере и операционке. Твитайте скрины, рассказывайте, как вы используете Rapid в жизни. Разработчикам всегда приятно знать, что их работой пользуются.

1 год   id   rapid

Квинси ушёл

В сентябре Квинси Моргану за разработку редактора iD начал платить OSMF. Но что-то пошло не так: в декабре его продуктивность резко упала, а с конца февраля, уже два месяца как, он ни написал ни строчки кода, только принимал иногда чужие пул-реквесты. Последняя версия редактора вышла 18 марта, с тех пор — никакого движения. Так что сегодняшнее объявление, что Квинси больше не работает над iD, логично, хотя и грустновато.

Совет OSMF теперь ищет человека на замену, но оптимизма маловато: судя по графикам вклада в разработку, для редактора не удалось выстроить сообщества, на второй и третьей позициях — люди с 20 коммитами за год, да и то лишь в пресеты и переводы. Немал шанс, что мы наблюдаем закат iD. Что его заменит? RapID? Не могу обосновать, но чувствую, что фейсбук уже на низком старте.

Всё это — очередная иллюстрация к расхожей поговорке: сделай то, чем ты обожаешь заниматься, своей работой — и выгоришь через три месяца. Совет потерял многих разработчиков за последние десять лет, не решившись платить им денег, но этот раз первый, когда разработчика потеряли именно из-за того, что деньги платили. Кажется, человеческие отношения чуть сложнее, чем казалось поначалу.

Гонка за JSON

Что это я всё хвалю iD — у него тоже проблем хватает («ахаха» — раздаётся от жосмера в голове). Например, Саймон Пул четыре дня назад заметил, что в некоторых регионах данные не подгружаются, без причин и без ошибок. Какие-то слова про undefined в консоли, и всё.

Позавчера Квинси понял, что выпадают объекты, нарисованные анонимными пользователями до 2009 года. У этих объектов нет поля uid, чего редактор не ожидал. Но тогда вопрос, почему раньше этой пропажи никто не замечал? Ответ — в JSON.

Мало кто любит XML. Это структурированный формат, который может хранить любую структуру данных, но слишком многословен и требует сложных преобразований. С популярностью JavaScript разработчики предпочитают использовать другой формат хранения данных, JSON (JavaScript Object Notation). Формат жёстко регламентирован, но по сути, представляет собой кусок кода, который интерпретатор JS может быстро превратить в объект. Сюрпризов у него никаких, структура очевидная для программистов, в отличие от XML, поэтому формат пихают везде: например, вам может быть знаком GeoJSON.

OSM API всегда отвечал в формате XML. Но в сентябре 2018 года cgimap научился возвращать ответ в формате json. Для этого в запросе нужно указать правильный заголовок Accept или добавить в конец расширение .json (например). Одним из первых новому формату научился важнейший запрос /map (получение всех данных в прямоугольнике), затем пошли остальные. Но, поскольку формат ещё не поддерживал Rails Port (часть API, написанная на Ruby on Rails), json временно отключили.

Разрыв нужно было закрывать: участник Mmd в мае 2019 года сделал пул-реквест в вебсайт, но мы знаем, как у нас проходят пул-реквесты. Второй пул-реквест он создал в декабре. Он был проще, обсуждение сразу пошло: всего через полсотни комментариев, в феврале, правки приняли, и теперь объекты можно получать в любом из двух форматов.

Тут все посмотрели на iD. Для кого ещё писали поддержку json, как не для редактора на JavaScript? И да, всего через неделю соответствующие вызовы заменили — поддержку нового формата тот же Mmd написал ещё год назад. Но свежий релиз редактора готовился-готовился, прошёл один месяц, второй... В общем, строчка про json утонула в списке изменений версии 2.18, вышедшей две недели назад. Отсюда и проблема, найденная Саймоном: формат ответа API поменялся, его обработка тоже, и анонимные правки забыли протестировать. Ошибку починили буквально вчера.

По замерам Mmd, использование json для скачивания данных ускорило iD примерно вдвое. Перемещение карты в редакторе действительно ощущается быстрее, контрастируя с заторможенным интерфейсом редактирования тегов.

Подгрузку данных в редакторе ещё можно ускорить, и даже в несколько раз. Сам запрос /map невыносимо медленный: сервер делает несколько запросов к базе данных на каждый объект в ответе, что, как посчитал Дорофей «Komяpa», ограничивает скорость получения данных до примерно 2000 объектов в секунду. Именно поэтому iD разрешает редактирование от 16 уровня масштаба, а не дальше. В 2016 году Дорофей переписал запрос к карте на чистый SQL, ускорив его на порядок, но его предложение погрязло в комментариях, а после добавления формата json и вовсе устарело. То есть, мы знаем, что скачивание данных можно ускорить, но для поддержки быстрого кода нужны знания PostgreSQL, которых нет ни у кого из админов.

Обновление: Mmd в комментариях замечает, что запрос /map переписали в 2018 году, ускорив его даже лучше, чем это сделал Дорофей. Так что последний абзац уже неактуален.

Третий редактор

Написав заметку про iD, немедленно задумался: а где третий? Почему из настольных редакторов у нас выбор только между iD и JOSM?

Когда я только пришёл в проект, редакторов было три: Potlatch, JOSM и Merkaartor. Первый выбирали за простоту, второй — за фичи битком. Последний был непривычно быстр и выглядел как нормальное приложение, потому что написан на C++. Увы, соавторы для него не нашлись, поэтому Ладислав лишь чинит редкие ошибки и выносит отвалившиеся фрагменты. Последний релиз Merkaartor был в ноябре прошлого года. Пользователей он начал терять в 2013 году, уйдя глубоко в низ рейтинга вслед за Potlatch 1. Тогда же по количеству правок он уступил третье место iD, а в 2018 его сдвинул с четвёртого Go Map.

С 2013 года у нас всё ещё три популярных настольных редактора: JOSM, iD и Potlatch 2. Написанные на Java, JavaScript и Flash. Очевидно, что последний живёт только благодаря упоминанию на главной странице — хотя сам по себе он очень хорош, быстрый и простой, особенно если выучить кнопки. Но люди стремительно его забывают: сейчас он тоже уполз вниз, им пользуются для правки карты реже, чем даже OsmAnd. 31 декабря Potlatch умрёт, как я упомянул в прошлой статье, потому что Adobe прекращает поддержку Flash, и его окончательно выпилят из браузеров. Предложение Ричарда отвязать редактор от браузера Совет решил не принимать.

Так что да, выбор между iD и JOSM. Почему никто не начинает писать полноценный десктопный редактор OpenStreetMap? В списке редакторов вообще никаких намёков: есть тематические, есть обрезки, встроенные в ГИС и операционные системы, но ничего, что может заменить даже Potlatch 1. Получается какая-то двухпартийная система: не нравится JOSM — добро пожаловать в iD, у него отличный интерфейс, понятные панели и не нужно бороться с JRE. Не нравится iD — ставь JOSM, он работает офлайн у него сотни модулей и стилей оформления карты. Но... Может, нужно больше вариантов?

Кажется, тут я должен топить за поиск революционера и больше альтернатив — но данные подсказывают, что правильнее наоборот. Таблицей количества пользователей правят мобильные и тематические редакторы: у Maps.Me пользователей в полтора раза больше, чем у JOSM, и четвёрка StreetComplete — Osmand — Vespucci — Go Map тоже в сумме бьёт его по пользователям. А ниже притаились настольные и веб-редакторы отдельных элементов: GNOME Maps, OsmHydrant, Level0. Кажется, картографам их достаточно. В мире редакторов назрел перелом, и честно говоря, давно пора.

Простые и тематические редакторы — это всё, что нужно OpenStreetMap на нынешнем этапе развития. Прошло время первоначального накопления геоданных, теперь их нужно дополнять и обновлять. Поэтому каждый пятый человек, правящий данные, делает это с телефона, с улицы. Вместо количества нужно качество — незаметное, не требующее больших пакетов правок, но на которое нужны десятки тысяч людей во всех концах мира. Чтобы нарисовать пропущенную дорогу, достаточно одной кнопкой открыть iD и ещё тремя её обозначить. Всё остальное на карте уже есть.

JOSM устарел. Нам не нужен не только третий редактор, — нам уже не нужен JOSM. Рисовать тысячи домиков и сотни километров грунтовок по снимкам отлично получается у участников Missing Maps и прочих мероприятий гуманитарной команды. JOSM не только оптимизирует массовое рисование, которое давно устарело. Он местами вредит проекту и другим картографам. Например, удобством работы с мультиполигонами — стали бы вы рисовать «лоскуты» в iD? А каково их там править? Размером пакетов правок (в среднем 150 объектов против 50 в iD) — все валидаторы жалуются на плодовитых картографов. Лёгкостью подключения слоёв гугля и кадастра. Тем, что система модулей позволяет писать системы тегирования, которые вручную применять невозможно. Сложность JOSM проникает в OpenStreetMap и делает его сложнее.

Достаточно iD. Для крупных же правок у нас появился новый инструмент: RapiD. Основанный на том же iD, в нём одной кнопкой можно добавить сеть дорог, тысячи домиков и прочие данные через платформу Esri. Он закрывает вопрос импортов и раскрашивания «белых пятен». Где нет в RapiD, туда нагонят картографов крупные корпорации (в экономически интересные регионы) и гуманитарная команда (в менее интересные). Эта ситуация установилась с прошлого года, таков теперь OpenStreetMap.

Опытным картографам в этой картине отводятся места учителей и хранителей платформы: мы поддерживаем и уточняем тегирование, следим за системными ошибками менее опытных картографов, пишем системы мониторинга и управления данными (потому что у компаний не хватает экспертизы) и устраиваемся на хорошие деньги в эплы и фейсбуки руководить отделами осмеров.

Наше дело больше не рисовать основные дороги и не следить за валидаторами. Можно расслабиться, взять в руки обходные листы или StreetComplete и выйти на улицу как десять лет назад. Позаносить парикмахерские и люки. Обойти соседний двор и нарисовать в нём тропинки и заборы. Для этого достаточно веб-редактора, он нынче удобен даже на планшете со стилусом. Или мобильного приложения — а их становится больше с каждым месяцем.

iD удобнее JOSM

Квинси Морган объявил о выходе свежего редактора iD версии 2.18. Его анонсы нужно видеть: это не просто список, как в гитхабе, но комикс из девяти слайдов по основным фичам. Прошлую версию анонсировали в блоге редактора (у iD есть блог!), но за полгода авторы, видимо, о нём забыли. Прочитайте то и то: узнаете, как делать мосты и туннели одной кнопкой (а не разделить-разделить-добавить тег, как раньше) и открывать детектированные Mapillary объекты, типа знаков.

Главное, что открыли эти твиты, — что iD стал первым большим редактором, которым не больно пользоваться с тачпада. У которого, напомню, нет правой кнопки. Теперь с ноутбука можно править карту! Можно даже нажать «править» на айпаде и не расплакаться от невозможности подвинуть дом под снимок. Я всю весну сидел с мышкой, у которой сломана правая кнопка, и тупо не мог пользоваться JOSM из-за этого. мой тикет про альтернативы правой кнопке висит без движения с 2014 года.

Как и Potlatch (который умрёт в декабре), редактор iD понятен без слов, но работать с ним становится офигенно, если помнить о клавиатуре:

  • Пробел — замена левой кнопке: выбирать объекты (с Shift можно много), двигать точки, открыть меню, если подержать.
  • Стрелочки — двигать карту (как Shift-потянуть левой кнопкой или двумя пальцами по тачпаду), а Shift+стрелочки — двигать выбранные объекты.
  • Масштабировать двумя пальцами по тачпаду, двумя пальцами + Shift (так привычнее) или кнопками — и = (я думал, JOSM обломается приближать по + без шифта, а оказалось — не смог отдалить по минусу).
  • 1, 2, 3 — новые точка, линия, полигон. A — продолжить линию.
  • M — двигать линию. Случайно сдвинуть домик или дорогу, как в JOSM, не получится.
  • V — развернуть линию (буква похожа на стрелочку), S — выпрямить (от straighten), D — отсоединить линию от всего или точку от линии, X — разрезать линию в точке.
  • O — сделать круглым, Q — сделать квадратным, R — повернуть.

Короче, всё в справке и во всплывающем меню. iD всё ещё чудовищен, если нужно добавлять необычные теги (а до панели тегов крутить и крутить) или наводить порядок на карте, но для мелочей типа дорисовки пропущенной тропинки он уже задвинул JOSM. Так что у меня пакетов правок с ним теперь больше — вот бы я удивился этому лет пять назад.

Новостей про третью версию iD нет.

Ранее Ctrl + ↓

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