Ежедневная сборка OSM для Garmin с помощью Mkgmap

А еще сегодня пришел неприятный фидбэк о проблеме адресного поиска. Стал разбираться, все подтвердилось. Из-за переполнения поискового индекса стала часто возникать проблема с невозможностью найти различные точки. Включая точки городов. А это совсем плохо. В итоге было принято не простое решение полностью отказаться от индексирования точек с адресами зданий. Функционал с возможностью поиска нестандартных адресов, не поддерживаемых штатной логикой Гармина, придется упразднить. К сожалению. Подписи на полигонах зданий останутся в прежнем виде.
В общем, теперь смогут порадоваться желающие видеть номера домов на карте. Иного смысла в таких точках далее не будет.
Но есть и позитивный побочный эффект - очень заметно снижается объем карты. Например сборка всей территории бывшего Союза похудеет примерно на 250 мегабайт.
Изменения вступят в силу с завтрашней сборкой.

И еще.
В последних версиях Mkgmap была несколько изменена логика работы с языками в typ-файлах. С прежними языковыми настройками typ-файлы для карт компилируются только с одним языком описания объектов - английским. Поля описаний на русском языке отбрасываются. Проблему решает переход на сборку всех карт в Юникоде.
Будут ли возражения?

Здравствуйте. В США приобрел навигатор “nuvi 2455LM” с картами США. Но теперь живу в России и карты США стали не актуальны. Подскажите как в прибор загрузить карты России? Заранее спасибо за ответ.

https://www.google.com/search?newwindow=1&sxsrf=ALeKk003DAc9wT0mc8zU7sZx9B7n_SQeNA%3A1591097114916&ei=GjfWXqOqN8GimwXTr4moBA&q=%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+%D0%BA%D0%B0%D1%80%D1%82+%D0%BD%D0%B0+Garmin&oq=%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0+%D0%BA%D0%B0%D1%80%D1%82+%D0%BD%D0%B0+Garmin&gs_lcp=CgZwc3ktYWIQAzIGCAAQBxAeMgIIADIECAAQHjIECAAQHjIECAAQHjIECAAQHjIECAAQHjIGCAAQCBAeMgYIABAIEB46BAgAEEc6BQgAEM0CUKbuAViVggJgpIwCaABwAXgAgAGUAYgBmQKSAQMwLjKYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwijn9nSguPpAhVB0aYKHdNXAkUQ4dUDCAw&uact=5

Сборки Европы сломаны - выпадает очень много данных. Обновляться пока не стоит. Разбираюсь в чем причины. Пока не понятно. Уже второй раз такое…

Сегодня Европа собралась удачно. Можно пользоваться. Но еще нужно понаблюдать за стабильностью процесса, т.к. не удалось выяснить причину сбоя.
Так же на пробу получилось сделать сборку всей Европы целиком. Если все пойдет нормально, то и она будет доступна на ежедневной основе.
OSM-MapTourist-Europe-gmapi-EN.zip
Аккуратнее, объем архива 11 гигабайт!

https://maptourist.org/osm-garmin/CurrentConfigs/OSM-2018.txt
В самом конце файла прилип мусор.
[_point]
Type=0x11711

[end]???#!"
мусор^^^^^^^ и далее

И что-то у тебя с TYP файлами неладное. Сообщение №827 читал, но у меня такого нет. Что-то с кодировками самого файла и параметра CodePage=
По памяти, что-то писали про: файл TYP.txt в кодировке UTF-8 закоментировать строки:
[_id]
;ProductCode=1 set from --product-id
;FID=8094 set from --family-id
;CodePage=65001 set from --code-page
[End]
смотри файл mapnik.txt из поставки mkgmap: r4517

Вот как раз про то и изменения, что произошел переход на UTF-8, а указание кодировок в typ-файле конвертером более не воспринимаются. После праздников переведу сборку всех карт в юникод, да.

add:
typ-файл поправил, спасибо.

Здравствуйе.
Спасибо за вашу сборку.
Вчера скачал СНГ EN. Названия улиц в приборе отображаются “недоквадратиками” Прочие названия отображаются нормально, если навести курсор на улицу во всплывающем окне тоже нормально. В MapSource отображается правильно.
Со сборками с других ресурсов такой проблемы не наблюдаю. Подскажите, как победить?

Проверил последнюю EN-сборку. Никаких ошибок в ней выявить не получилось. Во всех моих приборах названия отображаются корректно. Даже и не знаю, что вам посоветовать и чем помочь.

На старых Гарминах есть такая проблема, У меня была на E-Trex, вроде как не лечится, как вариант самим собирать карту и в конфигах прописывать чтобы все названия выводились заглавными буквами.

Я сперва тоже подумал об этом. Но не должны ли тогда отображаться первые заглавные буквы?

Только что mkgmap-r4523 файл TYP.txt в кодировке Win 1251 в mkgmap.cfg code-page: 1251
в TYP.txt
[_id]
ProductCode=1
FID=1500
CodePage=1251
[End]

[_polygon]
Type=0x01
;GRMN_TYPE: Urban Areas/LARGE_CITY/Large urban area, 200 000 or more inhabitants/Non NT
String1=0x19,Города
String2=0x04,City
ExtendedLabels=N
Xpm="0 0 1 0"
"1 c #BDBD6A"
[end]

[_line]
Type=0x01
;GRMN_TYPE: Roads/INTERSTATE, MAJOR_HWY/Primary, divided, limited-access highway, akin to an interstate in the US/Non NT, NT
UseOrientation=Y
Xpm="32 2 2  1"
"! c #809BC0"
"  c none"
"                                "
"                                "
;12345678901234567890123456789012
String1=0x19,[Автомагистраль]
String2=0x04,[Motorway]
ExtendedLabels=N
[end]

[_point]
Type=0x001
SubType=0x00
;GRMN_TYPE: Political Entities/CITY_10M/Large city with >10 million inhabitants/Non NT
String1=0x19,Мегаполис
String2=0x04,Mega City
ExtendedLabels=Y
FontStyle=LargeFont
CustomColor=No
DayXpm="8 8 2 1"   Colormode=0
"!	c #FF0000"
"#	c #101010"
"########"
"#!!!!!!#"
"#!!!!!!#"
"#!!!!!!#"
"#!!!!!!#"
"#!!!!!!#"
"#!!!!!!#"
"########"
;12345678
[end]

Все отлично. В полученном TYP-файле присутствуют и русский и английский.
Ни на UTF-8 ни на CodePage=65001 я не переходил.

Так и есть, на других улицах показывает только заглавные буквы, а на скрине ulitsa Ibragimova, почему-то I не хочет.

Небольшая полянка в лесу https://www.openstreetmap.org/#map=19/55.84585/37.30053 Но на вашей карте она почему-то закрашивается и подписывается, как “parking”.

И ещё, я предлагаю рисовать natural=wetland + wetland=swamp, т.е. заболоченный лес, как синие чёрточки на зелёном фоне, чтобы можно было бы понять, что на этом месте нет открытого участка. Так сейчас рисуется natural=wetland на фоне полигона леса. Зелёный можно немного другого тона, чтобы было ясно, что это прямо совсем болото-болото, а не просто подтапливаемый участок леса.

Тогда вам нужно используя вот этот инструмент переделать все названия на заглавные буквы.
http://gmaptool.eu/en/content/gmaptool

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

По болотам: Аналогичное предложение ранее уже обсуждалось. Расплывчатость и некоторая противоречивость в описании тегов не позволяют однозначной их трактовки. Так что текущий выбор стиля отображения вполне осознан. Да, не идеально, но так меньше ошибок.

Да. Если отдельно компилировать typ-файл. Но как только начинаешь собирать карту к конкретным указанием --code-page, то все уже не так красиво.

Вот моя строка запуска создания карты:
java -Xmx12288m -Dlog.config=“e:\OSM\Tools”\mkgmap_log.props -jar “e:\OSM\Tools\mkgmap\mkgmap.jar” --max-jobs=2 --output-dir=“e:\OSM\Work\1501-Travel-Map-NW-5m\Output_Map” -c “e:\OSM\Work\1501-Travel-Map-NW-5m\Output_Splitter\osmmap.args” “e:\OSM\Styles\Tourist\Tourist.txt”

osmmap.args содержит:

family-id: 1501
product-id: 1
code-page: 1251

TYP.txt в кодировке Win 1251 содержит:
[_id]
ProductCode=1
FID=1500
CodePage=1251
[End]

И в результате изготовления карты в TYP-файле и русский и английский. Я же не отдельно генерю TYP, а вместе с картой.

А теперь попробуй с 1250.

Но я у тебя скачиваю карту RU в которой должно быть 1251, а не 1250 или 1252 и вот в ней TYP без русского. А только ангельский.
Если установить 1252 то русского не будет, это я давно проверял. Почему у тебя в RU не пишется 1251?

Полдня разбирался. Выявилась еще одна чувствительная последовательность ключей в команде запуска. Сперва нужно указывать --code-page: и только потом путь к текстовому исходнику typ-файла.
Переход русских сборок на юникод откладывается.