Выложено обновление версии программы под все системы.
Актуальная версия 1.82.1308.

Версия под iOS - в связи с проверкой будут выложена в магазин чуть позже.

Увеличен интервал "отвала" GPS до 15 секунд
Значение вынесено в settings.xml (без доступа из настроек)
При отключенной галочке "сглаживать вращение" карта ориентируется без отклонения угла
Исправлено "мерцание" экрана на iOS
Множество мелких исправлений

Ссылки для скачивания:
Android APK:
https://navikey.ru/files/7w/7ways-1308/7ways.apk

Linux:
https://navikey.ru/files/7w/7ways-1308/7ways-linux-rpi-arm.zip
https://navikey.ru/files/7w/7ways-1308/7ways-linux-ubuntu-bionic-x86_64.zip
https://navikey.ru/files/7w/7ways-1308/7ways-linux-ubuntu-bionic-x86.zip
https://navikey.ru/files/7w/7ways-1308/7ways-linux-ubuntu-xenial-x86_64.zip
https://navikey.ru/files/7w/7ways-1308/7ways-linux-ubuntu-xenial-x86.zip

Windows CE:
https://navikey.ru/files/7w/7ways-1308/7ways-win-ce-arm.zip
https://navikey.ru/files/7w/7ways-1308/7ways-win-ce-mips.zip
https://navikey.ru/files/7w/7ways-1308/7ways-win-ce-sh4.zip

Windows NT:
https://navikey.ru/files/7w/7ways-1308/7ways-win-nt-x86_64.zip
https://navikey.ru/files/7w/7ways-1308/7ways-win-nt-x86.zip
Группа в Telegram (https://t.me/navikey)
Поддержка пользователей и общение.

Также запущена поддержка пользователей в Telegram (https://t.me/navikey_support_bot)
Запущен новостной блог http://blog.navikey.org/
В блоге публикуются сообщения о текущих работах и планах.
Доступна RSS подписка на новости.

Обсуждение конвертера карт программы "Семь Дорог"

1568101117

Комментарии

  • Немного изменил программу. Пришлось сделать для карт разных форматов отдельные папки, иначе не получается создавать атлас из готовых карт без ненужного повторного конвертирования.
  • Пришло вдохновение, выделил ключи скрипта, не зависящие от названий регионов и папок, в ini. Теперь можно добавлять и убирать нужные ключи при нужде. Также добавил вывод текста командной строки в лог.
  • Чтобы у всех работала штука предложенная Papazol, в папку с bunzip2.exe надо закинуть bzip2.dll
  • Очередная доработка программы. Ввёл таймштампы в начале и в конце работы, возможность выключения компьютера по окончанию работы. Файл bzip.dll поместил в папку с программой.
  • отредактировано January 2013
    У меня не работает ни эта ни предыдущая версия, изменил bz2_to_7w.ini:
    [MAIN]
    Regions=RU-MUR RU-KR
    polyDwn=1
    bz2Dwn=1
    osm_to_mp=1
    mp_to_7w=1
    shutdown=0
    adv_keys=--config=.\cfg\navikey-ru.cfg --target-lang=ru --default_lang=ru --water-back --disableuturns

    Вот лог:
    2013.01.09 15:18:45
    Обработка карты "RU-MUR".
    Загрузка файла RU-MUR.poly...
    Файл RU-MUR.poly загружен.
    Загрузка файла RU-MUR.osm.bz2...
    Файл RU-MUR.osm.bz2 загружен.
    Извлечение файла RU-MUR.osm...
    Файл RU-MUR.osm извлечён.
    Проверка наличия файлов RU-MUR.poly и RU-MUR.osm...
    Файл RU-MUR.poly имеется.
    Файл RU-MUR.osm имеется.
    Конвертирование файла RU-MUR.osm в файл RU-MUR.mp...
    Командная строка скрипта osm2mp.pl:
    osm2mp.pl --bpoly=.\poly\RU-MUR.poly --mapname="Мурманская область" --defaultcountry="RU" --defaultregion="Мурманская область" --config=.\cfg\navikey-ru.cfg --target-lang=ru --default_lang=ru --water-back --disableuturns .\Maps\osm\RU-MUR.osm -o .\Maps\mp\RU-MUR.mp
    Ошибка конвертирования файла RU-MUR.osm.
    Работа прервана.
    2013.01.09 15:19:57

    PS: Проверял под XP и 7кой, под 7кой ещё и полифайл нулевого размера. Запускал из папки в корне диска C:\MapConverter\
    PPS: В ручную из батника те же файлы конвертируются нормально.
  • отредактировано January 2013
    Проверил работу с указанными регионами, всё прошло OK. Судя по приложенному Kostik'ом логу, времени прошло немного, значит, скрипт osm2mp.pl вылетел с ошибкой, не создав ничего на выходе. Надо проследить его лог. Поскольку командная строка формируется автоматически, вряд ли в ней есть синтаксические ошибки типа отсутствия пробелов, на которые среагирует скрипт. Остаётся файл *.poly, который может быть нулевого размера или битый. Почему он может быть нулевого размера, да ещё на Win7, сказать не могу, у меня только XP. Скачивание этих полигонов целиком и полностью возложено на скрипт getbound.pl. Командная строка весьма проста: getbound.pl region > poly\region.poly. Могу лишь предположить, что скачивание пришлось на момент обновления файлов на сервере?
    Буду думать, как занести в лог ещё и сообщения используемых скриптов и программ.
  • отредактировано January 2013
    Ну вот, удалось всё сделать. Теперь все логи, которые есть, пишутся в общий лог программы. Также теперь файл лога пишется всегда, а не только при установленной опции выключения компьютера.

    UPD Прикрепил сперва не тот архив, а удалить ненужный не дают. У которого в URL номер 370 - это хороший :)
  • 2013.01.11 13:15:11
    Обработка карты "RU-MUR".
    Загрузка файла RU-MUR.poly...
    Downloading RelID=2099216
    . http://www.openstreetmap.org/api/0.6/relation/2099216/full

    Creating polygons
    Writing
    All ok

    Файл RU-MUR.poly загружен. Его размер 48523 байт.
    Загрузка файла RU-MUR.osm.bz2...
    Файл RU-MUR.osm.bz2 загружен. Его размер 36490982 байт.
    Извлечение файла RU-MUR.osm...
    Файл RU-MUR.osm извлечён. Его размер 502187422 байт.
    Проверка наличия файлов RU-MUR.poly и RU-MUR.osm...
    Файл RU-MUR.poly имеется.
    Файл RU-MUR.osm имеется.
    Конвертирование файла RU-MUR.osm в файл RU-MUR.mp...
    Командная строка скрипта osm2mp.pl:
    osm2mp.pl --bpoly=.\poly\RU-MUR.poly --mapname="Мурманская область" --defaultcountry="RU" --defaultregion="Мурманская область" --config=.\cfg\navikey-ru.cfg --target-lang=ru --default_lang=ru --water-back --disableuturns .\Maps\osm\RU-MUR.osm -o .\Maps\mp\RU-MUR.mp
    Can't locate OSM.pm in @INC (@INC contains: C:/MapConverter/lib C:/Perl/site/lib C:/Perl/lib .) at C:\MapConverter\osm2mp.pl line 61.
    BEGIN failed--compilation aborted at C:\MapConverter\osm2mp.pl line 61.

    Ошибка конвертирования файла RU-MUR.osm.
    Работа прервана.
    2013.01.11 13:16:22
  • Понятно, что скрипт не находит нужную ему библиотеку OSM.pm. Архив с нужными библиотеками уже выкладывал Goldmembr: http://www.navikey.ru/vanilla/discussion/download/359/lib.zip. Нужно положить содержимое в C:\Perl\lib. Странно, что через *.bat всё работает, если библиотеки нет.

    Я тут обнаружил небольшой косячок в последней версии программы, не позволяющий создать атлас. Исправил, в архиве один exe-шник, просто заменить.
  • Kostik said: Проверял под XP и 7кой, под 7кой ещё и полифайл нулевого размера
    osm2mp не может работать с файлами poly нулевого размера (например когда они не скачались или не смогли быть собраны getbound.pl) или неправильной структурой... может это поможет?
  • C .poly файлами проблем нет, временный глюк. А как насчёт 64бит конвертера для WIndows?
  • Сегодня собрали Win64 консольную версию. Пока статус beta...
    http://www.navikey.ru/files/7w/ConverterConsole64.zip
  • naInfo said: Сегодня собрали Win64 консольную версию
    А не консольная будет?
  • Kostik said: А не консольная будет?
    GUI версию конвертера для win64 будем готовить к выходу новой версии программы...

  • отредактировано January 2013
    Скачал сегодня конвертор v1.11.105. А то оказалось что у меня подустаревшая версия была.
    Начал Карты свои делать. У меня их не одна. Большая часть Казахстана.
    Сперва не обратил внимание. Карты конвертировались без проблем.
    А потом обратил внимание. Откуда то берется в готовой карте полигон серого цвета покрывающий всякие городские строения.:( В полише никаких полигонов на этом месте нет.И границ тоже.
    А из за него полигонов домов не видать. Можетя чего то не знаю? И какой то ключ надо задать. Вроде все как обычно. Использую дефолтные правила config_with_layers.cfg
  • dansit said: полигон серого цвета покрывающий всякие городские строения.
    Скорее всего это полигон 0x4b - область покрытия карты или Области городской/сельской застройки (0х20 или 0х30).
    Также обратите внимание - если ваши карты уже имеют разноску по слоям - то лучше использовать config_wo_layers.cfg при конвертации.
    config_with_layers.cfg - предназначен для карт имеющих только один уровень 0, содержащий все объекты карты...
  • Cорри. Запарился. В картах лежал еще атлас Казахстана. Это его полигоны. Убрал его и все норм.
  • всем привет вопрос у мну

    как и чем сделать наоборот с .7w -> .mp ? Очень надо :)
  • Да Sprigan прав, на указанных сервисах для многих стран нет .mp файлов. Мне вот тоже нужны для Denmark, Ireland,Netherlands,Slovakia. :)
  • Никому не нужен такой формат карт из которого любой желающий сможет вытащить исходник. Особенно частным картографам.
  • отредактировано March 2013
    Чет не работает этот http://www.navikey.ru/files/7w/ConverterConsole64.zip
    Вылетает:
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
    А предыдущий 7WaysConvC.exe нормально отрабатывает с тем же конфигом.

    У меня 64 разрядная винда
  • AHTOH said: Чет не работает
    А я пользуюсь нормально консольной 64х битной. Создаю текстовой файлик следующего содержания без расширения:
    -==cut==-
    map=CFO.mp

    layers=layers.dat

    tags=tags.xml

    output=
    -==cut==-
    Запускаю: ConverterConsole64.exe CFO
    Единственное у меня не консольная версия сперва ругается на отсутствие map, а со второго раза (ничего не меняю) стартует нормально.
  • У меня немного сложнее задача. Поэтому остановился на косольной не 64 битной.
    Вот она работает:
    Вот ее файл настроек:

    map=..\MP\Kazan.mp

    layers=layers.dat

    tags=tags.xml

    output=7ways/maps/KAZAN/

    А это батник который все это хозяйство запускает с относительными путями (с флешки тобиш) и все это хозяйство летит прямиком мне на сервер, откуда уже можно скачать готовый файл.

    @echo off
    :: ====== Запуск конвертации 7ways =====
    cd 7ways
    7WaysConvC.exe "../cfg/param7ways.cfg"
    :: Перемещаем папку для упаковки
    move 7ways "../tools/7z"
    :: Упаковываем в архив
    cd ../tools/7z
    7z.exe a -tzip -ssw -mx7 -r0 Kazan 7ways
    :: Перемещаем упакованный файл в папку out
    move Kazan.zip "../../out"
    :: Очищаем. Удаляем каталог с файлами
    RD /S /Q 7ways
    :: Передаем архив на сервер
    cd ../ftp
    ncftpput.exe -f "../../cfg/login_ftp.cfg" -F /public_html/phocadownload/maps/7waymaps/ "../../out/Kazan.zip"
    pause

    Может кому пригодится. Я просто сейчас настраиваю срозу на несколько конвертаторов. надоело все ручками ковертировать для разных программ и ручками выкладывать. Пора все автоматизировать :) могу готовый архив приложить со всеми улитами и настройками.
  • AHTOH said: могу готовый архив приложить со всеми улитами и настройками
    Я думаю лишним не будет, кому нибудь да пригодится.
  • отредактировано March 2013
    Ну вот тут в общем http://iahtoh.ru/download/file/23-konvertor-mp
    там не только в 7 Дорог.
  • А такого же боевого комплекта чтобы делать .mp может у Вас тоже есть? :)
  • А зачем? Точнее из чего?

    Мы этот МР сами рисуем.
  • AHTOH said: А зачем?

    Хочу сделать карту Словакии.

    AHTOH said: Точнее из чего?

    Из данных .osm , взятых с CloudMade или GEOFABRIK.

    Чтобы получить .mp как тут
  • Я такой целью не задавался, но можно тут спросить http://forum.openstreetmap.org/viewtopic.php?id=5328
  • Спасибо за совет.
  • naInfo А как в консольнойй версии включить новые фичи (генерализацию, удаление дублей и джиттера)?
  • В конфиге:
    # Remove duplicated objects from map
    removeDupes=1
    # Remove Jitters from objects
    removeJitters=1
    # Remove not actual points from objects
    generalize=0
  • Заметил ещё на предыдущем (v. 1.11.105) конвертере - при ковертации карт Краснодарского края и Адыгеи из .mp гарминовского формата, взятого здесь:
    http://gis-lab.info/data/mp/
    положительный результат получался только при использовании конфига "config_wo_layers", с другим же конфигом - получалась только Адыгея, а Краснодарский край с размером ноль байт исчезал в конце процесса и выскакивало сообщение что-то вроде "аут оф мемори".
    Вчерашний новый конвертер ни при каких моих "просьбах" (конфиги, проставление галочек в различных комбинациях) всё также конвертит только Адыгею, хотя в финале теперь никаких тревожных месседжей и не выдает.
    Навителовский .мр Russia-KDA от сюда http://navitel.osm.rambler.ru/?country=Russia
    без проблем перерабатывается (для пробы проставил все галки и конфиг "with_layers").
  • отредактировано March 2013
    Dimbis said: аут оф мемори
    Оперативки ему надо ещё и 64бит операционку и конвертор (который только консольный).
    PS: У меня кстати этот новый 64битный консольный под винду тоже вылетать стал без объяснения ошибки.
  • отредактировано March 2013
    Винда да, 32, но 4 гектара в планках оперативы (винде - выше крыши). Специально наблюдал во время процесса за показаниями нагрузки процессора и оперативки - держалось и там и там в районе половины, не зашкаливало. И потом, "без_слоёв" же переваривает (старый конвертер. А до него ещё более древний - с любым конфигом делал свою работу), и навителовский .мр в лёгкую и без проблем.
  • Dimbis said: положительный результат получался только при использовании конфига "config_wo_layers"
    данный конфиг как раз предусмотрен для карт, которые получены с помощью osm2mp, т.к. этот конфиг не разносит объекты по слоям.
    Kostik said: naInfo А как в консольнойй версии включить новые фичи (генерализацию, удаление дублей и джиттера)?
    Данные функции в настоящий момент экспериментальные - поэтому просим пользоваться ими с осторожностью (особенно это касается генерализации карты)... надеемся на понимание.
    Dimbis said: Винда да, 32, но 4 гектара в планках оперативы
    Было бы очень здорово, если бы вы выслали нам конфиг конвертера и источник карт, которые конвертируете при появлении ошибки. Мы обязательно будем изучать/исправлять эту проблему.

  • Скачал карту тут:
    http://data.gis-lab.info/osm_dump/dump/latest/RU-UD.osm.bz2

    Скачал poly тут:
    http://be.gis-lab.info/data/osm_dump/poly/RU-UD.poly

    Скачал
    bz2_to_7w

    Всё заработало, кроме одного.
    Сделал себе отличную пешеходную карту, но к сожалению без поиска по адресам - пришлось выключить
    "addressing: 0".

    Иначе возникала ошибка:
    Loading address areas...
    Can't use string ("56.9351808") as an ARRAY ref while "strict refs" in use at C:/Perl64/site/lib/Math/Polygon/Tree.pm line 351.

    Ошибка конвертирования файла RU-UD.osm.
    Работа прервана.

    Пожалуйста, подскажите что я мог не так сделать.
  • Похоже на несоответствие версии скрипта и версии библиотеки Tree.pm. Библиотека не так давно несколько раз обновлялась.
  • Точно. Спасибо. Скачал здесь
    http://search.cpan.org/CPAN/authors/id/L/LI/LIOSHA/Math-Polygon-Tree-0.05.tar.gz
    версию 0.05
    подменил файлик - работает.
  • отредактировано May 2013
    Написал небольшую инструкцию по установке с нуля на 64бит операционной системе osm2mp и getbound.

    Ставим osm2mp и getbound, для этого нужно установить TortoiseSVN и дать от администратора через командную строку команду:

    svn checkout http://osm2mp.googlecode.com/svn/trunk/ osm2mp
    svn checkout http://osm-getbound.googlecode.com/svn/ osm2mp/getbound


    Ставим ActivePerl 5.16.3.1603 (я ставил 64бит версию)

    от администратора через командную строку выполняем по порядку команды:
    cpan Config:Std
    cpan CPAN
    cpan Template
    cpan Inline::MakeMaker
    
    В первый раз на вопрос Do you want to install Inline::C? [y] нажал Enter, потом повторно запустил и набрал n и нажал Enter.
    принудительно ставим Inline::C через ключ --force, иначе не соберутся Math::Geometry::Planar::GPC::Polygon и Math::Polygon::Tree
    ppm install Inline::C --force
    
    cpan List::Util
    cpan Getopt::Long
    cpan YAML
    cpan YAML::Any
    cpan YAML::XS
    cpan Encode::Locale
    cpan List::MoreUtils
    cpan Math::Polygon
    cpan Math::Geometry::Planar::GPC::Polygon
    cpan Math::Polygon::Tree
    cpan Tree::R
    cpan Geo::Openstreetmap::Parser
    cpan Geo::Parse::PolishFormat
    cpan Data::Dump
    cpan Text::Unidecode
    cpan PerlIO::via::Unidecode
    cpan File::Slurp
    cpan Carp
    cpan Log::Any
    cpan Log::Any::Adapter
    
    Чтобы поставился Math::Clipper нужны дополнительные телодвижения, во первых из папки C:\Perl64\site\lib\auto\MinGW\bin нужно в папку C:\Perl64\site\bin скопировать dll`ки:
    libgcc_s_sjlj-1.dll, libstdc++-6.dll или прописать папку C:\Perl64\site\lib\auto\MinGW\bin в PATH в винде.
    и установить ещё несколько необходимых пакетов для сборки Math::Clipper
    cpan Module::Build::WithXSpp
    cpan ExtUtils::CppGuess
    cpan ExtUtils::Typemaps::Default
    cpan Test::Deep
    
    cpan Math::Clipper
    

    проверяем работу:
    perl osm2mp/osm2mp.pl
    perl osm2mp/getbound/trunk/getbound.pl
    
  • Костя я просто по конвертации карт не в зуб ногой. Я проживаю в Украине как известно проект тревел рулит вперед. А ваши карты использую для тестирования. Ведь Вы писали что разноска ПОИ происходит при создании карт вот и возникло такое предложение. А сам скин уже готов просто хотелось бы его прогнать с такими параметрами. Как ВЫ описали чтобы не рябило от заправок.
    Может прислушаются к этому мнению производители конвертера карт и что нибудь подкрутят если этот вариант будет более приемлем на практике, ведь все кто здесь на форуме любители и стремятся к лучшему, изготавливая разные скины и примочки к ним.
  • отредактировано May 2013
    grviktor сказал: разноска ПОИ происходит при создании карт
    Разноска по слоям также происходит при конвертировании с конфигом config_with_layers.cfg в 7wayconv. Там для разноса по слоям используются строчки вида:
    -==layers.dat==-
    [POI]
    0x0100,0,4 ;Мегаполис (свыше 10 млн.)
    0x0300,0,3 ;Крупный город (2-5 млн.)
    0x0c00,0,2 ;Населённый пункт (2-5 тыс.)
    0x0d00,0,1 ;Населённый пункт (1-2 тыс.)

    0x1400,4,4 ;Название крупного государства
    0x1500,4,4 ;Название малого государства

    0x2f01,0,2 ;АЗС
    0x4400,0,2 ;АЗС
    0xF208,0,1 ;АГЗС

    0xF201,0,0 ;Светофор
    -==layers.dat==-
    Я так понимаю что вначале идёт код объекта, потом через запятую какой то глобальный уровень 4 или 0, а потом уже разделение по уровням от 0 до 4.
    Я пробовал менять у АЗС так
    0x2f01,0,1 ;АЗС
    0x4400,0,1 ;АЗС
    а у светофора так:
    0xF201,0,1 ;Светофор
    Колонки пропадаю до масштаба 200м, как сделать 1км-700м без понятия. В конфиге для osm2mp тоже есть свои уровни, но как они должны быть заданы для этого я без понятия.

    АЗС нашёл:
    - condition:
    - amenity = fuel
    - fuel:lpg != yes
    - fuel:cng != yes
    action:
    - action: write_poi
    type: 0x2f01
    contacts: yes
    Text: %opening_hours
    - condition:
    - amenity = fuel
    - fuel:lpg = yes
    - fuel:cng != yes
    action:
    - action: write_poi
    type: 0xf208
    contacts: yes
    Text: %opening_hours
    - condition:
    - amenity = fuel
    - fuel:cng = yes
    action:
    - action: write_poi
    type: 0xf208
    contacts: yes
    name:
    - %label (АГНКС)
    - АГНКС
    Text: %opening_hours

    Светофор:
    - condition:
    - or:
    - highway = traffic_signals
    - and:
    - highway = crossing
    - crossing = traffic_signals
    action:
    - action: write_poi
    type: 0xf201
  • Kostik сказал: Я так понимаю что вначале идёт код объекта, потом через запятую какой то глобальный уровень 4 или 0, а потом уже разделение по уровням от 0 до 4.
    Первый после запятой уровень, с которого начинать отображать, а второй, на котором заканчивать.
  • отредактировано May 2013
    borism346 Вот, уже что то проясняется. :) А в nodes-navitel.yml у некоторых POI задаётся level_h: от 1 до 4, а у других не задан совсем, как это влияет?
  • Судя по скину у меня получается
    poi type="0x2F01,0x4400,0xf208" picture="0xf208" verbal="АЗС"
    poi type="0xF201"= "Светофор"
    poi type="0xF202"= "Пост ДПС"
    poi type="0xf203"= "ЖД Переезд со шлагбаумом"
    poi type="0xf204" ="Неровная дорога"
    poi type="0xf205" ="Радар контроля скорости"
    poi type="0xf206" ="Ограничение высоты"
    poi type="0xf207"="Движение запрещено"
    poi type="0xf20b" ="ЖД Переезд без шлагбаума"
  • отредактировано May 2013
    grviktor Исходники в польском я выложил в разделе карты, так что я бы для начала поигрался с layers.dat
    Винда 64 битная?
  • borism346 сказал: Первый после запятой уровень, с которого начинать отображать, а второй, на котором заканчивать.

    А масштаб каждого уровня, как я понимаю, настраивается в GPSMapEdit через свойства карты:

    <img src="/vanilla/uploads/FileUpload/5/485.png" />
    555.png 33.5K
  • А далее в layer.dat:

    - в блоке [LAYER]:

    [LAYER]
    Levels=6 ; Количество слоев

    Level0=26
    Level1=24
    Level2=20
    Level3=18
    Level4=14
    Level5=10

    Zoom0=0 ; 1.2 - 3km
    Zoom1=1 ; 3 - 8km
    Zoom2=2 ; 8 - 12km
    Zoom3=3 ; 12 - 30km
    Zoom4=4 ; 50 - 120km
    Zoom5=4 ; 120 - 300km


    И далее в блоке [POI]:

    [POI]
    ; Type,Слой от,Слой до
    ...
    0x2f01,0,2 ;АЗС
    0x4400,0,2 ;АЗС
    0xF208,0,1 ;АГЗС

    Поменять например на:

    0x2f01,0,0 ;АЗС
    0x4400,0,0 ;АЗС
    0xF208,0,0 ;АГЗС
  • отредактировано May 2013
    MiSerg У меня в output-polish.yml менял как описывалось тут.
    Получается так:
    38d06503c5cb.png

Войдите или Зарегистрируйтесь чтобы комментировать.