Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Программное обеспечение для Linux

Пять лучших навигационных приложений с открытым кодом

Оригинал: "The Top Five Open Source Navigation Apps"
Автор: Nathan Willis
Дата публикации: December 14, 2010
Перевод: Н.Ромоданов
Дата перевода: январь 2011 г.

Когда речь заходит о программах для мобильных устройств, то основное внимание к себе привлекают веб-браузеры и средства обмена сообщениями. Но приложения, связанные с навигацией и маршрутизацией, вероятно, являются более важными; они, в конце концов, являются, как правило, одними из крупнейших потребителей данных и, если они сделаны некачественно, то это ведет к существенным затратам. К сожалению, картографические приложения, используемые по умолчанию в большинстве мобильных устройств, даже в телефонах на базе Linux, обычно являются проприетарными и пользуются картами, распространяемыми по коммерческим лицензиям. Для тех, кого волнуют вопросы, связанные со свободой программного обеспечения и открытостью данных, ниже приводится путеводитель по лучшим картографическим и навигационным приложениям, предназначенным для малых компьютеров.

Для пользователей Android: OsmAnd

Безусловным лидером на платформе Android является приложение OsmAnd. Несмотря на то, что его название звучит не очень гладко, приложение OsmAnd хорошо работает на широком спектре устройств. Набор функций впечатляет, есть поддержка работы с несколькими наборами карт (прежде всего со свободным набором данных OpenStreetMap), поддерживается маршрутизация и навигация типа turn-by-turn (с аудио или визуальной подсказкой о каждом изменении направления движения - прим.пер.), есть отдельные режимы навигации для автомобильных, велосипедных и пешеходных путешествий, а также (в качестве дополнительной возможности) имеется автоматическое масштабирование и поворот картографического изображения во время движения. Приложение OsmAnd позволяет поверх изображения карт накладывать данные нескольких типов, в том числе несколько наборов данных об интересных местах (функция POI - points-of-interest), данные об остановках общественного транспорта, данные, содержащие пользовательские пометки, а также данные о дорожном движении, получаемые из Yandex.

Скриншот приложения OsmAnd

Скриншот приложения OsmAnd

Важным свойством приложения является гибкость работы с картографическими данными. В приложении OsmAnd можно использовать векторные слои, получаемые из OpenStreetMap, которые занимают меньше места, чем растровые "тайл-карты" ("tile maps"), но в нем можно также использовать в виде нескольких слоев обычные популярные "тайл-карты", что очень важно для тех мест, где данные, предоставляемые пользователями OpenStreetMap, отсутствуют или устарели. Если поддержка несвободных форматов карт вызывает у вас неприязнь, не беспокойтесь: в OsmAnd имеется встроенный редактор OpenStreetMap и вы можете предложить сообществу свой вклад, находя неверно указанные дороги и самостоятельно загружая в сеть информацию об этом.

Еще одной важной особенностью является возможность предварительной загрузки карт. Это позволяет экономить на ужасающе высокой стоимости (по крайней мере, в США) доступа к мобильным данным, а также справляться с ситуацией неполного охвата территории сотовой связью. Утилита OsmAndMapCreator конвертирует данные OpenStreetMap в формат, необходимый для OsmAnd. В результате можно предварительно загружать не только карты, но и данные с информацией POI и с адресами, так что вы можете даже в автономном режиме искать интересующие вас места и адреса.

Одной из немногих (а их - минимум) брешей в броне приложения OsmAnd является навигация с аудио или визуальной подсказкой об изменении направления движения (навигация типа turn-by-turn). В приложении поддерживается два различных движка маршрутизации: коммерческий CloudMade и имеющий открытый код движок Yet another OpenStreetMap Route Service (YOURS). Но при каждом изменении направления движения требуется активное подключение к интернету. OsmAnd может в автономном режиме рассчитывать маршруты, но для того, чтобы видеть ваш маршрут, вам просто потребуется смотреть на карту.

Для любителей карт: gvSIG Mini

В приложении OsmAnd предлагается больше, чем требуется большинству пользователей мобильных карт, но если вы истинный почитатаель географических карт, вы по достоинству сможете оценить набор возможностей, предлагаемый в приложении gvSIG Mini. Почти также, как и в OsmAnd, в приложении gvSIG Mini есть возможность получать карты из нескольких источников данных, в том числе и из OpenStreetMap, но в этом приложении также можно одновременно отображать на экране несколько слоев карт, так что вы сможете одновременно видеть спутниковые изображения и векторные карты улиц. Еще более интересным является возможность использовать в качестве слоя карты данные, получаемые с любого сервера, совместимого со службой Web Map Service (WMS). В результате вы можете самостоятельно выбирать наборы карт, например, карты прогноза погоды NOAA, или даже подключать свой собственный сервис WMS.

Приложение gvSIG Mini поставляется в двух вариантах, один - для Android и один - для других телефонов с приложением Java Micro Edition (ME), которое есть в большинстве смартфонов Symbian. В gvSIG Mini есть онлайновый расчет маршрута с использованием YOURS, и не онлайновая предварительная загрузка картографических данных с помощью приложения, работающего на настольном компьютере. Это приложение, PhoneCache, может работать под Linux, Mac OS X и Windows. К счастью, картографические данные, загружаемые в режиме онлайн с помощью самого приложения gvSIG Mini, также кэшируются, что значительно облегчает загрузку данных через дополнительное приложение.

Скриншот приложения gvSIG

Скриншот приложения gvSIG

Также, как и в OsmAnd, в приложении gvSIG Mini поддерживается поиск интересных мест с помощью функции POI и поиск адресов, хотя для этого вместо сервиса Nominatim из OpenStreetMap используется проприетарный сервис NameFinder. В приложении gvSIG Mini обычно применяется более продвинутые технические решения, представляющие интерес для разработчиков карт, такие как использование цифрового компаса, а также дополнительные режимы доступа к данным, получаемым с помощью GPS. Но, в обмен за это, у вас нет таких возможностей, как голосовая подсказка об изменении направления движения, а также специальных режимов для велосипедных и пеших прогулок. С другой стороны, gvSIG Mini может автоматически посылать данные о вашем местоположении на Twitter и в Facebook, если вы считаете, что это надо делать ....

Для пользователей Maemo: Mappero

Оба приложения OsmAnd и gvSIG Mini созданы (главным образом) для устройств Android. Для тех, у кого устройства Maemo, такие как телефон Nokia N900 или интернет планшеты, лучшим вариантом будет приложение Mappero. Приложение используется под названием "Maemo Mapper" ("Картограф Maemo"), и до сих пор кажется, что несмотря на то, что приложение присутствует в некоторых директориях с приложениями для Maemo, оно все еще находится в активной стадии разработки.

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

Mappero позволяет с помощью самого приложения выполнять предварительную загрузку тайл-карт, хотя используемый при этом интерфейс далек от совершенства. Прежде, чем начать, вам нужно с помощью другого приложения, например, с помощью OpenStreetMap slippy map, получить координаты угла той области карт, которую вы хотите загрузить, причем интерфейс не выдает индикацию состояния загрузки и вы не знаете, насколько работа далека от завершения. Кроме того, учтите, что в Mappero используются тайл-карты даже в случае, когда источником данных является OpenStreetMap, и для них требуется гораздо больше памяти, чем для векторных картографических данных. Наконец, Mappero, к сожалению, не позволяет выполнять поиск адресов и интересных мест без онлайн подключения, также не поддерживаются такие современные возможности, как многослойные карты. По крайней мере, к настоящему моменту.

Для различных устройств Maemo (планшеты и N900) предлагаются различные сборки приложения. Не совсем ясно, будет ли приложение Mappero перенесено на мобильные платформы с системой MeeGo, которая является официальным преемником системы Maemo.

Для webOS: Minimap

У тех пользователей, у которых есть один из телефонов на базе Linux с системой Palm webOS, есть простой, но качественный вариант в виде приложения Minimap. Minimap использует только тайл-карты (tile maps) проекта OpenStreetMap, но в нем есть возможность выбора одного из трех комплектов тайл-карт (с рендерингом общего назначения - Osmarender и Mapnik и для велосипедных прогулок - Cyclemap). Можно также переключиться в "ночной режим", в результате чего карты будут отображаться в темной цветовой гамме.

В текущей версии, к сожалению, не поддерживается ничего, кроме автоматической центровки карт и использования GPS - нет наложения данных POI, поиска адресов и маршрутизации. Если учитывать то, что приложения для webOS разрабатываются с использованием HTML и JavaScript, всегда, конечно, есть шанс, что такие возможности будут добавлены в будущих релизах за счет того, что будут использованы некоторые развивающиеся картографические сервисы, имеющие открытый исходный код и открытые данные.

Navit: Если вам надо именно туда, куда надо, независимо от того, какой у вас телефон

В самом приложении Navit указывается, что оно предназначено для "автомобильной навигации", но оно гораздо популярнее на телефонах, чем на компьютерах с самопальными навигационными панелями. На самом деле создано большое количество пакетов для широкого спектра платформ, в том числе для настольных дистрибутивов Linux, а также для Android, webOS, Windows Mobile, разлоченного iPhone, и даже для Openmoko Freeruner. В приложении Navit есть такие возможности как функция POI, маршрутизация, доступ к OpenStreetMap (и еще к нескольким популярным проприетарным веб картам), а также предварительная загрузка картографических данных в автономном режиме. К сильным сторонам приложения Navit относится использование векторных карт вместо тайл-карт (tile maps), возможность показывать карту в 3-D режиме, а также поддержка режима голосовой подсказки при изменении направления движения.

Но, с другой стороны, Navit в настоящее время очень и очень трудно конфигурировать; даже для того, чтобы получить работающее приложение, требуется вручную редактировать файл XML, а добавление возможности загрузки карт не в онлайновом режиме представляет собой многошаговый процесс, который варьируется в зависимости от того, откуда берутся карты (но, в любом случае, это не просто), и требует ручного конвертирования кэша карт в формат Navit. В добавок, на некоторых мобильных платформах приложение настолько нестабильно, что есть смысл заглянуть на wiki и узнать, на каких платформах приложение работает. Например, еще до появления смартфона N900 билды Navit для Maemo имели ошибки, и из-за одной из ошибок при попытке перерисовать свой собственный графический интерфейс приложение полностью "вылетало". На других платформах, таких как Android, вам нужно было знать специфику вашего аппаратного обеспечения с тем, чтобы выбрать правильную сборку.

Точно также, как и в большинстве перечисленных здесь приложений, в Navit в качестве механизма определения местоположения используется gpsd, но в нем в случае использования устройств GPS, совместимых с NMEA и в которых отсутствует gpsd, также делается попытка прямого считывания данных GPS, что может привести к блокировке других навигационных сервисов, которые в это время работают. Последнее, но не самое худшее, что есть в Navit, это сравнительно быстро работающий внутренний механизм маршрутизации, но расчет ограничивается лишь теми маршрутами, которые начинаются с текущей позиции.

Приложение Mappero

Приложение Mappero

Так почему же тогда приложение Navit попало в список из пяти лучших приложений? По двум причинам. Во-первых, если вы сможете его правильно настроить, оно работает великолепно, и, в добавок к очень качественному интерфейсу, в нем есть возможность просмотра карт в 3-D. Во-вторых, поскольку Navit входит в состав дистрибутива Linux, предназначенного для использоваться в транспортных средствах, а именно — в IVI версию проекта MeeGo, то это открывает будущее для приложения Navit. Недостатки приложения Navit касаются, прежде всего, пользовательского интерфейса; если в проекте MeeGo им будет уделены должная поддержка и внимание, то соперникам останется только за этим наблюдать.

Если вы не отправляетесь в кругосветные путешествия ...

Этот список, к сожалению, не касается каждого телефона или карманного компьютера, имеющегося на планете. У пользователей смартфонов Blackberry, например, гораздо меньше вариантов для выбора, когда дело доходит до навигации с использованием открытых данных. Хотя, если вы посетите по ссылке m.gvsigmini.org мобильный сайт gvSIG, вы найдете нерекламируемые сборки gvSIG Mini для Blackberry. Пользователи Windows Mobile могут попробовать приложения gpsVP или NaviPOWM. Пользователи iPhone, опасающиеся разлочивать свой телефон, также сильно ограниченны в выборе вариантов, хотя для них лучом надежды будет приложение CycleStreets. Как следует из названия, оно предназначено для велосипедистов, а не для автопутешествий, и в настоящее время оно доступно для использования только в Великобритании, но оно показывает, что можно пользоваться данными из OpenStreetMap и другими источниками данных.

Учитывая быстрые темпы развития картографических веб проектов и веб проектов маршрутизации, специализированные приложения не обязательно должны быть единственным направлением развития. Если на вашем устройстве не будет работать ни одно из описанных в этой статье приложений, все еще есть надежда, что, в крайнем случае, хватит данных проекта OpenStreetMap и проектов, которые созданы на основе этих данных.

Но если вы интересуетесь картографическими и навигационными приложениями, придется поискать что-нибудь из категории для фанатов. Например, приложение OpenSatNav является многообещающим решением для платформы Android и предназначено для использованием со 100% свободным программным обеспечением. Увеличивается также тенденция замены gpsd на более гибкое решение, называемое Gypsy, в котором, среди всего прочего, используется технология D-Bus.

Впрочем, есть несколько сфер, в которых навигационные технологии с открытыми данными полностью отсутствуют. К примеру, в настоящее время нет открытых источников данных, связанных с погодой и которые отвечают требованию "открытых данных", лежащему в основе OpenStreetMap и аналогичных проектов, хотя во многих странах данные о погоде собираются на средства налогоплательщиков и являются общественным достоянием. Также отсутствует решение, использующее открытые данные и относящееся к дорожному движению. Это частично связано с тем, что датчики дорожного движения находятся в коммерческой эксплуатации, а также частично с тем, что сбор текущих данных о транспортном потоке осуществляется с помощью несвободных мобильных приложений, которые загружают данные о своем положении и скорости движения в централизованную сервисную службу.

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