Три вида объектов со схожими свойствами. Прямой повод их обобщить? И вообще, если предполагается делать выгрузку из ОСМ, может и формат сделать максимально похожим по структуре?
Я тут на досуге сервачек подняд для нужд разработки программы, www.navigomap.org. На данный момент определяюсь с форматом, потом буду делать конвертер в него, Кто хочет присоединиться к разработке не стесняемся, обращаемся, помощь привтсвуется
Важный вопрос - программа будет Open Source? Под какой лицензией?
Предлагаю делать упор на скорость и расширяемость. Раз карты все равно будут конвертироваться - нет смысла в поддержке сотни датумов и прочем, ибо формат делается для навигационной программы, а не для обмена данными (для коего уже есть де-факто стандартные форматы).
Кстати, самый быстрый в загрузке формат гениально прост: заголовок + [пожатый] двоичный дамп оперативной памяти с данными карты в представлении программы. :3
В этом случае вопрос стоит лишь о способе представления данных, а не о формате файла. Хотя это и есть самый важный вопрос.
К вопросам присоединяюсь.
Думаю, что расширяемость важнее. Если не будет “улиткен ползен” (с) на сегодняшнем железе, то через пару лет и вовсе все будет супер.
Также думаю, что формат представления данных намного важнее формата хранения, да и получать второй из первого куда как логичнее.
Да не совсем так, в памяти надо ведь тоже все удобно разложить, потом на каждой платформе память организована по-разному, т.е. формат получится платформозависимым.
Это хорошо, что продвигаются. А я сейчас пишу osm-viewer на java. Как только удастся разобраться с прорисовкой начну прицеплять к проге конвертер в mp и, возможно в .nof
На большой. Так для себя потренироваться, изучить маленько новый язык, а то я в Deplhi и cpp в основном…
Насколько я понимаю, java легко переносима.
Правда организована она весьма своеобразно. Например для меня было откровением, что для того чтобы рисовать по панельке нужно создать новый класс и наследовать свойства от предка (JPanel), а потом переопределять процедуру прописовки данного компонента paintComponent. Жуть полная. Так и не разобрался пока как рисовать. При ресайзинге формы изображение пропадает
В Delphi при рисовании на потомках TWinControl тоже надо перерисовывать при ресайзах, открытии окна поверх, активации окна и т.д. Соответственно, надо на каждое “портящее канву” событие вешать процедуру перерисовки. Если память позволяет, то после отрисовки можно сохранить картинку, и для некоторых перерисовок просто восстанавливать ее на канве - уберет очень много “морганий”.
Рекомендую ознакомится с программой “Яндекс.Карты” для мобильных устройств. Никаких карт после установки качать не надо - всё подкачивается в процессе использования, и кешируется. Трафик (судя по выдаваемой прогой статистике) - маленький. Кэш можно закачать предварительно (но это не штатная функция).
“Должен подготовить” - это основное неправильное умозаключение. Это привычка работать ручками, вместо того, чтобы спихнуть “тупую” работу на “менее оплачиваемого” робота. Лично мне, при организации спонтанных путешествий, всегда не хватало времени “подготовить” навигатор.
С отсутствием интернета согласен. Но даже тут это можно автоматизировать, предварительно сказав программе закачать нужные данные, просто указав город/область/страну, и не заморачиваясь никаким ручным копированием.
Все существующие на рынке программы (в основной массе) - очень далеки от моего идеала.
Пора привыкать к автоматизации и выходить из пещер.