Ввиду отсутствия внятных, кросплатфоменных open source программ для навигации по картам osm, разве что ГисРуссы, да и та только бесплатна, но не открыта, предлагаю присоединиться к проекту по ее созданию. Правда на текущий момент проект состоит только из мыслей, названия - NAViGO (соединены два слова навигация и OSM, думаю звучит лучше, чем NAViGOSM :)), и зарегистрированного проекта на sourceforge.net.
Идеи:
Программа должна автоматически/в ручном режиме загружать данные osm;
автоматически снимать треки если нет дороги на карте;
написанной на C++ и основанной на библиотеке qt4;
трехмерной;
должны существовать голосовое и визуальное сопровождение по маршруту;
автоматическая перепрокладка маршрута в случае ухода с прежнего.
Не причем, только написание сходно имеется ввиду сочетание прописных и строчных букв, а так название это комбинация двух слов NAViGation и Osm, но что бы никого не смущало, букву “i” можно сделать большой
тут вы(ты) прав замах есть но никто не мешает преобразовать полученный osm файл в то, что нам надо на месте + плюс можно сделать и отдельный конвертер на худой конец
А почему так хочется пункт 1 делать на лету. Зачем это нужно? Нагрузить API osm серверов? Или как? Формат osm надо воспринимать как raw в фотоделах.
В любом случае это намного большее энергопотребление чем бинарный формат - а энергопотребление сейчас проблема.
Чтобы во что-то дельное преобразовать, надо скачивать гигабайты. API на такое не согласится.
А с отдельными конвертерами и так уже есть варианты - тот же navit.
Это для удобства конечного пользователя, нет я конечно не ставлю перед собой цель положить сервера OSM. И не отвергаю мысль об отдельном сервере, что кстати упростит жизнь тем пользователям, у которых это чудо будет стоять на кпк, не у всех gprs дешев.
Но тут проблема в сервере, у меня лично его нет
Давайте теперь обсудим формат файла
Я предлагаю двоичный файл в котором будет содержаться роутинговый граф, и несколько квадро-деревьев(R-tree?) для разных маштабов карты
ну скажем так, а что реализовывать? GUI - это ляжет на qt, роутинг это boost::grapf, вот и остается только отображение, конвертирование, и выкачка карт. А и проблема получение данных с gps
Перечисленные функции уже реализованы в QLandkarteGT. Много работы сэкономишь, если не будешь их переизобретать, а всего лишь добавишь роутинг в QLandkarteGT.
В полноценном навигаторе необходим еще адресный поиск.
Зачем нужен пункт 1, я ей-богу не понимаю. Я например пользуюсь навигацией не в напольном копьютере весом 15 кило и двухмегабитным безлимитным интернетом, а в автонавигаторе. Мой зверек оснащен GPRS, но скачать через GPRS даже карту московской области ~200 мб уже проблема. 90% автонавигаторов вообще интернетом не оснащены.
Таким образом, отправлясь в “рейс”, я полюбому должен сперва подготовить карту на большом компьютере, а потом залить ее на навигатор. При этом мне уже глубоко пофиг что заливать - osm-xml или некий бинарный файл.
Более того, навигация больше всего актуальна в местах, где быстрый интернет весьма проблематичен.