Mkgmap

Я пока тестю. Понятно, в реальном применении я буду подключать кастомный typ. А пока результат видно с помощью GPSMapEdit, которым я конверчу получившийся img в mp. И результат такой, что mkgmap папку моего стиля видит, но стиль не применяет.

В общем, залез я в mkgmap.jar и внутри него заменил в папке styles\default файлы lines и options на мои. После этого всё заработало.

Вывод - последние версии mkgmap опознают присутствие кастомного стиля в отдельной папке, указанной в опции style-file, но применяют всё-равно стиль default, который зашит внутри.

А как же в моих батфайлах с выбором разных стилей все работает? Значит Ваш Вывод не правильный. Попробуй папку со стилем обозвать по другому и повторить эксперимент. Мне кажется что в путях проблема. И я во внутрь mkgmap.jar не лазил, но все работает.

Посмотри мои батфайлы на предыдущей странице.
Я их создавал в текстовом редакторе в DOS-кодировке 866, тогда на экране русский текст отображается нормально, а не кракозябрами.
В сообщении 326 есть ссылка на набор прог установи ее, потом можно обновит проги. Но будет видно все пути, что и где лежит.

Решил проблему. Нельзя выносить опцию style-file во внешний файл с опциями. Если это делать, то поведение будет как у меня.
Если указывать в командной строке --style-file=моя _папка_стиля, тогда всё работает.

Это баг или фича? Думаю, скорее, баг, так как сообщения в консоли в обоих случаях выдаются одинаковые - “стиль есть, всё ок”.

Понятно, там еще есть упоминание о очередности опций, что надо подбирать, а то могут работать не так.
Я выносил, но указывал полный путь.

Ребята, а кто нибудь разобрался как 3D карты делать?
http://gis.19327.n8.nabble.com/a-new-DEM-File-Option-td5905056.html
Ну и другие смежные темы
http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html

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

Eugeny_B, можно вас попросить опубликовать файл настройки адресации из своего стиля (inc/address)?
Дошла у меня очередь и до адресного поиска, но что-то никак не могу вникнуть в его логику…

# Этот файл содержит все правила, чтобы настроить адресную информацию из тегов,
# которые добавляются при обработке границ.
#
# Состояние: 01.02.2018
# -----------------
# Version : 0.01 - 09.12.2017: Базовый функционал mkgmap 4000
# Version : 0.02 - 10.12.2017: Адаптированн под Россию
# Version : 0.03 - 15.12.2017: Адаптированн для использования со "status" файлом стиля
# Version : 0.04 - 07.01.2018: Добавлен district

# ====================================================================
# first set the country code
# Сначала устанавливаем код страны
# ====================================================================
mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' }
# mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country}' }
# mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country|country-ISO:}' }
# mkgmap:country!=* & addr:country=* { set mkgmap:country='${country-ISO:alpha2}' }
# mkgmap:country!=* & addr:country=* { set mkgmap:country='${country-ISO:alpha3}' }
# mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country|country-ISO:}' }

# ====================================================================
# country specific rules first
# Специфические правила для страны первыми
# ====================================================================

# Russia = RUS
# ------------------------------------------------------------
# mkgmap:country=RUS & mkgmap:city!=* & (mkgmap:admin_level4='Санкт-Петербург' | mkgmap:admin_level4='Москва' | mkgmap:admin_level4='Севастополь') { set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:city!=* & (mkgmap:admin_level4='Санкт-Петербург' | mkgmap:admin_level4='Москва' | mkgmap:admin_level4='Севастополь') { set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:district!=* & mkgmap:admin_level6=* { set mkgmap:district='${mkgmap:admin_level6}' }
mkgmap:district!=* & mkgmap:admin_level5=* { set mkgmap:district='${mkgmap:admin_level5}' }
mkgmap:district!=* & addr:district=* { set mkgmap:district='${addr:district}' }
mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:region!=* & addr:region=* { set mkgmap:region='${addr:region}' }
( mkgmap:region=* | mkgmap:district=* ) { set mkgmap:region='${mkgmap:district}, ${mkgmap:region}'|'${mkgmap:region}'|'${mkgmap:district}' }
mkgmap:region=* & (mkgmap:admin_level4='Санкт-Петербург' | mkgmap:admin_level4='Москва' | mkgmap:admin_level4='Севастополь') { set mkgmap:region='${mkgmap:district}' }
# ( mkgmap:city!=* | mkgmap:city!=* ) & (mkgmap:admin_level7='Санкт-Петербург' | mkgmap:admin_level7='Москва' | mkgmap:admin_level7='Севастополь') { delete admin_level }

# ====================================================================
# common rules for all the rest of countries
# Общие правила для всех остальных стран
# ====================================================================
mkgmap:region!=* & mkgmap:admin_level6=* { set mkgmap:region='${mkgmap:admin_level6}' } 
mkgmap:region!=* & mkgmap:admin_level5=* { set mkgmap:region='${mkgmap:admin_level5}' } 
mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } 
mkgmap:region!=* & mkgmap:admin_level3=* { set mkgmap:region='${mkgmap:admin_level3}' } 
mkgmap:region!=* & is_in:county=* { set mkgmap:region='${is_in:county}' } 

# ------------------------------------------------------------
# if mkgmap:city is not yet set, try to get it from level 8, 7,9, 10 (in that order)
# если mkgmap:city еще не установлен, попробуйте получить его из уровней 8, 7, 9, 10 (в таком порядке)
# ------------------------------------------------------------
# mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } 
mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } 
mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } 
mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } 
mkgmap:city!=* & mkgmap:admin_level11=* { set mkgmap:city='${mkgmap:admin_level11}' } 
mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } 
mkgmap:city!=* & is_in:city=* { set mkgmap:city='${is_in:city}' }
mkgmap:city!=* & addr:city=* { set mkgmap:city='${addr:city}' }

# ------------------------------------------------------------
mkgmap:postal_code!=* & mkgmap:postcode=* { set mkgmap:postal_code='${mkgmap:postcode}' } 
mkgmap:postal_code!=* & addr:postcode=* { set mkgmap:postal_code='${addr:postcode}' } 

# ------------------------------------------------------------
 mkgmap:street!=* & addr:street=* & addr:suburb=* { set mkgmap:street='${addr:street} (${addr:suburb})' }
mkgmap:street!=* & addr:street=* { set mkgmap:street='${addr:street}' }
mkgmap:street!=* & addr:housename=* { set mkgmap:street='${addr:housename}' }

# ------------------------------------------------------------
mkgmap:housenumber!=* & addr:housenumber=* { set mkgmap:housenumber='${addr:housenumber}' }

# ------------------------------------------------------------
mkgmap:phone!=* & phone=* { set mkgmap:phone='${phone}' }
mkgmap:phone!=* & contact:phone=* { add mkgmap:phone='${contact:phone}' }

# ------------------------------------------------------------
mkgmap:is_in!=* & is_in=* { set mkgmap:is_in='${is_in}' }

Eugeny_B, спасибо! Получил письмо, но предлагаю продолжить общение тут. Может кто еще подтянется из заинтересованных.
Я так понял, что ваш метод заключается в принудительном назначении РФ всему, что попадает в карту. Мне такой метод не подходит, т.к. одновременно в сборке присутствует территории нескольких разных государств. Так что адресные настройки должны быть с учетом этой специфики.
С автоматизацией у меня проблем нет - все отлажено и работает уже много лет автоматически в ежедневном режиме. Сейчас же просто перехожу на актуальную версию Mkgmap. А для этого нужно полностью переписать все конфиги (их логика несколько изменилась за 8 лет). Много всего уже поменял, многое еще предстоит. Но весь имевшийся функционал уже переехал. Временно и не регулярно новые сборки пока появляются тут:
https://maptourist.org/tmp/
Теперь же хочу побороть адресный поиск. Но никак не вникну в логику этого дела - как происходит присвоение объектам адресной информации. У меня пока половина точек даже не может подхватить admin_level=2 (страну). Вторая половина вообще - кто в лес, кто по дрова. А части точек населенных пунктов, дорог и POI не присваивается никакой адрески. И как это исправить я пока не придумал. Видимо в каких-то случаях данные о границах из сгенерированных заранее bnd-файлов не срабатывают как надо. Пытаюсь разобраться. Может я не понимаю сути механизма location-autofill=bounds? Как и в каком месте должны присваиваться объекту данные о стране, области и прочим почтовом индексе? Начнем с простого. Допустим, есть тестовая карта Псковской области с частью прилегающих территорий Беларуси и Латвии. И на российской территории есть точка с такими тегами внутри одноименного полигона и более ни чем:
place=hamlet
name=какая-то-деревня
Она расположена в границах РФ (admin_level=2), Псковской области (admin_level=4) Но начнем со страны. Для этого в заранее очищенный файл inc/address добавляем строчку:

 mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' } 

Я ее понимаю так, что во все индексируемые объекты должна упасть информация от границы с тегом admin_level=2 из прекомпилированного набора bnd-файлов. Но нет, адресная информация о стране РФ в нашу точку не добавляется. Собственно как и во всё остальное в границах РФ. Запускаем Gpsmapedit и смотрим, чего там получилось. Наблюдаем печальную картину: всем индексируемым объектам за пределами РФ правильно присвоился код страны и название государства (Беларусь BLR, Латвия LVA). Все, что российское значится как COUNTRY ABC.
Добавляем строчку:

 mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country|country-ISO:}' }

Теперь находящаяся рядом деревня с заботливо прописанным country= RU получила в адрес такую информацию. Первая по-прежнему ее не имеет. Но такой способ я не хочу вообще использовать, т.к. вполне вероятны ошибки при заполнении адресных тегов на разных объектах и унификации наверняка не получится. Так что строчку эту убираем. Метод is_in так же для этого не рассматриваем.
Теперь пробуем добавить сведения о области:

mkgmap:country=RUS & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } 

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

 mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } 

Названия областей прекрасно присваиваются. Но в случае с РФ без привязки к стране.

В связи с этим у меня вопрос: это я как-то не верно размышляю и вообще все не правильно делаю, или в ОСМ какие-то проблемы с границей России?

ЗЫ:
Кстати у меня налажено еженедельное обновление этих файлов с границами при помощи Osmconvert и Osmfilter. Работает заметно быстрее, чем Osmosis. Взято из Вики по Mkgmap. На FreeBSD это происходит примерно так:


OC?=		../osmfilter/osmconvert
OF?=		../osmfilter/osmfilter
MKG?=		/usr/local/bin/java -cp ./mkgmap4107.jar
RM?=		/bin/rm -f --

mkgbnd:
	${RM} local-boundaries.osm.gz
	${OC} local.osm.pbf --out-o5m >local.o5m
	${OF} local.o5m --keep-nodes= --keep-ways-relations="boundary=administrative =postal_code postal_code="  >local-boundaries.osm
	${RM} local.o5m
	gzip local-boundaries.osm
	${RM} ./boundary/local/*
	${MKG} uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor \
	./local-boundaries.osm.gz ./boundary/local/

Я указываю страну в файле конфигурации при запуске mkgmap Country=Россия Abbreviation=RUS
Это Вы называете принудительное назначение РФ? Но если не указывать, то как сказано в документации (mkgmap_r4125 option.txt) будет значение по умолчанию COUNTRY ABC. Я считаю, что это ошибка автора программы. По идее имя страны mkgmap должен брать из файлов границ, причем с учетом name-tag-list: и code-page: 1251.
Я не дошел до такого способа проверки как Вы. Я просто грузил карту в прибор и смотрел, что появлялось в поиске адреса.
При выборе страны.

mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' }

Эта строка давала название страны Россия. Прилегающие Эстония.

# mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country}' }

Эта давала (добавляла) все что наши маперы сами вносили в тег addr:country объекта (разные варианты) по этому я ее отключил

mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country|country-ISO:}' }

Эта давала (добавляла) название страны по английски. Думаю об этом писать надо здесь http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
В общем я использовал метод тыка, да и собираю я карту только России.
Я отталкивался от прибора. Как прибор воспринимает адрес. А прибор воспринимает его так поле: № дома, поле: Имя улицы, поле: Имя города(нас.пункта), поле: регион и поле: страна (RUS)
Так как адресация в mkgmap основана на admin_level (возможно за границей оно так и есть? т.е. admin_level соответствует административно территориальному делению) Но у нас в России это почему-то соответствует административно политическому делению. Ну и начал я смотреть разные карты, на приборе и компьютере. И что выяснил, что когда мы ищем города то это мы ищем населенные пункты отмеченные точками. И к адресному поиску это не имеет ни какого отношения. Можно проверить на Вашей карте, спокойно находится город Сергиев Посад, но ни один адрес в таком городе не найдете Вы даже город такой при поиске адреса не найдете. А вот если при поиске адреса задать не “Сергиев Посад”, а “городское поселение Сергиев Посад” (правда на приборе такое набрать невозможно) то на компьютере можно найти адреса (но опять же не все, потому что некоторые Маперы прописали тег addr:city на некоторые улицы или на дома) примеры я привожу сейчас от балды. Я проверял разные населенные пункты и во многих это присутствует. Далее как я уже говорил прибор, как и нормальные люди под адресом понимает №дома, имя улицы, имя населенного пункта, имя региона (область, район), имя страны. Вот я и поставил себе задачу привести данные ОСМ к такому виду, иначе ничего хорошего не получится (с маперами не договориться, у них одно правило не мапить под рендер), но из положения надо выходить. И я как мне кажется нашел более менее приемлимый способ. Скачав данные ОСМ я сначала обрабатываю их программой Osmosis (смотри сообщения №330 и №332 в этой теме) что бы всем городам (city, town) присвоить admin_level7 (он в России не используется), а остальным населенным пунктам admin_level11 (тоже в России не используется) и только после этого я создаю файлы границ, методом тыка переставил строки в файле address и создал карту. Но как выяснилось, все-таки вкралась ошибка и в городе Набережные Челны ничего не найти. Стал разбираться и нашел что город разделен на три района и вот этим районам мапер присвоил admin_level7. Сейчас я скачанные ОСМ данные сначала обрабатываю программой Osmfilter чтобы модифицировать теги admin_level7 в admin_level8, затем Osmosis обрабатывает населенные пункты и только потом границы и карта.
Итог для России
admin_level2 - страна
admin_level4 - города Москва, Санкт-Петербург, Севастополь
admin_level4 - регион (области, края и т.д.)
admin_level5 - добавляем в регион (районы Москвы, Санкт-Петербурга, Севастополя)
admin_level6 - добавляем в регион (районы)
admin_level7 - города
admin_level11 - остальные населенные пункты
Возможно это сработает для всего бывшего СССР, для иностранных государств надо пробовать.

Вот попробуй развить эту тему (у меня с иностранными языками никак) http://gis.19327.n8.nabble.com/Why-is-mkgmap-the-option-country-name-name-td5911420.html
Я так и не понял что они мне отвечали. Но понял, что по этому вопросу надо теребить их. А также надо вводить в ОСМ жеские правила адресации, иначе бардак сохранится. Сейчас смотрел свою карту на приборе, изменил страну на Эстонию поискал адрес в Нарве. Набирал имя города по русски, Только нажал “Н” сразу высветилась “Нарва, Уезд Ида-Вирумаа”, ввожу улицу “Пу” сразу высвечиватся “Пушкина улица”, ввожу № 4, высвечивается четыре позиции:
1я поз. “Александра Пушкина улица 5 Нарва, EST” и три поз. “Александра Пушкина улица Нарва, EST”.
Нажимаю первую (прибор Нуви 1310) указатель “Александра Пушкина улица 5 Нарва, Уезд Ида-Вирумаа Эстония,” указывает на правильную улицу но в районе дома 10, возвращаюсь и смотрю вторую позицию “Александра Пушкина улица Нарва, Уезд Ида-Вирумаа Эстония” указывает на конец правильной улицы в районе дома 69. Следующая позиция в районе остановки Rugodiv на правильной улице, следующая позиция возле дома 21.
Теперь возвращаюсь и набираю улицу по английски “Pu” - высвечивает улицы начинающиеся с Pu, но нужной нет, ввожу улицу “Aleksander” - совпадений не найдено, а ведь есть в ОСМ Здание 5 Aleksander Puškini, но не индексируется так как улице уже присвоено имя по русски. Опять возвращаемся вводим город “Narva”- совпадений не найдено.
Вывод - надо теребить автора программы для правильного адресного поиска. Или теребить Маперов для правильного строгово тегирования для поиска.

Вот еще интересная штука. https://forum.openstreetmap.org/viewtopic.php?id=58978
Я пробовал чтобы смотреть точки в MapSource, навел курсор на магазин клик правой кнопкой создать маршрутную точку и смотришь какой адрес прописывается, но обработка долгая, и срабатывает не везде, пример населенный пункт Скоропусковский, Московская область, Сергиево-Посадский район. В нас.пункте нет наименований улиц и там плагин не работает.

Вот только что провел эксперимент, поменял, было name-tag-list: name:ru,name,name:en,int_name стало name-tag-list: name,name:ru,int_name,name:en
И теперь при выборе страны наименование на родном языке и соответственно улицы на родном языке. Теперь в Narve (Нарве) ищутся адреса на улице Aleksander Pu…(Александра Пушкина) так как там на каждом доме указаны теги addr:country, addr:city, addr:street, addr:housenumber. До этого улица получала русское имя и соответственно дома не искались, так как на них прописана другая улица а не Александра Пушкина. Вот такие пироги… Надо еще экспериментировать.

Разобрался.
В выгрузке Гислаба граница РФ сломана. Отсюда и проблема.
Как починить:

  1. Качаем отношение границы РФ по ссылке www.openstreetmap.org/api/0.6/relation/60189/full
  2. Делаем еще один проход фильтрации перед созданием bnd-файлов и наваливаем через Osmconvert это скачанное отношение к уже отфильтрованным границам.
  3. Делаем bnd-файлы.
  4. Profit. :sunglasses:

А давайте подумаем, как наладить адресный поиск в населенных пунктах без названий улиц? Такое достаточно часто встречается. Вот сам теперь живу в деревне и у меня адрес без улицы совсем. Просто Деревня, номер_дома. Так вот. Mkgmap в этом случае находит ближайшую линию дороги с именем и пихает это имя в mkgmap:label:2. Получается очень странный результат, никак не влияющий на работоспособность поиска. Но Выяснив это я решил унифицировать все такие случаи добавив правило, заменяющее левые названия на “без названия” вот такой строчкой в файл настроек адресации:

mkgmap:country=RUS & mkgmap:street!=* & highway=* { set addr:street='без названия' }

Но это никак не способствует включению адресного поиска - название населенного пункта Гармин не дает ввести. Это начинает работать только если внутри населенного пункта есть хотя-бы одна улица с названием. Выходит, что необходимо название улицы в mkgmap:label:1. Но как туда запихнуть это самое “без названия” и только для улиц с адресацией? У меня не получилось. В лучшем случае такое имя добавлялось ко всем безымянным дорогам. Что не правильно и не нужно. В общем взываю к коллективному разуму.

Валентин, я тебе присылал файл status, обрати внимание, что для рабочего поиска сокращение “ул.” вместо “улица” нужно делать в ТРЕХ местах: 1. highway=* & name 2. addr:street 3. mkgmap:street
То есть “Имя улицы” должно до буквенно совпадать с addr:street указанной на доме и совпадать в момент производства карты с внутренней переменной mkgmap:street при создании индекса.
А иначе поиск работать не будет. Пример твоя уже вчерашняя карта: город Нарва, улица Александра Пушкина, дом 17 на твоей карте не ищется, потому что, в тегах имени улицы есть name:ru=улица Александра Пушкина, а в тегах дома 17 прописано addr:street=Aleksander Puškini, возможно пример не корректный так как в тегах дома 17 прописано еще addr:city=Narva, но поверь, что даже без тега addr:city=Narva поиск все равно работать не будет, так как name:ru и addr:street не совпадают.
Теперь разложим твою строку: Если страна Россия и внутренняя переменная mkgmap:street ничему не равна и highway любой, то установить addr:street=‘без названия’. И сразу вопрос, а куда или кому/чему установить addr:street=‘без названия’.
Ведь нам надо чтобы этот тег был установлен на здании, а highway в данном населенном пункте получил имя ‘без названия’ иначе совпадения не будет и поиск не сработает.
https://www.openstreetmap.org/query?lat=56.36886&lon=38.14211 вот тут хоть и стоит тег на здании addr:place=Скоропусковский и вроде можно его скопировать в addr:street=Скоропусковский, но как проездам, улицам и дорогам прописать name=Скоропусковский я не знаю, мой стиль подставляет не всем этим проездам и т.д. только в этом нас. пункте имя улицы А-108 и поиск работает по ней. Скоропусковский, А-108, дом 2, 3, 6 только три дома. Но это в этом, а в других? Позже проверю как на туристическом приборе, а на Nuvi из этой ситуации выхожу просто: Искать адрес → Город → Прибор просит ввести улицу, а ничего не ввожу и нажимаю “Готово” → получаю список улиц в этом населенном пункте (даже притянутые) Выбираю → Просит ввести №дома, опять готово и выбираю из того что есть (Но не все дома получают притянутый адрес), да и хочется решить эту проблему тоже.

Сокращения нужны только для повышения читабельности надписей на экранах с невысоким разрешением. Для целей организации поиска нужно просто наладить разделение слов в названиях (компиляция с ключем –split-name-index) и отделение их от префиксов и суффиксов (улица, бульвар, шоссе и др.). Для этого в конфигах есть специальный файл, где оно настраивается - roadNameConfig.txt

# russian
prefix1:ru = "улица", "переулок", "проспект", "проезд", "разъезд", "тракт", "площадь", "бульвар", "шоссе", "дорога", "тупик", "микрорайон", "аллея", "линия", "набережная"
prefix2:ru = "им.",   "имени" 
suffix:ru  = "улица", "переулок", "проспект", "проезд", "разъезд", "тракт", "площадь", "бульвар", "шоссе", "дорога", "тупик", "микрорайон", "аллея", "линия", "набережная"

lang:RUS = ru

Ну хоть через 4 месяца ответил, спасибо.
Сокращения я использую на туристических приборах как ты и говоришь для повышения читабельности. Пользователи автомобильных приборов попросили без сокращений, так как злая тетка плохо понимает сокращения и получается забавное произношение улиц. А перенос префиксов в конец имени (то есть делая из них суффиксы) я делал что бы получить однообразие отображения улиц при поиске. Все это я делал до введения в mkgmap функции roadNameConfig.

Два дня бился с проблемой. Оказывается TYPViewer работая под Windows 10 портит тхт-файл исходника, сволочь! Причем как изощренно это происходит - он перемешивает картинки POI с кодом какой-нибудь другой. В итоге смотришь на карту и офигеваешь, не понимая, что происходит. И никак это побороть не получилось. :rage:
В итоге вернул обратно старый SSD с Windows 7 и все опять нормально заработало. Ахренеть.

Так. Вроде начинает все немного проясняться.
Сегодня вернулся к разбору описанной выше проблемы более подробно. TYPViewer под Windows 7 сохраняет коды точек в таком виде:

[_point]
Type=0x11711

А вот в Windows 10 ровно тот же TYPViewer уже пишет вот так:

Type=0x117
SubType=0x11

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

Type=0x001
SubType=0x11

При этом коды линий и полигонов остаются в прежнем виде, когда одной строчкой описывается и тип, и подтип. Корежит только блок с точками. Завтра попробую связаться с разработчиком TYPViewer.
Такие дела… :roll_eyes: