Тропинки
Идёшь, значит, по лесу, смотришь ягоды по сторонам, гладишь случайного кота. Заглядываешь в 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 возникает, когда дорога проваливается сквозь классификации:
- Одновременно пешеходная и велосипедная дорожка, или ещё какие-то равнозначные категории. Можно, конечно, выбрать главную и сделать highway=cycleway + foot=designated (т. е. пешеходам знаками тоже разрешено). Но вики и JOSM советуют уравнять их через highway=path + нужное проставить в designated. В этом случае path — это шаблон для footway, cycleway, bridleway и прочих; highway=path + foot=designated = highway=footway.
- Дорога без назначения. Здесь ходят грибники или ездят квадроциклисты. Или пропахал осенью джип, тренируясь к заезду. Маршрутов для четырёхколёсных средств нет (иначе бы поставили highway=track или highway=service), но следы налицо. Иногда такие дороги облагораживают, от чего они не перестают быть path.
- Ничья дорога. То, что мы называем тропинками. Все остальные значения 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, то есть:
- По footway гарантированно можно пройти, он создан, чтобы ходить. При этом для велосипеда разрешение не очевидно: тег bicycle за городом обязателен. В остальном же правила такие же, как для path: добавляйте surface и остальное.
- Можно напороться на аргумент, как для highway=cycleway в Петербурге: ставим тег только на тротуары и дорожки, обозначенные знаками 4.5.1-4.5.5. То есть, footway обозначает юридический статус дорожки. Всё остальное — игристый path.
Подытоживая, в OpenStreetMap всё сложно, и прочитав тридцать вкладок, я не стал понимать систему лучше — даже не нашёл никакой системы. Сейчас я бы картировал лесную тропинку с фотографии как highway=footway + surface=ground + bicycle=yes. Что поменялось — раньше я смотрел на тег highway=path и видел тропинку, на которую лучше не соваться на велосипеде. Теперь я вижу тег-заглушку, который не имеет смысла без пояснений. Чего и добивались авторы роутеров и картостилей.
стоит еще вспомнить не взлетевший highway=trail :)
ибо есть теория что path это общий путь движения, а не тропинка, к примеру на тех поверхностях которые не удерживают протоптанные/проезженные следы: снег/ледник, песок и т. д. но при этом есть устаканившиеся пути движения по ним...
но это слишком далеко от обывательских тропок и такое прочтение учитывается редкими единицами...
потому и не взлетело.
Зачем путать про назначение тэга access? Ошибки бывают всякие, почему именно эта заслуживает такого внимания?
Ну не знаааю...
Если это highway=path — на простом дорожном/городском велике или даже пешком в сырую погоду я бы соваться точно не стал. Если и доберешься успешно, то, как минимум, перематеришься сам на себя по дороге. При этом на highway=footway я чувствую себя вполне комфортно, понимая, что это — _сделано_ для людей.
Аналогично я не полезу на highway=track на городском седане. Да и на джипе 30 раз подумаю. Хотя, осознаю, что в какой-нибудь глубинке и по highway=service можно что-то по дороге оставить (при том, что местные только тут и ездят, т. к. остальные варианты — вообще не варианты).
«Тегом физического доступа bicycle=yes/no.»
извините, но это фигня какая-то. Это теги legal access, и они по умолчанию означают yes на любых footway и path. Зачем всех путать?
ПДД в мире (кроме Беларуси и еще нескольких стран) запрещают перемещение на велике только по тротуарам, т. е. дорожкам вдоль автодорог (для них применяется особый уточняющий тег footway=sidewalk — роутеры при желании его учитывают и не ведут по ним)
Хаха, я знал, что кого-нибудь это заденет :) По вики — да, legal access. На практике встречается что угодно. Я чаще видел их для физического, чем для юридического доступа. Permissive, designated и private — это да, про legal access. Yes и no слишком расплывчаты для такого.
Меня тоже задело про legal access. Конкретно мне не понравилось, что в статье, которая пытается научить как делать правильно (или рассуждает на эту тему), не порицается нарушение договорённости, и мотивируется это тем, что на практике такое применяется.
Я считываю это так, будто можно взять любое правило и применить к нему формулу «кто из нас не навешивал...». В вики говорится, что нельзя копировать другие карты..., но я то уже знаю, как здесь относятся к правилам...
Илья, ты просто совсем ушел от мапинга (POI через ED не в счет). «На практике», через access-теги мапят проходимость крайне редко и совсем уж новички. Я, при своем ежедневном наблюдении за правками, встречаю такое крайне редко
Я маплю реже, чем десять лет назад, это так. Но всё ещё использую данные и смотрю, как тегирование различается в разных странах. Я вижу 400 тысяч тегов bicycle=yes и 300 тысяч bicycle=no на highway=path. Означает ли это, что там везде стоят знаки «велосипед разрешён» и «велосипед запрещён»? Сомневаюсь. 10% от них — это очень оптимистичная оценка, и только для значения «no».
Проблема, на которую я обращаю внимание в этой статье, — в осме отсутствуют теги для физической проходимости (вспомним maxspeed:practical), поэтому их приходится выводить из сторонних тегов (например, surface), которых тоже либо не хватает (заболоченные участки), либо мало кто знает (trail_visibility). В итоге — теги для legal access и новички, и опытные мапперы, которым лень заморачиваться, используют для других нужд.
Да, это рисование под рендерер, но в отличие от раскрашивания карты транками, я не вижу ничего плохого в том, чтобы объявить, что значения yes и no отличаются от остальных, и этим упростить жизнь.
Вроде в руосме highway=path это просто любой unmanaged (то есть такой, за состоянием которого никто не следит даже добровольно) путь; также в нём упаковано умолчание, что он не подходит для четырехколесных транспортных средств, для которых есть track.
Unmanaged — это устаревшее, год назад это определение пропало даже с русской странички тега. Сейчас это просто любой путь, с исключением для четырёхколёсных.
А всего в базе, согласно Taginfo, 13,5 млн объектов highway=path. Так что имеем всего 5%, из которых, уверен, 3/4 были добавлены хрен знает когда. Тут скорее надо говорить об ошибке, представляющей собой исключение из правил, чем о правиле.
Не-не-не, не преуменьшай. Мы сейчас говорим _только_ об отрезках path, на которых установлены эти теги, о 100%. И среди них почти наверняка использование access в данном виде — это правило, а не исключение.
В общем виде на других дорогах я вполне согласен. Проблема только с path, у которых нет своего типа, допущений и вообще какого-то консенсуса.
в любом случае, наличие ошибок — совсем не причина пропагандировать дальнейший мапинг с ошибками
Я пытаюсь донести, что это не ошибки. Ты просто подходишь с позиции человека, который привдил в порядок город на протяжении дофигища лет. Это было бы сложно делать, если не построить в голове систему, что правильно и что неправильно.
Но осм — это сообщество, а не данные. У людей, в отличие от нормализованных баз данных, нет схемы, нет однозначно правильного и неправильного. Есть то, о чём договорились, и серые зоны. И первого — дай бог 1% от всего.
Картирование троп — это именно такая серая зона. Все делают это по-разному. Роутеры имеют разные мнения. Вики спорные места обходит молчанием. Кажется, что если внимательно прочитать вики, то можно понять, как правильно, и дальше насаждать. Но это так не работает. Снова и снова: вики — это не правила, это рекомендации. Никто не читает вики.
Поэтому это не ошибки, это описание практик и предметов обсуждений из разных сообществ, форумов, вики, чатиков. А также попытка минимизировать расхождения, оставить «legal access» хоть для чего-то.
Ты можешь пойти и настрочить пропозалов. Пойти к каждому маперу и убедить, как правильно. Но в базе уже под миллион path со значениями foot/bicycle, которые не укладываются в стройную схему legal access. Это уже не ситуация с entrance, когда мы, всё-таки, перетегировали ту сотню тысяч под entrance=yes. Это просто реальность, с которой нужно работать, а не закрывать глаза и называть ошибками.
В статье я не пишу ничего нового и не пропагандирую какой-то свой стиль картирования. Я просто попытался свести воедино то, что люди делают, то, о чём говорят, и то, что задокументировано.
ну да, а еще в базе миллион addr:housenumber=дом 8 к.7б (Вовик больше не исправляет на оговоренный в вики формат), и раз их миллион, то это не ошибки, а такая практика, поэтому мы будем закреплять эти практики
Да нет же. Насчёт схемы адресов в России мы своим русским сообществом договорились и задокументировали. Неисключительно — например, «литеры» в Петербурге в своё время выпали. Но в целом однозначно.
Насчёт тегирования абстрактных дорожек, включая тропинки, такого консенсуса нет. Документации тоже нет, слишком многое выпадает из scope, слишком много внутренних противоречий (например, загляди в страницу примеров тегирования path). Поэтому использовать слово «ошибка» в этом случае — ошибка.