NightPiter Участники проекта: Эльдар Абусалимов Александр Ким Дмитрий Козорез Александр Меламуд Илья Шурыгин Руководители проекта: Николай Артамонов Дмитрий Кичинский
Цели проекта Разработка программного обеспечения на платформе ОС Anrdoid Отображение карты метро любого из городов мира Удобная навигация поиск кратчайшего пути отыскание станций на карте информация о станциях
Android Android операционная система для мобильных устройств Разрабатывается компанией Google Язык разработки - Java Компанией Google выпущен SDK, включающий в себя эмулятор плагин для IDE Eclipse Причины выбора нами этой платформы отсутствуют аналоги на данной платформе полезный опыт
Общая структура Такая модель позволяет нам подключать различные модули для чтения разных форматов данных и для рисования карты метро в разных стилях Model Controller View Interface: Reader Interface: Drawer XML readerBeauty drawerAnother readerAnother drawer
Метро разных стран В нашем городе метро устроено достаточно просто Но в других городах встречаются сложные конструкции Вот реальные примеры таковых
Формат хранения карт метро Нами были рассмотрены различные существующие форматы хранения карт метро Они оказались неприменимы к нашей задаче Был разработан собственный формат, базирующийся на XML Причины выбора XML XML тесно интегрирован в платформу Android В формат легко вносить изменения Удобно для понимания
Архитектура проекта Модель метро
Полученные результаты На мобильной платформе Разработан формат хранения карт метро Открытие различных карт из файла Отображение карты на экране Просмотр информации о станциях Поиск кратчайшего пути с различной оптимизацией по времени пути по количеству пересадок Изменение масштаба карты Удобная прокрутка На настольком компьютере Визуальный редактор карт
Демонстрация
Направления дальнейшей работы На мобильной платформе Введение поддержки других форматов Возможность загрузки карт с сервера Создание альтернативных вариантов оформления карты Корректное отображение названий станций На настольном компьютере Разработка полнофункционального редактора карт метро Написание сервера для хранения карт