Малое Московское Кольцо. Оно уже давным давно не бетонное.
Радиальные куски должны принадлежать радиальным трассам, иметь своё собственное название (Можайское, Дмитровское), однако по прежнему состоять в коллекции А107. Напомню, что теги на объектах оверрайдят наследованные тэги коллекции.
Вот и А108 собрал в relation. Обнаружил, что collection пока относится к proposed features, зато есть relation route, что как мне кажется для дорог подходит лучше.
а osm2mp умеет (если нет, то будет ли уметь?) обрабатывать relation=route,route=road так чтобы name и ref наследовались членами группы? Я бы тогда единобразно все дороги привёл к relation=route, вместо collection.
Ещё было бы здорово если бы индекс дороги писался к прямоугольничке компактно врисованном в дорогу, кажется в гармине это делается путём добавления какого-то спецсимвола к названию.
пока не умеет. будет ли - не знаю, посмотрим. пока необходимости не было.
с прямоугольничком проблема в том, что у гармина или-или: или название, или прямоугольник.
так что его можно поставить только для дорог с ref, но без name.
Ну жизненной необходимости вообще ни в чём нет, можно ездить по стыренному навикому Но было бы здорово. Всё таки очень удобно редактировать дорогу после того, как она собрана в группу.
Мы ж уже обсуждали, что нигде на картах не принято писать название шоссе вне города, а вот индекс принято. А ваш ответ был что в городе то как раз наоборот, хочется видеть Ленинский пр-т вместо М3. Так вот relation=route позволяет эту проблему элегантно решить. Если дорога не имеет своего name, то название её создаётя из ref группы route, в которой она состоит, и вставляется в прямоуголничек. Если же у самой дороги есть свой name, то используется он, как происходит когда трасса проходит через город задействуя его улицу. Таким образом получится, что например А108 между городами будет А108 в прямоугольничке, а в Рузе, Сергиеве-Посаде и прочих будет улицами.
Я могу сделать патч и прислать, если Вы согласны с предложением. Правда полный цикл тестирования, до заливки в прибор не смогу сделать - у меня нет cgpsmapper.
Вот как вышеизложенное реализуется в mkgmap. В конфигурации стиля, в файле relations:
type=route & route=road { apply {
set route_ref='${ref}';
} }
В файле lines примерно вот такие правила, мне удобнее отдельные для каждого типа highway. Символ ^B это на самом деле ascii code 0x02, чтобы отображать индекс в квадратике. Для motorway используется 0x01.
После этого берём большой маршрут, все дороги объединяем в relation route. Со всех членов группы вне городов удаляем ref, name. В городах оставляем имена как есть “Н-ская ул.”, “Н-ское шоссе”. Генерируем карту, получаем имена улиц в городах и индексы в квадратиках вне городов.
Сейчас таким образом оформлена только А108, можете скачать в josm и посмотреть. Правда единственный город, где обозначены имена улиц - Дмитров.
Предлагаю проголосовать и если большинство согласно, то оформлять дороги с индексами именно таким образом. И реализовать аналогичную логику в osm2mp.
Поддерживаю идею.
Кстати, провел небольшую серию экспериментов с cgpsmapper (0098a) и альтернативными именами для дорог:
На дороге отображается Label (если с ~[0x01] … ~[0x06] то в щитах/табличках/…)
StreetDesc игнорируется (по крайней мере каких-то его проявлений в MapSource и GPSMAP 60CSx я не заметил).
Label2 и Label3 используются в поиске и иногда всплывают (системы я не отловил но наверняка есть) в подсказках по роутингу.
Если cpreview указывать ключ -m, то поиск по многословным Labels производится по всем словам (“ул. Академика Анохина” - находится по как по “ул”, так и по “Ака”, “Ано”)
Насчет удаления name не уверен… Правда не знаю как иначе определять отношение к городам (разве что по is_in).
И стоит определиться с тем какие коды для каких классов дорог ставить (а то щиты с Route в России как-то не приняты).
Ну и при конвертации установить ограничение длины строки для которой ставить эти коды (скажем в 5-6 символов).
Вернуть назад будет всегда легко, потому как все объекты можно выделить разом используя relation. Я всё-таки сейчас сделаю так, как предлагаю, хорошая ведь карта получается, сами увидите А то наводишь в гармине курсором на дорогу, а он тебе “Дон”. Для меня Дон это река, а не дорога Каспий это море, а Крым полуостров.
Тогда стоит в какой-то из прочих тэгов загонять (loc_name, …). А то та же M10 где “Россия”, где “Скандинавия”, да и “Ленинградское шоссе” в окрестностях столицы более известно (подозреваю что у северной столицы будет “Московское” и “Выборгское”).
Кроме того редко видел адреса вида “автомагистраль Крым вл. 1999” в отличии от “Ленинградское шоссе вл.333” или “… 123 км”
А в окрестностях Твери? А то там тоже, если меня склероз не подводит, частенько адреса на “Ленинградское шоссе” ссылаются. Так что для поиска улицы стоит чтобы в Label2 или Label3 было чему попадать.
Да уж… адреса и “Ленинградское ш” и “Московское ш.” и “M10”, “а/д Россия”, “М10 Россия”, АД “Москва - Сант-Петербург” (это я заправки на licard вдоль трассы посмотрел…