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

ВНЕЗАПНО

Позднее Ctrl + ↑

Первопереоткрыватели

В конце января рабочая группа по данным получила уведомление от перуанской компании: «семь лет назад ваши картографы стащили у нас геоданные, удалите их». DWG расчехлила Redaction Bot (специальный скрипт, который не только удаляет объекты, но и вычищает их из истории) и оперативно убрала заимствования вместе с правками, которые семь лет накапливались поверх них. Сообщество в Перу подготовило «пирог» для картирования и за три месяца перерисовало потерянное, о чём отчитался karitotp.

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

Такие инциденты показывают силу сообщества. Но и его ограниченность. Картографов-любителей привлекают белые пятна, они любят дорисовывать дворовые проезды и домики в промзонах. Сообщество невероятно быстро делает базовую подложку в любом регионе мира: дороги, населённые пункты, гидрографию. Радуется анимации с было-стало и пишет посты в блог. А затем уходит.

Позавчера Александр Истомин нашёл кладбище мусорных точек в Саранске. Почти год там копятся объекты, которых нет на местности. Незаметно — потому и не удаляют? Нет. 22 апреля провели первый тестовый матч на новом стадионе «Мордовия», построенном к чемпионату мира. Вчера прошёл второй матч. Стадион открыт, все горожане о нём знают. На OpenStreetMap прямо сейчас там строительная площадка. Картографов не волнует: обновлять уже нарисованное не так интересно. Даже если картой OSM конкретно в этом месте будут пользоваться сотни тысяч туристов через Maps.me.

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

 5 комментариев   2018   mapping party   ВНЕЗАПНО

Нет, карта

BushmanK в декабре длинно обосновал, почему новичкам лучше сразу говорить, что OpenStreetMap — это база данных, а не карта. В обсуждении заметки на радио я предположил, что каждый осмер проходит три стадии понимания.

Как новичка не убеждай, а он видит: словом OpenStreetMap подписывают растровые карты, которые подобно гуглю и яндексу появляются на разных сайтах, и венце их openstreetmap.org. Эти карты умеют находить адреса и прокладывать маршруты. Правда, пробок нет, и слоя снимков, поэтому OSM явно проигрывает своим конкурентам. Зато работает в навителе, есть кнопка «редактировать», да и, говорят, карма чистится, если править эту карту, а не народные. Хорошее дело народным не назовут.

Через пару месяцев бороздения форума и вики заматеревший осмер понимает: карта — это вообще не про OSM. Мы наполняем некую абстрактную базу геоданных, которая может быть представлена в любом виде и использована столькими способами, что не всегда и поймёшь, гео это или нет. Есть набор абстрактных тегов, есть сомнительная точность на всех этапах, есть целостности физическая, геометрическая и логическая (и печальное отсутствие средств их сохранения). Опытный участник умеет пользоваться редактором Level0 и видит, откуда пошли все правила участия в проекте. И, конечно, при объяснении сути проекта новичкам он идёт напрямик, ошарашивая пунктом первым: «OpenStreetMap — это база геоданных».

Третья стадия — это когда осмер понимает, что всё это время он рисовал карту! То есть, конечно, это всё ещё база данных. Но чтобы понять, что нужно добавлять в эту базу, нужно понимать, что продукт OSM — это, как ни странно, карта. Карта того, что есть в реальности, с уровнем детализации как у карты, с системой координат, слоями, подписями и т. п. То, что это карта, отвечает на многие странные вопросы, типа стоит ли добавлять контуры снимков или маршруты самолётов. В базу геоданных — да. На карту — нет. Понимание того, что OpenStreetMap — это, прежде всего, карта, упрощает решение вопросов и экономит время. А когда не мучает экзистенциальная тоска, наполнять базу геоданных становится веселее.

Разница между первой картой и последней в том, что вначале карта OpenStreetMap воспринимается как полуфизический объект: изображение на экране, распечатанный лист. А на третьей стадии осмер понимает карту как совокупность всех возможных карт, которые можно получить из данных OSM. Дороги всех цветов и размеров, населённые кварталы в виде домов, закрашенных прямоугольников и строк в таблице населённости, POI в поиске, в картинках, в записной книжке, в роутинге, в базах данных, в цифровом искусстве, в табличках на их прототипах. Рисуя и тегируя линию, опытный осмер видит все возможные применения для неё, и понимает ограничения среды, модели и здравого смысла. В двух словах это можно сократить до «рисуем карту».

Но понимая, что у каждого участника проекта разные взгляды на его продукт и терминологию, и ожидая толпы новичков с немного искажённым понятием карты (ох этот навител), осмер мгновенно поднимается на четвёртую стадию понимания проекта, которую подметил Эдуард «edward17»: OSM — это боль.

 14 комментариев   2016   ВНЕЗАПНО

Ничего

Мы всегда считали, что в точке 0;0 ничего нет. Приходили периодически и махом удаляли гору мусора. Ничего нам не указывало, что все объекты там — плод ошибки, но мы так считали. Недавно оказалось, что один физический объект (кроме пятикилометрового столба воды) там есть: это буй. Его цель — измерять температуру и ветер. Он дрейфует вокруг нуля, и на OpenStreetMap отплыл на сотню метров. И теперь, когда к нему будет прибиваться мусор со всей планеты, нужно не забыть его не удалить.

Это мне напомнило про вопрос обозначения отсутствия данных. Вот например, на конференции Костя «GaM» показал велосипедный трек от Кузьминки до Невской Дубровки: он проверял все отворотки в поисках сквозной дороги. Нашёл только один проезд, но как он обозначил тупики отвороток? Track просто обрывается, и непонятно: то ли анонимный объездчик (на навигаторе нет авторов карты) устал, то ли там поляна и тупик. Конечно, у нас есть тег noexit=yes и антоним к нему, fixme=continue, но никаких промежуточных вариантов. Что, если оканчивается проезжаемая дорога, но ещё до магистрали идёт пешеходная тропа? Что подразумевает continue: что там волки, что объездчик устал, что дорога стала сильно хуже?

Или случай из волховской картовстречи: на бинге обозначены два дома, в OSM — тоже, а на местности — две заросших бетонных площадки: дома спилили под ноль, хоть стоянку организуй. Нельзя дома удалить, потому что это не обозначит их отсутствие. Я поставил точку с описанием «здесь домов нет», потому что непонятно, как обозначать такие бетонные площадки. Но не сомневаюсь, что какой-нибудь домикоманьяк придёт, увидит точку и с возгласом «какие ваши доказательства» снесёт её и дорисует недостающее.

Всё это сводится к тому, чего на карте нет. Сейчас у карты два состояния: либо что-то нарисовано, либо неизвестность. Нужно придумать третье состояние: «точно чего-то нет». Нет буя. Нет дома. Нет дороги. Нет брода, можно проехать. Если на карте не отметили — это не значит, что объекта нет. Как обозначить отсутствие?

Причём, даже наличие объекта в данной точке не означает отсутствия всего остального. Если ткнуть в середину леса, нельзя быть уверенным, что в этой точке нет здания. Даже если там прошёл маппер и своими глазами видел, что на 10 км вокруг только черника растёт. Он же не может это наблюдение транслировать на карту. Возьми случайную точку ограды — точно ли в ней нет дырки? Насколько точно маппер нарисовал береговую линию: если туда прийти, окажешься на суше или в воде?

Не думаю, что этот вопрос решён хоть на одной альтернативной карте. Коммерческие картографы используют понятие качества и равномерности: вероятность отсутствия дороги одинакова на всей территории. Но это ещё хуже, потому что доверие к фрагментам, объезженным на автомобиле, равняется доверию к обрисованному по генштабу 60-х годов, и зачем тогда тратить деньги на объезд? Все карты отвечают только на вопрос «что здесь есть», и даже ответ «ничего» может быть ложью.

Вопрос, конечно, в доверии, а не в наличии-отсутствии. Насколько карте можно верить в этой конкретной точке. Поэтому можно заменить обозначение отсутствия слоем доверия. Непрерывным на весь земной шар, плюс на каждый сантиметр каждого объекта. И заставлять мапперов заполнять величину доверия. «Я здесь проехал и уверен». Правда, чихнул и не заметил круглосуточного магазина, но махом залил доверием всю трассу. Можно ли доверять мапперу, отметившему уровень доверия? И кто его будет заполнять — вон, smoothness заполняют лишь самые маньяки.

Но если этот вопрос решить, то OpenStreetMap — или его форк, развитие, альтернатива, — станет самой достоверной картой в мире, просто потому, что на карте будут места со 100% достоверностью. Где мы точно сможем сказать, что все люки расставлены так, как человек их увидел два месяца назад, и схема движения по полосам проверена только вчера. Где в точке 0;0 достоверен будет только буй, но не гора мусора, прибившаяся от неудачного импорта. И где очередную покатушку можно будет спланировать не только по пустотам на карте или плотности треков, но и по уровню достоверности: ведь мы же хотим, чтобы наша карта везде была самой точной.

Правда, тут всплывает понятие личной ответственности за карту. Кто нарисовал конкретную фичу и почему? Какой уровень доверия к пользователю? Означает ли выбор редактора JOSM более достоверные данные, чем iD? Влияет ли тег source на актуальность? Какая ответственность у участников мероприятий гуманитарной команды, которые пришли один раз, но, наверное, очень старательно обклацывали какое-нибудь Мали. Ценнее ли личное наблюдение обрисовки по спутниковому снимку? А если снимок — ортофотоплан, сделанный с квадрокоптера? Вопросов бездна, и вкупе они означают: достоверность карты не измерима, осму можно только верить.

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

Использованы фотографии NOAA, Константина Мошкова и F4JA13.
 11 комментариев   2015   ВНЕЗАПНО

Московское время

Долгое время я уравновешивал кучу московских мапперов непомерной активностью петербуржских. Собирал их не реже раза в месяц. Считал, во сколько обойдётся проезд до очередной конференции. На вопрос о работе отвечал, что картами занимаюсь только в свободное время. Теперь, спустя почти пять лет участия в OpenStreetMap, всё поменялось: с этого понедельника я работаю в maps.me, ныне входящем в Mail.Ru Group, и живу в Москве.

Это означает, что приложение maps.me заинтересует не только миллионы нуждающихся в офлайн-картах, но и тысячи осмеров. Что направлениям Mail.Ru Group, которым понадобится карта для игры или социалки, теперь достаточно одного внутреннего звонка. Что обсуждения открытых геоданных и инициатив, касающихся открытых карт, не пройдут мимо сообщества. Что на мысль от ГИС-Лаба «а не организовать ли» последуют положительный ответ и помощь. Что удастся протолкнуть OpenStreetMap на новых площадках, напомнить москвичам, что карты — это не только Яндекс.

И самое главное, московское сообщество OSM перестанет быть диванным. Я не просто перенесу сюда всю петербуржскую движуху, коей завидовали осмеры со всей России, но смогу задействовать в ней все ресурсы Mail.Ru. Как программист и специалист по OpenStreetMap, я буду работать над удвоением крутости maps.me, но как осмер с возможностью уделять проекту часть рабочего времени, я планирую сделать OpenStreetMap самым громким и одним из самых эффективных краудсорсинговых проектов в России. Начнём, как обычно, с картовстреч — готовьтесь к апрелю, москвичи.

Команда maps.me растёт, мы будем рады программистам на C++ и другим специалистам. Пишите, будем строить большие планы и писать маленькие фичи вместе. В этом блоге, радиопередачах и на других сайтах я продолжаю говорить как осмер, а не как сотрудник maps.me: ничего из сказанного не является официальной позицией компании, если не заявлено обратное.

 24 комментария   2015   maps.me   ВНЕЗАПНО   штосм

Any keys you like

Новичкам с первого дня объясняют: придумывайте любые теги, у нас свободная модель. Рисуйте — но лучше справляйтесь по Map Features, а новые теги обязательно задокументируйте. Вы можете обозначить дорогу как «дорога=главная», но чтобы её показывали на картах, придётся изучить значения «highway». Поэтому сначала ищите по вики и форуму, если не нашли — откройте словарь, придумайте варианты, как назвать новый тег, проверьте их по taginfo. Новые теги могут быть любыми, и их не обязательно согласовывать заранее.

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

То ли участники стали менее уверенными, то ли викиманьяки всех застращали, но в последние месяцы рассылка tagging@ необычно выросла: одновременно обсуждаются десятки пропозалов. В прошлой радиопередаче мы два часа перечисляли только темы за январь. Оказывается, в головах мапперов всё поменялось: вместо «сделал — задокументировал» порядок обратный: «захотел обозначить — написал пропозал — пришёл в tagging@ — со всеми переругался — пропихнул пропозал через голосование — снова переругался — поставил тег на точку». Яркий пример — man_made=water_tap, автор которого ярко показал недостатки пропозалов, спровоцировал две длинные философские темы, и сколько объектов обозначено спустя две недели его тегом? Пять. Из них две — автором.

Но то новые теги, а если старые не нравятся? 3,5 года назад мы приняли эпохальный пропозал: entrance=*. Он включал в себя не только классификацию входов, но и требование автоматического перетегирования всех 150 тысяч точек с building=entrance. Противники долго удерживали волну, но сейчас последних около 63 тысяч (два дня назад было 67 — процесс ещё идёт). Тот пропозал отверз хляби разума: оказалось, можно менять устоявшиеся схемы с сотнями тысяч использований. Немногие прошли, но примеров достаточно: электроподстанции, трубопроводы, emergency=*, public_transport:version...

Иногда заменить пару тегов недостаточно. Никита «d1g», проведя полгода за наведением порядка в вики, понял: сама модель «ключ=значение» ущербна. В частности, потому что не позволяет использовать несколько значений одного ключа («;» не в счёт, её никто не поддерживает). Заменой он определил формат «ключ:значение=yes». Плюсы такого подхода расписаны на странице пропозала, минусы предъявили другие участники в рассылке tagging@ и русском форуме. Услышав претензии, Никита понял: без изменения API тут не обойтись, потому что наши проблемы решат только иерархические теги с массивами внутри.

OpenStreetMap только в начале своего развития. Почти все элементы его модели плохи, и каждый рано или поздно хочет тип данных для области, более логичную иерархию тегов, JSON API, лучшую документацию, модераторов и орган, куда жаловаться. Но вы знаете: «хочешь — сделай». Следующая версия API назревает, и самое время расчехлить компилятор C++ и написать желаемые функции. Ограничений нет — только ваше рабочее время и обратная совместимость с базой и нынешним API. В этом году мы увидим немало перемен, на которые будем бурчать: «раньше было лучше», — и наша задача в том, чтобы настоящее стало этим «раньше» как можно раньше. Никита, дерзай!

 4 комментария   2015   ВНЕЗАПНО   пропозалы
Ранее Ctrl + ↓

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