Избранное

Позднее Ctrl + ↑

!!

Брюс Когсвелл втихую написал лучший редактор OSM под айфоны-айпады — Go Map с двумя восклицательными знаками, и сегодня выложил его в аппстор. По скриншотам на вики-странице, он выглядит слишком хорошо, чтобы быть настоящим (и бесплатным при этом). Есть всё, что нужно для правки точек и линий, включая нормальное редактирование тегов (без потлатчевской диктатуры), ссылки в веб для всех параметров всех объектов и офлайн-режим (в том числе для бинга). Особенно радует использование смещённой активной точки: очевидная необходимость для тач-устройств, которую, почему-то, не учли в Vespucci, и уже почти год прорабатывает некто karlos в применении к веб-редакторам.



Вот бы его и под андроид.

Не надо орден

31 июля 2007 года Стив Кост присудил Лолкота великолепия Тому Хьюзу за запоминание браузером места на карте. Спустя неделю Ник Блэк отдал лолкота Дэвиду Эрлу за Name Finder (который через три года заменили номинатимом). «Должен признаться, пришлось обратиться к википедии за определением „лолкота“», — ответил тот. Первая картинка с котом и подписью облетела интернет всего за полгода до этой награды, в январе.

11 декабря 2012 года лолкот пропал с главной страницы вики. Отчасти потому что он портил впечатление от неё, с каждым месяцем всё более аккуратной и динамичной. Но настоящей причиной было то, что текст на врезке не менялся уже почти год, с 25 января, когда лолкота дали Ричарду Фэйрхэрсту за сайт switch2osm. Гарри Вуд, сожалея об утрате, поделился историей награды:
Изначально лолкот великолепия должен был присуждаться ежеденельно. Это продолжалось всего две недели (пока сообществу хватало сил поддерживать такой проект. Подобное едва ли могло продолжаться еженедельно)! Однако со временем ситуация слегка изменилась: лолкот превратился в высшую награду за вклад в OSM. Что-то вроде георгиевского креста за отвагу. Частота присуждений упала до трёх-четырёх в год.

И вот что странно, ничто не останавливает любого участника от присуждения лолкота кому и когда угодно. Мы не сочиняли никаких правил и не устанавливали выборных процессов. Не знаю, то ли люди в целом не понимали этого, то ли начали слишком уважать лолкота, чтобы им разбрасываться. Но частота в последнее время снизилась ещё больше. Решений два: либо мы присуждаем его кому-нибудь! Либо убираем лолкота со страницы, пока кто-нибудь не захочет его присудить (при этом его, скорее всего, забудут и отправят на пенсию). Не знаю, правда, готовы ли мы проститься с ним навсегда.

Третье измерение OpenStreetMap

В заметке UN Dispatch рассказывают про странные названия улиц столицы Афганистана на картах Apple. «Bad Monkey», «MoJo Way», вот это всё. Причина? Помните, как Эппл взял карты OSM, но древнейшие, от 2010 года? Оказалось, как раз в это время первые мапперы Кабула решили пошутить, дав свои названия нескольким улицам. С тех пор карта значительно подросла и посерьёзнела, вот только пользователи айпадов оценивают её по устаревшим данным. Это хороший повод дополнить известное утверждение:



Нельзя взять слепок данных и сказать: это — OpenStreetMap. Он теряет свою суть, своё главное отличие от остальных картографических данных в момент, когда вы его загружаете. Наш проект существует в трёх измерениях, и как нельзя от данных отнять широту или долготу, OSM лишается смысла, если его данные обрезать по оси времени. Участники это хорошо понимают, ожидая от всех сервисов на базе OpenStreetMap как минимум ежедневного обновления, в худшем случае — ежемесячного. Каждую секунду сотни человек существенно изменяют карту, что складывается в полгигабайта правок ежедневно, 0.2% от всех данных. Да, у нас масса ошибок, но в контексте третьего измерения они несущественны, поскольку обратная связь мгновенна. Обрежь время — и данные OSM превращаются в неполный, неудобный, местами просто неверный склад геоданных. Именно его часто сравнивают с альтернативами, коммерческими картографическими данными, ведь они точно так же лишены третьего измерения, имитируя его версионностью.

То же верно и для обратного процесса, импорта чужих данных в OSM. Многие энтузиасты рассматривают импорт как единичное вливание данных, «сделал дело — гуляй смело». В итоге на карте появляются двумерные кладбища данных, за которыми никто не присматривает. Источники импортов обновляются: так, пока американцы ковыряются в TIGER от 2005 года, уже вышел значительно превосходящий его по качеству TIGER 2012. Несколько стран импортировали покрытие CORINE 2006 года, которое неминуемо обновят, но иначе как всё удалить и импортировать заново, данные в OSM не обновить. А править руками импортированное настолько муторно, что этим никто не занимается. Большие импорты остаются зафиксированными во времени, они не становятся частью OSM, торча из него спустя годы, когда участник, загрузивший их, уже давно покинул проект.

Поэтому мы так осторожны с предложениями бесплатных геоданных для проекта и не спешим немедленно всё загружать, скорее наоборот, предостерегаем от этого других. Лучший способ добавить ваши POI — открыть обновляемый набор их координат и метаданных, которые осмеры будут синхронизировать в полуавтоматическом режиме, а то и вручную, через валидаторы вроде этого. Идеальный способ добавить нам пространственный слой, вроде лесов и полей или зон использования воздушного пространства, — открыть его отдельным набором и подключать во время отображения, не захламляя общую базу очередной нередактируемой и мешающей обычным участникам кучей объектов.

Тайлы из QGIS

Раньше, чтобы посмотреть хитро привязанный снимок в JOSM, приходилось настраивать MapServer. А показать свой стиль — лишь картинкой. NextGIS спешит на помощь: они опубликовали плагин, который из карты делает тайлы. Их уже можно подключить как в лифлете, так и в редакторе.

Глобально устаревшая схема тегирования

Недавно ErshKUS и Komяpa вновь подняли в чатике вопрос автоматической замены building=entrance на entrance=yes: после прошлогоднего голосования за новый вариант обозначения сотни тысяч «старых» тегов мозолят некоторым участникам сообщества глаза. И тут же обнаружилось, что pschonmann без спроса взял и загрузил огромные ченджсеты, где не только исправил спорный тег, но и другие, которые валидатор KeepRight пометил как устаревшие. Разумеется, DWG всё это откатила на следующий день.

Это повлекло очередную волну споров в чатике и вылилось в тему на форуме, где Hind поставил сообщество перед выбором: покрываться плесенью, не форсируя замену тегов, или запускать массовые правки, как только будет принят очередной пропозал с обновлением схемы тегирования.

Разумеется, околотехнические гики, из которых OSM состоит чуть менее чем полностью, сразу выбрали второй вариант: как же так, база данных не соответствует схеме! И бросились обсуждать технические мелочи: величину переходного периода, последовательность действий, зоны ответственности. Чтобы не вовлекать страшный DWG, сразу отметили, что такие замены лучше делать в пределах одной страны. Проблема же в том, что изначальная постановка вопроса некорректна. И более того, она базируется на двух неверных предпосылках: 1) механизм пропозалов имеет смысл; 2) вики определяет используемые теги.

Модель тегирования в OpenStreetMap зиждется на принципе «Any tags you like»: у нас свободная база и никто не может указать, какой тег использовать. Другой вопрос, что если ваш тег никто не понимает, то он бесполезен. Поэтому все используемые теги очень желательно документировать в вики. Многие так и поступают: в нашей вики можно найти множество страниц, посвящённых очень редким тегам. Ссылки на такие страницы объединяются в каталоги по типам, а каталоги фильтруются и объединяются в колоссальные страницы «Map Features» и «How To Map A». Благодаря этой документации вам не нужно придумывать и продвигать тег каждый раз, когда вы встречаете что-то новое: большинство объектов уже имеют обозначения, и найти их не очень сложно.

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

Постоянное упоминание пропозалов привело к тому, что мапперы выдвигают их до того, как что-то закартировать с использованием предлагаемых тегов. Затем тратят месяц на споры, полировку схемы и обслуживание голосования. И потом не понимают, что делать, если схема оказалась отвергнута. Или хуже — принята. Объём бюрократии чудовищен, и всё ради включения в обсуждение лишних 20 человек. Разумеется, в их числе не будет пользователей новой модели тегирования, не будет мапперов, нуждающихся в этом теге, и не будет специалистов по обсуждаемой предметной области. В итоге многие современные теги остаются без описания в вики, потому что новички боятся создавать страницы тегов, минуя пропозалы, а главным информационным сайтом стал TagInfo.

Другими словами, вики создавалась, чтобы описывать используемые теги. Со временем часть мапперов решила, что вики первична: как тaм написано, только так и можно мапить. Поэтому они начали смотреть на пропозалы как на директивы, создавая их, когда тег почти не представлен в базе и чувствуя, что как только схему примут, все станут на неё смотреть и использовать, и уже ничего не изменишь. Отсюда родились вики-бюрократы, следящие, чтобы каждый принятый пропозал был идеален. Жёсткость схемы привела к тому, что пропозалы стали создаваться не только для введения новых тегов, но и для изменения существующих схем. При этом, как видно, основания у этого нет: кажущаяся директивность, со всеми устареваниями тегов и требованиями мапить правильно, основывается на неверной предпосылке первичности вики. В реальности хорошо если одна десятая мапперов вообще в курсе, что по решению десятка человек может поменяться тег, использованный сотни тысяч раз. Поэтому поставленный Hind вопрос нужно рассматривать не в контексте «заменить устаревшую схему на новую», а как «у нас есть один распространённый тег, давайте заменим его на другой».

Теперь посмотрим, что на что предлагается заменить. В модели тегирования OSM есть каскадные теги (они тоже нравятся не всем, но практика устоялась). Например, highway=crossing + crossing=uncontrolled или natural=water + water=pond. Второй тег уточняет первый, но без него смысл тоже понятен. А что если мы введём crossing=yes и water=yes? Внезапно, первый тег стал не нужен! Уточняющие теги почти всегда уточняют один фиксированный тег. Избыточность в нашей базе, неужели у вас не чешутся руки её поправить? Давайте сделаем water=yes и устраним natural=water! То есть, давайте, раз случайно приняли entrance=yes, устраним building=entrance. Аргументация «за» и «против» для обоих предложений не может отличаться, и в контексте становится более понятной. Например, давайте перевернём в соответствии с известностью тегов: если на входе есть building=entrance, зачем ставить дополнительно entrance=yes? Устранение building=entrance совершенно немотивировано («но так же лучше» — это не мотив, всё работало и до пропозала) и касается тега, используемого более половины жизни проекта.

Получается, вопрос касается только массовой правки с указанными параметрами, но при этом с подразумеваемым упрощением принятия решений по последующим подобным правкам (как crossing=yes). Без опоры на «устаревший тег» и «актуальную схему». Сообщество совершило ошибку, приняв тег, эквивалентный уже используемому, и решение может быть только одно: во всех программах теперь нужно поддерживать оба. Глупо ожидать, что после правки building=entrance перестанут использовать: продолжат — вики же не директивна, — и пользователям не резон удалять строчку из программы для этого тега.

Моё отношение к массовым правкам, будь то импорты или ковровые замены тегов, известно: лучше не надо. На мой взгляд, они лишают базу «жизни», закрепляют её состояние и дают пользователям ложное ощущение стабильности. Участникам OpenStreetMap, программистам, значительно проще написать робота, нежели аргументировать его использование. Так, предлагаемая массовая правка предсказуемо не следует правилам OSMF для массовых правок, на которые ссылается страница «устаревших тегов». Вместо этого инициаторы «по-русски» хотят договориться с, судя по форуму, новичками и быстренько провернуть замену. Предложения написать в DWG или, как минимум, оповестить tagging@ сталкиваются с непониманием и страхом: вдруг откажут? По-моему, это — первый признак того, что вопрос перехода на новую схему вообще не стоит (а не «я выбираю первый вариант»), и что проблема «неактуальной тягомотины» надумана и раздута, не столько ради этой конкретной замены, сколько для оправдания будущих масштабных актов наведения порядка в базе.
Ранее Ctrl + ↓

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