Рендеринг с приоритетом surface

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

С этой целью поменял конфиг osm2mp для Навитела и сделал соответствующий скин.

(пример около Волоколамска)

Скин для Навител 3.2.6 или GPSMapEdit, а также соответствующая ему конфигурация для osm2mp:
http://rusfolder.com/38657835
Полиш для примера (Волоколамский район):
http://rusfolder.com/38657863

Скин пока только дневной для навитела 3.2.6, его можно подгрузить в GPSMapEdit. Сделан на основе стандартного Navitel_new.ns2 (все респекты уходят ЦНТ), в котором изменена отрисовка полилиний дорог. Это даже не альфа, а пре-пре-альфа, поэтому версию для 3.5 и выше пока делать не стал т.к. там надо делать для разных разрешений.

Расцветка и обозначения дорог взяты из автоатласа и немного расширены.

Сверху вниз:

  1. Автомагистрали (автострады) - многополосные дороги, имеющие:
  • асфальтовое или цементобетонное покрытие на особо прочном основании,
  • пересечения с другими дорогами на разных уровнях,
  • разделенные газоном или капитальным барьером встречные потоки движения.
    (в навителе назначен тип 0x01)
  1. Автодороги с усовершенствованным покрытием:
  • асфальт или цементобетон на прочном основании,
  • 2, 3 и более полос движения шириной 3.5-3.75м каждая, обочины 2.5м каждая.
    (в навителе назначен тип 0x02)
  1. Автодороги с асфальтобетонным покрытием:
  • асфальт, цементобетон на прочном основании,
  • 2 полосы движения 3м и менее каждая, обочины шириной 2м и менее каждая.
    (в навителе назначен тип 0x03)
  1. Автодороги с твёрдым покрытием (всесезонные):
  • камень, щебень, гравий на прочном основании (сюда же можно включить surface=asphalt+smoothness=very_bad)
    (в навителе назначен тип 0x42)
  1. Автодороги без покрытия и улучшенные грунтовые (сезонная проходимость для неполного привода под вопросом):
  • профилированные, регулярно исправляемые, не имеющие прочного основания
    (в навителе назначен тип 0x0a)
  1. Грунтовые проселочные, полевые и лесные дороги:
  • ограниченно годные для проезда автотранспорта в зависимости от характера грунта и сезонно-климатических условий.
    (в навителе назначен тип 0x00)
  1. Тропа
  • непригодна для обычного автотранспорта.
    (тип 0x16)

По скину - в городах своя специфика, но принцип тот же: красный цвет - улучшенное покрытие, желтый - асфальт, а вот residential оставил белым (не нашел ничего лучше), но чтобы не путать его с “дорогой без покрытия” изменил ширину и обводку.

Что изменил в конфиге osm2mp

  • highway=track|road - автоматом уходят → п.6
  • ВСЁ (кроме track|road) что имеет surface=ground|earth и т.д. → п.5 (надо будет посмотреть как выглядит trunk “Лена” )))
  • surface=gravel|compacted → п.4
  • surface=asphalt - сортируется в зависимости от highway=* и принадлежности к населенному пункту
  • surface не проставлен - сортируется в зависимости от highway=* и принадлежности к населенному пункту

Т.к. разноску по уровням почти не менял получился забавный эффект - важность дорог, как она прописана в ОСМ, не пострадала и читается при помощи изменения масштаба :slight_smile: Т.е. highway=trunk + surface=ground будет виден даже на мелких масштабах, хотя на вид невзрачная коричневая линия.

Дальше надо добавить анализ smoothness, экспериментировать с default-настройками когда surface не проставлен. Может цвета надо подрегулировать - я не дизайнер, надо смотреть как будет выглядеть на автонавике.
Желающие могут взять эти конфиги за основу и сделать что-то своё. Смысл, думаю, понятен.

Может кто-то запилит рендер по такому же принципу ? Будет стимул расставлять теги покрытия.

Полезное дело. Но для стимула тэжить покрытие все же нужен онлайн-рендер, и желательно оперативно обновляющийся.

Дык у ITO давно такой слой есть, только кто про него знает? http://www.itoworld.com/map/25?lon=37.27761&lat=55.85788&zoom=7

Выглядит ужасно.

Если выводить через canvas, то цвета можно перекрасить :slight_smile:

С ноября месяца по информации с форумов и отчетам водителей вносил данные по состоянию дорог в Казахстане. Онлайн-карту пока не делаю т.к. alaCarte падает под нагрузкой. Кому интересно результат в виде растровой карты http://forums.drom.ru/kz/t1152029723-p14.html#post1152980315 (и следущий пост, там размеры поменьше).
Можно сказать что карта востребована, скачана около 80 раз.

Со временем сложился минимальный набор тегов
smoothness=* - по описанию на вики и очень полезной табличке (c) Danidin9
surface=* - тут всё понятно
source:smoothness=* - обычно URL на источник
smoothness:date=* или smoothness:check_date=* - дата, когда состояние дороги проверялось (полезно если есть противоречивые отзывы о дороге)

Я не ставил целью отмечать каждую ямку, обычно минимальный участок от нескольких километров, т.е. состояние участка некое усредненное.

Также можно просматривать через OverpassAPI, это удобно т.к. можно посмотреть теги у отобранных линий и ходить по ссылкам source:smoothness=
http://overpass-turbo.eu/s/2YN (отзумить нужную область и нажать Run)