Разработка навигационной программы

По поводу мультиполигонов можно ввести новый тип геометрии в формат. Для маршрутов видимо придется вводить еще граф и для пешеходов отдельный граф?

Три вида объектов со схожими свойствами. Прямой повод их обобщить? И вообще, если предполагается делать выгрузку из ОСМ, может и формат сделать максимально похожим по структуре?

Я тут на досуге сервачек подняд для нужд разработки программы, www.navigomap.org. На данный момент определяюсь с форматом, потом буду делать конвертер в него, Кто хочет присоединиться к разработке не стесняемся, обращаемся, помощь привтсвуется :slight_smile:

Репозитория нетути :slight_smile:

Важный вопрос - программа будет Open Source? Под какой лицензией?

Предлагаю делать упор на скорость и расширяемость. Раз карты все равно будут конвертироваться - нет смысла в поддержке сотни датумов и прочем, ибо формат делается для навигационной программы, а не для обмена данными (для коего уже есть де-факто стандартные форматы).

Кстати, самый быстрый в загрузке формат гениально прост: заголовок + [пожатый] двоичный дамп оперативной памяти с данными карты в представлении программы. :3
В этом случае вопрос стоит лишь о способе представления данных, а не о формате файла. Хотя это и есть самый важный вопрос. :smiley:

Gmurik2, заведите блог, и постите туда новости о разработке программы. Думаю многим будет интересно его читать!)

Это только в том случае, когда карта вся целиком в память влазит.

К вопросам присоединяюсь.
Думаю, что расширяемость важнее. Если не будет “улиткен ползен” (с) на сегодняшнем железе, то через пару лет и вовсе все будет супер.
Также думаю, что формат представления данных намного важнее формата хранения, да и получать второй из первого куда как логичнее.

есть, www.navigo.sourceforge.net только в нем ничего нет, пока :slight_smile:

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

GPLv3

Да, на big-endian пришлось бы все int-ы разворачивать :slight_smile:

Ну как дела продвигаются? Что-то темка затихла…

Дела продвигаются не очень быстро как хотелось-бы :slight_smile: Закончил с форматом, теперь разрабатываю конвертер, думаю через недельку закончу

Это хорошо, что продвигаются. А я сейчас пишу osm-viewer на java. Как только удастся разобраться с прорисовкой начну прицеплять к проге конвертер в mp и, возможно в .nof

на большой джаве? :roll_eyes: а то еще маленькая есть… :slight_smile:

А смысл есть в десктопном вьювере? Я думал, что стоит вопрос в мобильной проге.

На большой. Так для себя потренироваться, изучить маленько новый язык, а то я в Deplhi и cpp в основном…

Насколько я понимаю, java легко переносима.

Правда организована она весьма своеобразно. Например для меня было откровением, что для того чтобы рисовать по панельке нужно создать новый класс и наследовать свойства от предка (JPanel), а потом переопределять процедуру прописовки данного компонента paintComponent. Жуть полная. Так и не разобрался пока как рисовать. При ресайзинге формы изображение пропадает :frowning:

Ну как бы в большинстве GUI-фреймворках так. Как же вы на дельфях писали - там всё аналогично делается.

Значит неправильно написали.

Этож ООП, Fortress :slight_smile: там, что бы чихнуть, надо наследовать “выдох” и потом “моддить” его в "резкий “выдох” :slight_smile: это и будет “чих” :smiley:

В Delphi при рисовании на потомках TWinControl тоже надо перерисовывать при ресайзах, открытии окна поверх, активации окна и т.д. Соответственно, надо на каждое “портящее канву” событие вешать процедуру перерисовки. Если память позволяет, то после отрисовки можно сохранить картинку, и для некоторых перерисовок просто восстанавливать ее на канве - уберет очень много “морганий”.

По пунктам.

  1. Рекомендую ознакомится с программой “Яндекс.Карты” для мобильных устройств. Никаких карт после установки качать не надо - всё подкачивается в процессе использования, и кешируется. Трафик (судя по выдаваемой прогой статистике) - маленький. Кэш можно закачать предварительно (но это не штатная функция).
  2. “Должен подготовить” - это основное неправильное умозаключение. :wink: Это привычка работать ручками, вместо того, чтобы спихнуть “тупую” работу на “менее оплачиваемого” робота. :slight_smile: Лично мне, при организации спонтанных путешествий, всегда не хватало времени “подготовить” навигатор.
  3. С отсутствием интернета согласен. Но даже тут это можно автоматизировать, предварительно сказав программе закачать нужные данные, просто указав город/область/страну, и не заморачиваясь никаким ручным копированием.

Все существующие на рынке программы (в основной массе) - очень далеки от моего идеала. :slight_smile:
Пора привыкать к автоматизации и выходить из пещер. :wink: