Позднее Ctrl + ↑

Тропинки

Идёшь, значит, по лесу, смотришь ягоды по сторонам, гладишь случайного кота. Заглядываешь в Organic Maps и замечаешь, что тропинка не отмечена. Вечером открываешь JOSM, проклацываешь линию — и вспоминаешь, что когда в прошлый раз навесил на тропинку привычный тег highway=path, набежали другие мапперы и завязался спор. Как же правильно?

Довольно долго был консенсус: highway=footway — это пешеходная дорожка, за которой следят (улучшают покрытие, устанавливают освещение и т. п.), а highway=path — это случайная тропинка, типа как люди протаптывают на углах между footway или в лесу. Год назад это было отмечено и в русской вики. Разница казалась очевидной: по path не всегда проберёшься на велосипеде, а footway вполне подходит. Объединение этих тегов на картостиле OSM Carto стало той гранью, за которой некоторые участники разочаровались в его принципах. «Path и footway — совершенно разные объекты по OSM Wiki» — писал vvoovv. Откуда недопонимание?

Оказалось, англоязычное сообщество ещё в 2013 году поспорило на эту тему, почти ровно десять лет назад. Ричард пожаловался в дневничке, что path обозначает «всё вышеперечисленное»: и тропинки, и велопроезды, и грунтовки, с покрытием и без. Никто не знает, что там под path. Шон из Cyclestreets сдаётся: «чёрт его знает, что там». Швед Туре для своего картостиля пытается выжать максимум из дополнительных тегов, но что делать, если их нет? В нашей вики с 2009 года собирают мнения о path, и единственное, на чём сошлись, — четырёхколёсные транспортные средства туда либо не поместятся, либо запрещены.

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

Триединые теги

Простой ответ — такой тег есть, и это highway=path, только указывайте surface и bicycle. Сложный требует понимания трёх уровней access: физического («тут можно проехать»), юридического («тут разрешено проехать») и онтологического («это тротуар»). Первые два из них отмечаются одним тегом (access/foot/bicycle/bus/motorcar/...). Хотя в вики юридический аспект выделен и несколько раз просят не использовать тег для физических ограничений, кто из нас не навешивал access=no на закрытые ворота, или motorcar=no, когда на проезжей части бетонный блок?

Онтологическое ограничение доступа выводится из других тегов и географического контекста — например, highway=footway. В России мы знаем, что по тротуару юридически нельзя ехать на велосипеде, но физически — вполне. Поэтому иногда переключаем планировщик маршрутов в режим пешехода, чтобы построить лучший веломаршрут. А тот, в свою очередь, подключает highway=path в болоте и делает маршрут интереснее.

У нас есть теги highway для всего. Path возникает, когда дорога проваливается сквозь классификации:

  1. Одновременно пешеходная и велосипедная дорожка, или ещё какие-то равнозначные категории. Можно, конечно, выбрать главную и сделать highway=cycleway + foot=designated (т. е. пешеходам знаками тоже разрешено). Но вики и JOSM советуют уравнять их через highway=path + нужное проставить в designated. В этом случае path — это шаблон для footway, cycleway, bridleway и прочих; highway=path + foot=designated = highway=footway.
  2. Дорога без назначения. Здесь ходят грибники или ездят квадроциклисты. Или пропахал осенью джип, тренируясь к заезду. Маршрутов для четырёхколёсных средств нет (иначе бы поставили highway=track или highway=service), но следы налицо. Иногда такие дороги облагораживают, от чего они не перестают быть path.
  3. Ничья дорога. То, что мы называем тропинками. Все остальные значения highway стоят на учёте, эта же возникла стихийно и не зарастает только потому, что там ходят или ездят люди. Покрытие натуральное. Отличие от 2 — тропинка может куда-то вести или быть важной частью велопешеходной сети. Там «не используется, чтобы куда-то добраться», здесь — «не стоит на балансе».

Все три пункта объединяет то, что мы не можем ничего сказать про проходимость path для кого-либо, кроме здоровых пешеходов. Ну, разве что тег bicycle=* поможет. Поэтому для highway=path обязателен хотя бы один дополнительный тег. Да, это surface. Он дополняет 29% path в мире, но 22% в России.

Path недостаточно

Помимо surface, для городских дорожек стоит указать тег юридического доступа (foot=designated) вместе с segregated=yes/no для велопешеходных дорожек. Как ни странно, мапперы ставят footway=sidewalk/crossing и на highway=path: звучит странно, но по первому пункту вверху разницы никакой. Впрочем, и вики, и тагинфо допускают path=crossing.

Загородные и парковые тропинки различаются по проходимости. Её нужно отметить чем-то из этого:

  • Тегом физического доступа bicycle=yes/no. Не совсем легально, но в некоторых случаях альтернативы нет. И гарантированно поможет планировщикам маршрутов.
  • smoothness, хотя он слишком заточен под автомобили (тропинки — very_bad и ниже). Я бы использовал surface:grade.
  • informal=yes для всех «ничьих» дорог, третий тип в списке выше.
  • trailblazed=yes, если по ходу тропинки на деревьях есть отметки.
  • sac_scale для горных троп, trail_visibility для ориентирования, mtb:scale для техничности прохода на велосипеде, wheelchair и width — кажется, уже перебор.

Но главное, что вытекает из первого пункта классификации выше, — тропинки можно отметить как highway=footway! Этот тег подразумевает foot=yes/designated, то есть:

  1. По footway гарантированно можно пройти, он создан, чтобы ходить. При этом для велосипеда разрешение не очевидно: тег bicycle за городом обязателен. В остальном же правила такие же, как для path: добавляйте surface и остальное.
  2. Можно напороться на аргумент, как для highway=cycleway в Петербурге: ставим тег только на тротуары и дорожки, обозначенные знаками 4.5.1-4.5.5. То есть, footway обозначает юридический статус дорожки. Всё остальное — игристый path.

Подытоживая, в OpenStreetMap всё сложно, и прочитав тридцать вкладок, я не стал понимать систему лучше — даже не нашёл никакой системы. Сейчас я бы картировал лесную тропинку с фотографии как highway=footway + surface=ground + bicycle=yes. Что поменялось — раньше я смотрел на тег highway=path и видел тропинку, на которую лучше не соваться на велосипеде. Теперь я вижу тег-заглушку, который не имеет смысла без пояснений. Чего и добивались авторы роутеров и картостилей.

Внезапная топо-карта

На глагне новый слой карт — впервые с января 2021 (когда туда добавили CyclOSM). Он называется Tracestrack Topo, выглядит контрастнее и чище на близких масштабах, но топорно на z11 и дальше, где протекают его истоки из OSM Carto и OpenTopoMap. Из всех стилей на osm.org этот приятнее для глаз и удобнее, если планируешь поход. И он очень быстрый: три сервера для рендеринга и ещё пять кэширующих!

Откуда он взялся — загадка. Для начала, не было ни предупреждений, ни объявлений. Он просто появился. Слоя нет в списке предложений на вики — автор добавлял его в декабре и сразу удалил, а с мая Пол Норман вообще очистил все предложения и попросил писать напрямую OWG. Которая не публикует протоколы совещаний с января. Совет OSMF здесь ничего не решал. Короче, процессы в OpenStreetMap понемногу закрываются, в основном из-за непрозрачного OWG.

Автор — Qing Cai из Нидерландов. Это примерно всё, что можно узнать о нём и его компании Tracestrack из одного человека. Публичная история примерно такая:

  • 2015—2019 — интересовался записью и отображением GPS-треков, о чём написал пару постов в Medium.
  • 2020 — пришёл в OpenStreetMap и начал картировать Китай и улучшать страницы по нему в OSM Wiki.
  • 2021 — создал картостиль для своего приложения на базе OSM Carto.
  • 2022 — зарегистрировал компанию Tracetrack для продажи тайлов и сфокусировался на ней.
  • 2023 — открыл исходники TracesMap, как сообщил WeeklyOSM, а теперь ещё и добавил свой слой на osm.org.

Это довольно вдохновляющая история — не каждая компания может позволить себе достаточно серверов, чтобы справиться с нагрузкой от глагне! И слой на osm.org — лишь вершина айсберга. Если всмотреться в демонстрационный сайт, он собран из нескольких растровых и векторных слоёв: заменяемой подложки и надписей (выбор из 21 языка), плюс дополнительные слои типа велотрасс или машрутов общественного транспорта. Похоже на то, с чем мы экспериментировали лет десять назад, но, как видно, работает!

OpenStreetMap атакуют

Скриншот сделал literan 25 августа

На этой неделе карта OSM подверглась «дефейсу»: на ней рисовали гадости, как когда-то на картах Google и яндекса. Казалось бы: ну да, вандалы у нас всегда водились. У нас есть средства отката правок и кнопка жалоб в рабочую группу по данным. Но на этот раз масштаб оказался беспрецедентен: более семи тысяч аккаунтов загрузили сотни тысяч правок, заменяя названия улиц и заведений в РФ оскорблениями.

Как и рассчитывал неизвестный вандал, названия попали на карты разных популярных систем, включая википедию, телеграм, guru maps; муниципальные системы типа умных остановок, парковок и прочих табло; частные веб-сайты и osmand live. Какие-то системы из-за этого закрыли «на переучёт». Одна из русских компаний вывесила на vc рекламу в духе TomTom, что осму доверять нельзя, и она переводит свои карты на 2gis. Последние четыре дня в чатиках все узнают, как обновить тайлы в браузере (Ctrl+F5 или ⌘⇧R), потому что хотя откатывают быстро, картинки остаются в кэше.

Что делать? Пожалуй, это тот случай, когда отдельные участники бессильны и нужен системный подход. То есть, усилия программистов, DWG и OWG (админов):

  • Камиль Монич написал инструмент для поиска вандальных пакетов правок и их отката. Тот работает день и ночь, неутомим, как и инструменты, создающие вандальные правки.
  • Энди Таунсенд и другие участники DWG банят аккаунты вандалов тысячами. Моральные силы на исходе, поэтому...
  • Том Хьюз из OWG ограничил скорость регистраций с одного IP и с одной почты. Да, вы думали, что один аккаунт — одна почта, но забыли про суффиксы после плюса (ilya+osmsuffix@gmail.com) и поддомены.
  • Роман Деев в русскоязычном чатике ведёт учёт и помогает пользователям (как и многие другие участники, приходите к нам).

Мы впервые столкнулись с массированной автоматизированной продолжительной атакой, и способы защиты придумываем по ходу дела. Индивидуальные откаты, пожалуй, только усложнят работу, поэтому увидев плохое название, сначала проверьте, что его не откатили (нажав кнопку «что здесь»). Найдя там объект, откройте профиль его автора, нажмите «сообщить об этом пользователе». И ждите.

Эта ситуация хуже художественного вандализма, когда рисуют вымышленные символы или города. Хуже добросердечного вандализма переводчиков, когда люди заливают сотни тысяч локализованных названий (недавно участились правки тегов name:ru и name:uk). Но вандализм неизбежен. Если вы используете OpenStreetMap в качестве подложки, рано или поздно вы обнаружите, что это открытый проект, отредактировать который может каждый. Нельзя иметь только плюсы без минусов. Без третьего измерения OSM хуже альтернатив, а с ним — сложнее.

Но модераторы в OpenStreetMap есть, и благодаря их работе вы замечаете вандализм только в закэшированных картинках, как свет давно умершей звезды в ночном небе. Сотни картографов на зарплате просматривают правки в компаниях типа Meta, Grab, Mapbox, TomTom. Единичные случаи откатывают энтузиасты на местах. И нельзя не упомянуть ежемесячные курированные слепки Daylight Map Distribution от фейсбука, которые, скорее всего, скоро станут частью Overture Maps.

Нормальная карта

© Mapbox, OpenStreetMap

Ребятам в Mapbox не давал покоя красивый рендеринг F4 Map, и они запилили объёмные здания и реалистичность в свои карты общего назначения, Mapbox Standard. Поздравляю дизайнеров и технологов, получилось впечатляюще.

Но. Как же без «но». Я смотрю на виды с птичьего полёта и ничего не понимаю. Всё это очень красиво — и очень бесполезно. Ровно как их древний инструментарий для видеорегистраторов, который тихо умер. Проблема с инновациями в картографическом дизайне одна, и она не менялась последние пятьдесят лет: карты — не для людей.

Мы подбираем цвета и текстуры, наклоняем карту и экспериментируем с объёмом, включаем-выключаем отдельные слои, чтобы сделать карту понятнее и удобнее. Но ничего не работает. Если показать заблудившемуся человеку на улице маршрут на карте, он/она едва ли смогут понять, как одно соотносится с другим.

Карты — это вид сверху. Можно работать над ним сколь угодно профессионально, но это профессия сродни «birdshit architects», кто проектирует красивые рендеры без учёта людей, которые будут по ним ходить. Пока мы не летаем, вид карты будет непривычен глазу.

© warmuseum.kiev.ua

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

То же самое карта, даже под углом и с объёмными зданиями: это непривычный вид, и вместо упрощения жизни она усложняет задачи. Требует дополнительно выучить, как одно соотносится с другим.

Поэтому никто всерьёз не пользовался F4 Map для визуализации данных или схем проезда. Это лишь красивая картинка. Поэтому те же схемы проезда в России рисуют на базе Яндекс-карт, а не OSM или 2гис: люди запомнили одну карту и не хотят учить остальные. Помните, как взрослые люди (и дети теперь) пользуются компьютером? Запоминают значки и последовательность действий, но не изучают каждое новое состояние в целях понять. Незнакомые карты требуют обучения, а какой с этого прок.

Решить эти проблемы можно, но это R&D, а венчурные компании не любят R&D. Инвестиции дают только под «те же щи, да погуще». Отсюда и новый анонс: смотрите, карта становится тёмной без ведома пользователя, ну не круто ли! Мы нарисовали сотни объёмных домиков (но вам не дадим)! Как и с анонсом, что Mapbox GL JS теперь рисует глобус на далёких масштабах: читаю и восхищаюсь. Сотрудники компании крутые. Но кто будет работать над тем, чтобы все эти достижения стали не нужны?

Без Maxar

Утром 22 июня спутниковая подложка Maxar перестала работать во всех редакторах, включая iD, JOSM и Every Door. Не только в России, как иногда бывает из-за военных санкций, но и во всех остальных странах.

За несколько дней мы спросили компанию, что случилось с ключами доступа, — частно и от организаций. Люди и фонд OpenStreetMap пока не получили ответа. Гуманитарная команда вроде как получила: «руководство попросила приостановить сервис, пока не будут решены проблемы с ограничением доступа».

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

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

Однозначного решения проблемы «зайцев» нет. Рекомендовать бесплатные снимки сложно, потому что любые рекомендации — даже в осме — разбиваются о «но мне надо!». Джо Моррисон призывал открыть архивы снимков: всё равно они лежат мёртвым грузом, а так будут двигать науку и технологии. Наконец, есть путь твитера: шестьсот тайлов в день, достаточно для среднего картографа.

В любом случае, решение не за нами. Используйте пока любые альтернативы, благо у нас их много: Mapbox, Bing, Esri, OpenAerialMap и местные источники.

Ранее Ctrl + ↓

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