Конструктор расписания транспорта
дата последнего изменения: 15.11.2010
метки: разное, J2ME, JavaScript
Зачем это нужно
Расписание на листочке бумаги неизбежно затирается и теряется. Да и на переписывание нужно тратить время. Можно сделать проще — сфотографировать расписание камерой телефона на вокзале или на остановке. Результат получается быстро и точно. Но по фотографии не слишком удобно искать нужный маршрут, тем более на маленьком экране телефона.
Очень удобно иметь расписание транспорта в мобильном телефоне в виде Java-приложения. Телефон всегда под рукой — значит, и расписание тоже. Java-приложения устанавливаются практически в любой современный телефон. Java-приложение (J2ME мидлет) легко распространяется — его можно установить с компьютера, передать с другого телефона или загрузить из интернета. Небольшой экран плохо подходит для просмотра расписания в виде таблицы, но вместо этого можно организовать поиск и показывать только нужные данные в виде списка.
Также полезно иметь расписание транспорта на компьютере. Но здесь нужен другой формат. Наиболее удобный вариант — веб-документ (HTML/JavaScript), для его просмотра годится любой веб-браузер. А браузер сейчас есть на каждом компьютере, в любой операционной системе, даже если компьютер не подключен ни к каким сетям. Так что не нужно устанавливать никаких дополнительных программ и компонентов. Этот формат также подойдет для смартфонов, в которых нет Java-машины.
Как это выглядит
Расписание в электронном виде, в форматах, удобных для просмотра на мобильном телефоне и компьютере уже есть. Рабочий пример — Расписание электропоездов (электричек), город Коломна Московской области.
Поиск
Для каждой пары начальной и конечной остановок формируется свое расписание. Это удобно тем, что выводится только нужная информация — время отправления, время прибытия и комментарий к рейсу. Например, в комментарии может быть указано, что данный рейс выполняется только по выходным или по рабочим дням.
Учитываются особенности некоторых рейсов. Это может быть другая конечная остановка или следование какого-либо участка маршрута без остановок. На вокзале такие рейсы имеют особые пометки, на которые надо обращать внимание. А в электронном варианте расписания неподходящие рейсы просто не выводятся.
Особенности Java-приложения
- Работает на любом современном мобильном телефоне, независимо от размера и разрешения экрана.
- Не содержит тяжеловесной графики, поэтому имеет компактный размер, быстро устанавливается и запускается.
- Работает без подключения к интернет, все необходимые данные хранятся внутри приложения.
- Запоминается история поиска расписаний. Благодаря этому любой недавно выполненный поиск можно быстро повторить, без выбора начальной и конечной остановок.
- Есть команда для быстрого просмотра обратных рейсов.
- Для каждого расписания можно сделать хорошо запоминающийся значок, взяв за основу герб города или логотип транспортного предприятия.
Особенности веб-документа
- Открывается в любом браузере, никаких дополнительных программ или компонентов не требуется.
- Форма поиска, данные, скрипты, справка, стили оформления — все объединено в одном файле, что удобно для распространения.
- Документ можно разместить в любом месте — на «Рабочем столе», на съемном диске, в общей сетевой папке, на корпоративном или городском портале.
Как это делается
Для сборки Java-приложения и веб-документа используется специально разработанная мною программа — «Конструктор расписания транспорта».
Наиболее сложная и трудоемкая часть работы — подготовка исходных данных. Необходимо собрать и систематизировать данные о расписаниях всех местных маршрутов. Источник информации может быть любой. За основу можно взять веб-сайт трансагенства или городской портал, а уточнить данные на вокзале. Результат следует оформить в виде набора CSV-файлов. Для подготовки этого набора используется табличный редактор OpenOffice.org Calc или Microsoft Excel.
Если Вам нужно расписание для своего города или района — обращайтесь!
Есть замечания, предложения или пожелания? Сообщите автору!
↑ К началу страницы | соответствует стандартам XHTML, CSS
