Mkgmap

Можно. Вот примерный патч:

Вообще, хорошо-бы, конечно, чтобы какой-нибудь специалист по транслитерации кириллицы поправил этот файлик целиком*.

Ну пусть несколько городов. Только не целиком, а маленькими кусочками. Хочется эталон для отладки индекса. У меня такое подозрение, что чего-то у нас с самой адресной схемой не совсем так.

2asaw.
В варианте на транслите по-моему только на букву R ищется

Нашу-то адресную схему они наверняка не поддерживают.
А судя по http://wiki.openstreetmap.org/wiki/Mkgmap/help/usage, они вообще адресацию вытаскивают из is_in (ключ --location-autofill)

День добрый!
Никак не получается собрать карту с роутингом для gpsmap60cx mkgmap-ом(r1919) из “гислабовской” выгрузки :frowning:
Последний вариант ключей такой:

“C:\Program Files\Java\jre6\bin\java” -Xmx1000m -jar mkgmap.jar --mapname=00400069 --description=“tver_obl” --country-name=Russia --country-abbr=RUS --charset=windows-1251 --code-page=1251 --levels=“0=24, 1=22, 2=20, 3=18” --transparent --draw-priority=40 --lower-case --route --remove-short-arcs --drive-on-right tver-2011-04-21_splitted.osm

Может кто поделиться рабочими параметрами для роутинга или может дело в исходных данных?

Нельзя ли в этом случае перед компиляцией сделать обработку и а основании тегов addr сделать теги is_in?

Изменил уровни

“C:\Program Files\Java\jre6\bin\java” -Xmx1000m -jar mkgmap.jar --mapname=00400069 --description=“tver_obl” --country-name=Russia --country-abbr=RUS --charset=windows-1251 --code-page=1251 --levels=“0=24, 1=23, 2=22, 3=21, 4=20” --draw-priority=40 --lower-case --route --remove-short-arcs --drive-on-right tver-2011-04-21_splitted.osm mapnik2.TYP

и произошло чудо, роутинг заработал даже с применением стиля

Смысла нет, тогда всё будет тормозить почище osm2mp. Это нужно делать на уровне самого mkgmap.

Возвращаясь к истокам темы :slight_smile: osm2mp делает и это. Точнее, заполняет CountryName CityName RegionName. Никто не пробовал с последней версией mkgmap сделать адресный поиск таким путём?

Сейчас при изучении отличий новых релизов заметил в опциях дефолтного стиля добавление:

Сделал небольшую правку в стилях TYP-файлов:
Жилые улицы (residential) сделал на пиксель уже - теперь они отличаются от unclassified и плотная населенка меньше склеивается в одну кучу.
Линии рек и ручьев теперь с синими подписями. Надо бы так же сделать и с полигонами остальной воды.
Подписи всех границ теперь темно-красные.

В настройках Mkgmap отдельные линии мостов ограничил самым подробным, 0-м (24-м), слоем. Выше они все-равно превращались в бестолковые кляксы.

На днях подробно посмотрел, как эта карта работает в 276-м приборе. Цвета адекватные и рисуется быстро. Мне понравилось.

  1. Все реки и озера теперь с подписями синего цвета.
  2. Поправил баг с приоритетом отрисовки полигонов рек.
  3. В соседней теме подсмотрел про ограничения и тоже добавил запреты для машин, грузовиков и такси на прокладку маршрута по дорогам с тегом motorcar=no, vehicle=no или motorcar=private. Если имеются еще какие-то другие теги из этой серии - телеграфируйте. Добавлю.

Add:
Сходу нашел еще motor_vehicle=no. Тоже добавил.

add2:
В качестве эксперимента добавил дополнительное отображение дорог с односторонним движением!
Теперь такие линии помечаются стрелками направления движения.
Но появился вопрос. В связи с тем, что это уже 2-й такой случай, хочется все-таки выяснить, есть ли какой-нибудь способ раздачи жесткого приоритета отрисовки для линии? Нужно, чтобы поверх честного роутингового типа рисовалось нечто, призванное его дополнять для более полной идентификации (мост, односторонняя и т.п.).

Жду сегодняшнюю сборку для начала тестирования. Во вчерашней у меня подписи у улицам видны даже на масштабе 2 км, причем белесым цветом, что прочесть их нереально. А в mapsource почему-то при масштабе, меньшем 5 км, пишется overzoom.

Есть ли успехи с поиском?

Пока нету.
В последних версиях Mkgmap, внедренная ранее идея по расстановке адресной информации из объектов границ (линии и мультиполигоны), вынесена в отдельный процесс. Суть в том, что сперва из ОСМ-данных Осмосисом долго и печально фильтруются эти границы, затем с определенным ключем Mkgmap создает специальные тайлы с данными об этих границах, и только после этого можно запустить компиляцию уже непосредственно самой карты. В общем, процесс громоздкий и не очень предсказуемый. Мне же пока вообще не удалось добиться положительного результата с этой новой технологией. Посему сборки на сервере пока происходят при помощи версии locator-r1912. Это была последняя версия, которая добывала адресную информацию непосредственно в момент компиляции.

Но в любом случае так пока и не решен вопрос с кодировками, без которых поиск всяко работать не будет.

Неплохо для начала хотя бы для транслита

Для этого нужна корректная таблица транлитерирования, т.к. сейчас не все кириллические буквы преобразуются в латинские.

Уточните, пожалуйста, чем плоха представленная выше? Я могу поискать что-то другое, если пойму, чем та не устраивает :slight_smile:

Видел какой то сайт, так там сборка делается через mkgmap прямо не сервере. Это как примерно в 2 словах сделать? Или это невозможно? (я веду на своем сайте небольшую картографическую страницу где пользователи могут опубликовать свой трек) то есть для себя лично и для пользы дела мне это проще делать на сервере через cron (повторюсь: если это возможно и я по привычке ничего не напутал)

Собственно, всё есть в википедии. Единственная проблема с mkgmap в плане транслитерации - он не различает сочетания букв в исходных словах, а тупо заменяет каждую исходную букву на одну или несколько в соответствии с таблицей. Кто-то делал патч для поддержки сочетаний букв, но я его не нашел.