Maemo-mapper-shmuma
From Shmuma
Вся информация ниже относится исключительно к версии maemo-mapper-shmuma для OS2007 и OS2008. В n900 все мои изменения входят в мейнстрим. К сожалению, версии маппера для n8x0 и n900 имеют существенные различия, поэтому maemo-mapper-shmuma все еще имеет право на жизнь.
Contents |
О MaemoMapper
MaemoMapper — это навигационное приложение для maemo (операционной системы на базе GNU/Linux для интернет-планшетов Nokia n8x0). MaemoMapper позволяет:
- закачивать, кэшировать и просматривать растровые карты google.maps и других источников,
- прокладывать маршруты (используя сервисы google.maps),
- добавлять на карту пользовательские точки,
- накладывать на основной слой карты произвольное количество дополнительных слоев (для отображения пробок, погоды и т.д.),
- работать с GPS.
Вот так он примерно выглядит:
Что такое maemo-mapper-shmuma?
Весной 2008-го я дописал для маппера поддержку Яндекс.Карт, что потребовало довольно серьезных изменений во внутренней структуре программы. К сожалению, эти изменения так и не были приняты в мейнстрим, несмотря на неоднократные мои попытки. В результате я забил, и сейчас сопровождаю параллельный проект под названием maemo-mapper-shmuma.
Отличия от официального maemo-mapper
- Поддержка Яндекс.Карт (векторных, спутниковых и гибридных).
- Прокладка маршрутов через Яндекс (в настоящее время прокладчик Яндекса поддерживает только Москву и область).
- Наложение Яндекс.Пробок на карту в виде слоя.
- сохранять расширенный GPX при использовании GPS.
Где брать?
В моем репозитории пакетов для maemo.
После добавления репозитория нужно установить пакет maemo-mapper-shmuma, предварительно удалив официальный maemo-mapper.
Настройка
Есть два пути: простой и сложный. У обоих есть свои плюсы и минусы (как всегда).
Простая настройка
Вы запускаете маппер и выбираете пункт меню "Карты->Download sample repositories". Все доступные репозитории со слоями будут подключены автоматически (это векторные, спутниковые и гибридные Яндекс-Карты и слои с пробками. Также загружаются репозитории с картами и слоями Google).
Простой способ хорош, когда вы только-только установили маппер и хотите по-быстрому начать им пользоваться. Если же у вас уже есть настроенные по вашему вкусу репозитории и вы хотите добавить карты Яндекса, лучше настраивать вручную, чтобы не потерять ваши изменения.
Ручная настройка
Идем в "Карты->Управление репозиториями". Видим что-то вроде:
Так как параметры репозиториев толком нигде не описаны, расскажу что означает каждое поле.
- Формат URL — printf-style шаблон, по которому будет генерироваться URL тайла (картинка с кусочком карты). Количество параметров и их формат зависят от типа репозитория, который в свою очередь определяется по содержимому строки формата (например, репозитории яндекса должны содержать строчку maps.yandex).
- База кэша — имя файла на устройстве в который будут кэшироваться данные тайла. База с загрузкой карт может расти, поэтому лучше указать путь в разделе достаточного размера (сейчас мой кэш всей Москвы занимает почти 500 Мб).
- Download zoom steps — шаг уровней масштаба для которых будут выкачиваться тайлы. Если установлен в 1, то будут выкачиваться и сохраняться в кэш все уровни zoom. Я обычно устанавливаю в 2, что дает закачку только четных масштабов и неплохо экономит место в базе.
- Показать шаг масштаба — шаг уровней мосштаба которые будут показываться. То есть если установлен в 2, то показываются только четные уровни zoom. Лучше устанавливать такой же как и предыдущий параметр, иначе тайлы будут масштабироваться под масштаб, что выглядит очень коряво.
- Двойной пиксель — будут ли тайлы масштабироваться в два раза при отображении. Всегда выключаем, ибо результат включения просто ужасен. Скорее всего это было сделано для n770, скорость и объем флэшки которой не позволяли хранить и показывать полноразмерные тайлы. Эти времена прошли, поэтому эта опция нафиг не нужна.
- Выбираемый — будет ли этот репозиторий доступен при быстром переключении репозиториев (в маппере можно настроить кнопку, по которой такие репозитории будут быстро циклически переключаться). Зачем это нужно мне лично не совсем понятно, но пускай будет.
- Масштабы min/max — минимальный и максимальный уровни масштабов. Обычно от 4 до 20.
Кнопка "новый" позволяет создать репозиторий. "Layers" управляет слоями.
Репозитории Яндекс.Карт
Ниже представлены шаблоны URL дополнительных слоев, поддерживаемых maemo-mapper-shmuma:
- http://vec.maps.yandex.net/tiles?l=map&v=2.14.0&x=%d&y=%d&z=%d — векторная карта (режим "Схема" на maps.yandex.ru),
- http://sat.maps.yandex.net/tiles?l=sat&v=1.17.0&x=%d&y=%d&z=%d — спутниковые снимки.
Режим "Гибрид" представляет собой спутниковую карту, на которую сверху наложен дополнительный слой с основными улицами и названиями объектов. Как настраивать слои рассказывается ниже.
Слои
Слой — это набор полупрозрачных картинок, накладываемых поверх основого слоя карты. Типичным примером является отображение пробок поверх основной карты. Настройка слоев осуществляется с помощью кнопки "Layers" в диалоге редактирования репозиториев.
У каждого слоя есть название, шаблон URL, путь к файлу базы для кэширования тайлов и интервал обновления. По прошествии этого интервала, тайлы слоя будут автоматически загружаться заново (например, для обновления данных о пробках). Если интервал установлен в 0, данные слоя закачиваются только один раз.
Вот так выглядит векторная карта со слоем пробок:
Шаблоны URL для поддерживаемых слоев:
- http://mm-proxy.appspot.com/trf.maps.yandex?x=%d&y=%d&z=%d — слой с пробками Яндекса,
- http://vec.maps.yandex.net/tiles?l=skl&v=2.8.1&x=%d&y=%d&z=%d — слой с улицами и названиями (гибридная карта),
Если вы знаете другие URL слоев, пишите max.lapan@gmail.com, добавлю сюда.
После добавления слоев к карте, в меню "Просмотр->Слои" вы можете их включать и выключать. Для загрузки данных слоев (так же как и карт), нужно включить опцию "Карты->Автозагрузка".
База репозиториев
- http://mt.google.com/vt?z=%d&x=%d&y=%0d&hl=ru — google street
- http://khm.google.com/kh/v=51&z=%d&x=%d&y=%0d — google satellite
- http://mt.google.com/vt/v=w2p.115&hl=ru&z=%d&x=%d&y=%0d — ландшафт
- http://mt.google.com/vt/lyrs=h@115&hl=ru&z=%d&x=%d&y=%0d — слой дорог и населенных пунктов
- http://mt0.google.com/vt?lyrs=m@115,traffic&z=%d&x=%d&y=%02d&opts=T — слой пробок
Прокладка маршрутов
В maemo-mapper-shmuma можно выбирать сервис, используемый при прокладке маршуртов. Сейчас поддерживается google и Яндекс (который пока, к сожалению, поддерживает только Москву и область).
Для прокладки маршрута, нажать и удерживать стилус на какой-нибудь точке карты. Посел двух секунд вылезет менюшка, в которой выбираем "Выбранная точка->Загрузить маршрут к...". Вылезет окошко, в котром можно выбрать с помощью чего прокладывать маршрут (google или яндекс), начальную и конечную точку маршрута.
Начальную и конечнную точку можно указывать не только в виде координат, но и названиями, Яндекс разберется.
Сохранение расширенного GPX
Добавлено "по просьбам трудящихся" и доступно начиная с версии 2.6.2.3.
Функциональность заключается в сохранении расширенных GPX-треков при использовании GPS. "Расширенный", означает следующее:
- широта-долгота-высота,
- время и дату,
- количество используемых спутников,
- алгоритм определения местоположения (fix),
- PDOP, HDOP и VDOP (DOP — Dilution Of Precision), некая оценка точности определения координат. Подробнее можно почитать тут.
В то время как стандартный GPX сохраняемый маппером включает только координаты и время. Помимо дополнительных полей, это сохранение не требует дополнительной памяти и реализовано таким образом, чтобы минимизировать риск потери данных трека.
Параметры показаны ниже:
Данные GPX сохраняются в указанный каталог (по умолчанию это ~/.documents/Maps/Tracks) в файлы вида mapper_YYYYMMDD_NNNN.gpx, где YYYY — год, MM — месяц, DD — день, NNNN — уникальный номер. При перезапуске маппера создается новый файл (само собой, если были данных с GPS).
Получившиеся файлы GPX можно открывать в маппере обычным образом — как маршруты, так и как треки.
В качестве примера можно посмотреть вот этот трек File:Gpx-full-sample.gpx.






