OsmAnd, MTB, проезжаемость дорог

Во время подготовки данных для очередного рогейна возникла идея - а почему бы не сделать визуализацию дорог для горных велосипедов по критерию максимально достижимой скорости, чтобы можно было, взглянув на карту, быстро прикинуть как быстрее проехать. Такая визуализация включала бы в себя дополнительные теги, которые влияют на максимальную скорость - surface, smoothness, tracktype, trail_visibility. Можно было бы раскрасить дороги и тропы, к примеру, градиентом синий-красный (хорошая-плохая). OsmAnd поддерживает отображение всех этих тегов, но когда их много то быстро определить качество дороги становится затруднительно. И это при условии что знаешь легенду. Поэтому для кого-то может быть будет полезна интегральная характеристика качества дорог и троп с точки зрения MTB.
Делаю таблицу пенальти. Чтобы определить итоговое пенальти, нужно просуммировать их со всех дополнительных тегов. Например:
highway=track surface=compacted smoothness=intermediate = 5 + 2 + 0 =7
Чем больше пенальти тем хуже дорога. Потом диапазон возможных пенальти планируется упростить до ~10 значений и сделать опцию для отображения на карте. Вопросы, предложения?

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

+60 метров не редкость. Там пешком тяжело идти, не то что на веле убиваться, но путь пешком короткий, да.

Ещё мешают деревья. Нет такого тега которым указать “частые деревья (каждые 2-3 метра)”, ближайший аналог это obstacle=vegetation либо obstacle:bicycle=tree.

Это я к тому, что “хорошесть” и “плохость” зависят от направления движения у дороги.

А что мешает закинуть осмовские данные в какой-нибудь кугис и на их основе раскрасить и распечатать нужные карты?

Конечно. Но перепады высот мы не можем достоверно отображать по причине неточности данных. 30м очень мало для наших целей, к тому же это вместе с деревьями и другими высокими объектами. Можно было бы включить рельеф и предлагаемую здесь мной фичу , и тогда станет несколько понятнее чем сейчас. Или нет смысла это вообще делать?

Хочется карту не для разового применения, а чтобы было доступно всем желающим.

Идея запихнуть все характеристики в одну мне когда-то казалась хорошей, т.к. отображение покрытия и качества дорог в Османде без легенды мне напротив всегда казалось малополезным. Но только не все теги стоит суммировать, например, не важно, указан ли tracktype, если surface=mud.
Касаемо таблицы в текущем виде: я бы не стал уравнивать sett, compacted, fine_gravel, paving_stones, metal, wood, grass_paver или давать разные штрафы в зависимости от класса дороги, т.к. он определяется не физическими характеристиками. Хотя всё это очень субъективно, тут уж ничего не поделаешь.

На openrouteservice.org имеется возможность посмотреть тип и качество дороги вдоль маршрута. Более того, этот сервис предоставляет информацию по крутизне маршрута.

ors

Если все-таки есть интерес к “велосипедостроению” (т/е сделать все самому) можно попробовать - Mapbox Surface API https://www.mapbox.com/blog/introducing-the-surface-api/

Отображаться будет цветом или как на картах по ориентированию разным штрихом? Второе мне кажется интереснее. Правда, условные знаки карт для ориентирования скорее соответствуют тегам track/path/trail_visibility=bad/cutline без учёта smoothness, для велосипеда можно сделать 5 линий с разной штриховкой (как для tracktype) + теряющиеся тропинки и просеки, итого 7. Для скорости не важно, что дорога обозначена как path, track или даже cycleway, если покрытие и его качество одинаковые, но можно оставить для них разные цвета при одинаковой штриховке.

Теперь по поводу штрафов. Мне кажется, что trail_visibility всё-таки стоит не суммировать, а использовать независимо. Тропа, которая плохо читается на местности, скорее всего будет с плохим накатом и кучей мелких неровностей, а дорога с вполне однозначным направлением может быть как отличной, так и совершенно непроезжаемой, за это уже отвечают другие теги.

tracktype стоит использовать только, если не указан surface (по сути это грубое описание покрытия на уровне твёрдое/мягкое). Причём если grade1 обычно соответствует asphalt/concrete/paved, то grade2 часто сочетается с surface=gravel, который не очень приятен для велосипеда (но в среднем, это скорее compacted, который, наверное, лучше ground).

Для того, чтобы проставить штрафы для track, path, footway нужно решить, какие параметры несут эти линии по-умолчанию. Для track можно принять surface=ground(unpaved), tracktype=grade3, для footway и cycleway покрытие, скорее всего, будет твёрдым, а вот для path всё не однозначно, особенно за пределами России. Судя по вики, в сочетании с foot или bicycle=designated получаются footway и cycleway соответственно, но в реальности встречаются и такие “тропинки” http://www.openstreetmap.org/way/118002662