вторник, 28 июля 2015 г.

Конвертер карты из OSM в MP

Здравствуйте, друзья!

В свое время (2-3 года назад) неоднократно мы пытались сделать некую утилиту по преобразованию карт OSM в нужный нам MP, но руки так и не дошли.
Недавно я вспомнил о данной проблеме, когда в очередной раз пришлось склеивать два региона и решил таки забороть. Для этого я воспользовался документацией на официальной wiki сервиса и сформировал скрипт на основе уже существующего от liosha  

Теперь же я могу вам представить утилиту OSM2MP в новом формате:
https://yadi.sk/d/nzUdo4RWi8k69



Она умеет конвертировать OSM-карты в "польский формат" и заливать сразу на FTP. Могут появится вопросы: "а чежешь такое это ваше OSM?". А это формат карт, который можно экспортировать прямо с сервиса http://www.openstreetmap.org/export . Т.е. мы можем зайти прямо на этот сайт, выделить нужную нам область карты (только то, что нужно, а не целую страну или регион), тыкнуть Экспорт и получить самую "свежую" карту на текущий момент по данной области (со всякими POI и проездами). Однако, загвоздка в том, что нам нужен именно "mp"-формат ("польский") для работы внутри Такси-Мастер.

Пользоваться утилитой очень просто:
1. Зайдите на сервис  http://www.openstreetmap.org/export
2. Найдите нужный вам город или регион и тыкните на "Выделить другую область" :


3. Выделите нужную вам область или город, или часть города и тыкните на Overpass API


4. Немного подождите и вам будет предложено скачать файл "map" (расширения нет, но на это внимание не обращайте)
5. Скачайте утилиту и запустите (произойдет "тихая" инсталляция в папку ProgramFiles с установкой ярлыка на рабочий стол).
6. После установки утилита запустится автоматически
7. Указываем путь к скачанной ранее карте, название города, папку для сохранения:















8. Тыкаем ОК и ждем. Время конвертирования зависит напрямую от размера карты. Ждем пока не появится окошко с уведомлением о завершении работы скрипта:












9. Карта сохранилась в указанную папку + к названию добавилась дата для удобства.

Далее действуем по инструкции подключения карты к ТМ.
Хорошей плюшкой  в таких картах является возможность работы с POI, т.е. прямо в адресе подачи можно указать Магазин "Ашан" и получить его местонахождение на карте вместе с адресом. То же самое можно проделывать с автобусными остановками, больницами, магазинами и т.д.. Вот пример:




Пользуйтесь и радуйтесь.