Навигатор по подземке
Автор: Андрей Письменный
Опубликовано в журнале "Компьютерра" 04 сентября 2006 года
Вычисление оптимального маршрута метро - довольно актуальная задача для многих горожан. Для её решения создано множество программ для разных платформ: от интерактивных онлайновых карт до приложений Pocket PC и Palm. Наиболее разнообразным набором функций отличаются, конечно, программы для настольных компьютеров.
Одна из популярнейших разработок этого рода - MMetro. К большому разочарованию её пользователей, она прекратила обновляться около двух лет назад, что для такого рода софта губительно. Карта метро (по крайней мере, московского) там давно не актуальна, так что пришла пора искать альтернативу.
Искать, впрочем, долго не приходится: программа pMetro не только ничем не хуже, но и во многом превосходит MMetro. Взять хоть набор карт: Москва, Санкт-Петербург, Новосибирск, Нижний Новгород, Екатеринбург, Самара, Казань, Киев, Харьков, Днепропетровск, Минск, Ташкент, Тбилиси, Баку и Ереван плюс 50 карт городов дальнего зарубежья.

Наиболее подробно описано московское метро. Схема самая новая, и, к тому же, не одна. К ней прилагаются схемы подмосковных электричек всех направлений и даже речного трамвая. Каждую ветку на схеме можно просматривать отдельно.

Но самое интересное - это пункт "информация о станции" контекстного меню. Информации здесь множество: схема выходов и переходов, данные о времени работы станции, список наземного транспорта, останавливающегося около станции, ссылки - на фотографии с metro.ru и на карту Google Maps.

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

Наиболее полезная информация из этого списка - о наземном транспорте. Но простым перечислением доступных маршрутов дело здесь не ограничивается. Есть дополнительные функции поиска: "куда можно доехать от начальной станции" и "найти транспорт между двумя станциями".
К программе прилагается подробнейший справочник по маршрутам наземного транспорта (включая маршрутное такси) с указанием остановок и интервалов между рейсами. Информация в нём содержится вполне актуальная. Там же есть дополнительное средство поиска.

Единственное, что нуждается в серьёзной доработке - это интерфейс программы. Достаточно заглянуть в любое из её меню, чтобы понять, что ни с какими стандартами её разработчики, увы, не знакомы. Тексты описаний не помешает отформатировать и привести в порядок. Способ добавления начальных и конечных станций тоже неплохо было бы пересмотреть - сейчас чтобы приноровиться к нему, придётся немного потренироваться.
Ещё один нюанс - лицензирование. Как ни странно, но программа, над сбором информации для которой трудилось столько людей, хоть и распространяется бесплатно, но "только для некоммерческого использования" и "как есть" - то есть, зависнув где-то между проприетарным софтом и свободным.
Причём о существовании последнего её автор явно знает - "данные, использованные в программе, свободны для некоммерческого использования, а также для GPL-проектов".
Быть может, создатель pMetro (которому, тем не менее, стоит сказать большое спасибо) подумывает о коммерческой реализации, быть может просто не хочет доверять свою программу всем желающим сделать клон. Но выгоды от открытия исходников вполне очевидны: хороший хостинг и, главное, гарантия, что программа не перестанет в один прекрасный день обновляться и умрёт вместе с интересом к ней автора, как это случилось с MMetro.
Линии метро города Москва
- Кольцевая линия
- Калужско-Рижская линия
- Сокольническая линия
- Замоскворецкая линия
- Каховская линия
- Арбатско-Покровская линия
- Филевская линия
- Таганско-Краснопресненская линия
- Калининская линия
- Серпуховско-Тимирязевская линия
- Люблинская линия
- Бутовская линия
- Монорельс
Станции метро города Москва
Кольцевая линия метро
- Станция Проспект мира
- Станция Комсомольская
- Станция Курская
- Станция Таганская
- Станция Павелецкая
- Станция Добрынинская
- Станция Октябрьская
- Станция Парк культуры
- Станция Киевская
- Станция Краснопресненская
- Станция Белорусская
- Станция Новослободская
Калужско-Рижская линия метро
- Станция Медведково
- Станция Бабушкинская
- Станция Свиблово
- Станция Ботанический сад
- Станция ВДНХ
- Станция Алексеевская
- Станция Рижская
- Станция Проспект мира
- Станция Сухаревская
- Станция Тургеневская
- Станция Китай-город
- Станция Третьековская
- Станция Октябрьская
- Станция Шабловская
- Станция Ленинский проспект
- Станция Академическая
- Станция Профсоюзная
- Станция Новые черемушки
- Станция Калужская
- Станция Беляево
- Станция Коньково
- Станция Теплый стан
- Станция Ясенево
- Станция Битцевский парк
Сокольническая линия метро
- Станция Улица Подбельского
- Станция Черкизовская
- Станция Преображенская площадь
- Станция Сокольники
- Станция Красносельская
- Станция Комсомольская
- Станция Красные ворота
- Станция Чистые пруды
- Станция Лубянка
- Станция Охотный ряд
- Станция Библиотека имени Ленина
- Станция Кропоткинская
- Станция Парк культуры
- Станция Фрунзенская
- Станция Спортивная
- Станция Воробьевы горы
- Станция Университет
- Станция Проспект Вернадского
- Станция Юго-Западная
Замоскворецкая линия метро
- Станция Речной вокзал
- Станция Водный стадион
- Станция Войковская
- Станция Сокол
- Станция Аэропорт
- Станция Динамо
- Станция Белорусская
- Станция Маяковская
- Станция Тверская
- Станция Театральная
- Станция Новокузнецкая
- Станцияо Павелецкая
- Станция Автозаводская
- Станция Коломенская
- Станция Каширская
- Станция Кантемировская
- Станция Царицино
- Станция Орехово
- Станция Домодедовская
- Станция Красногвардейская
Каховская линия метро
- Станция Каховская
- Станция Варшавская
- Станция Каширская
Арбатско-Покровская линия метро
- Станция Парк победы
- Станция Киевская
- Станция Смоленская
- Станция Арбатская
- Станция Площадь революции
- Станция Курская
- Станция Бауманская
- Станция Электрозаводская
- Станция Семеновская
- Станция Партизанская (Измайловский парк)
- Станция Измайловская
- Станция Первомайская
- Станция Щелковская
Филевская линия метро
- Станция Крылатское
- Станция Молодежная
- Станция Кунцевская
- Станция Пионерская
- Станция Филевский парк
- Станция Багратионовская
- Станция Фили
- Станция Кутузовская
- Станция Студенческая
- Станция Международная
- Станция Деловой центр
- Станция Киевская
- Станция Смоленская
- Станция Арбатская
- Станция Александровский сад
Таганско-Краснопресненская линия метро
- Станция Планерная
- Станция Сходненская
- Станция Тушинская
- Станция Щукинская
- Станция Октябрьское поле
- Станция Полежаевская
- Станция Беговая
- Станция Улица 1905 года
- Станция Баррикадная
- Станция Пушкинская
- Станция Кузнецкий мост
- Станция Китай-город
- Станция Таганская
- Станция Пролетарская
- Станция Волгоградский проспент
- Станция Текстильщики
- Станция Кузьминки
- Станция Рязанский проспект
- Станция Выхино
Калининская линия метро
- Станция Третьяковская
- Станция Марксистская
- Станция Площадь Ильича
- Станция Авиамоторная
- Станция Шоссе Энтузиастов
- Станция Перово
- Станция Новогиреево
Серпуховско-Тимирязевская линия метро
- Станция Алтуфьево
- Станция Бибирево
- Станция Отрадное
- Станция Владыкино
- Станция Петровско-Разумовская
- Станция Тимирязевская
- Станция Дмитровская
- Станция Савеловская
- Станция Менделеевская
- Станция Цветной бульвар
- Станция Чеховская
- Станция Боровицкая
- Станция Полянка
- Станция Серпуховская
- Станция Тульская
- Станция Нагатинская
- Станция Нагорная
- Станция Нахимовский проспект
- Станция Севастопольская
- Станция Чертановская
- Станция Южная
- Станция Пражская
- Станция Улица Академика Янгеля
- Станция Аннино
- Станция метро Бульвар Дмитрия Донского
Люблинская линия метро
- Станция Трубная
- Станция Чкаловская
- Станция Римская
- Станция Крестьянская застава
- Станция Дубровка
- Станция Кожуховская
- Станция Печатники
- Станция Волжская
- Станция Люблино
- Станция Братиславская
- Станция Марьино
Бутовская линия метро
- Станция Улица Старокачаловская
- Станция Улица Скобелевская
- Станция Бульвар Адмирала Ушакова
- Станция Улица Горчакова
- Станция метро Бунинская Аллея
Монорельс
- Станция Тимирязевская
- Станция Ул. Милашенкова
- Станция Телецентр
- Станция Ул. академика Королева
- Станция Выставочный центр
- Станция Улица Сергея Эйзенштейна