Maemo-mapper-shmuma

From Shmuma

Jump to: navigation, search

Вся информация ниже относится исключительно к версии maemo-mapper-shmuma для OS2007 и OS2008. В n900 все мои изменения входят в мейнстрим. К сожалению, версии маппера для n8x0 и n900 имеют существенные различия, поэтому maemo-mapper-shmuma все еще имеет право на жизнь.

Contents

О MaemoMapper

MaemoMapper — это навигационное приложение для maemo (операционной системы на базе GNU/Linux для интернет-планшетов Nokia n8x0). MaemoMapper позволяет:

  1. закачивать, кэшировать и просматривать растровые карты google.maps и других источников,
  2. прокладывать маршруты (используя сервисы google.maps),
  3. добавлять на карту пользовательские точки,
  4. накладывать на основной слой карты произвольное количество дополнительных слоев (для отображения пробок, погоды и т.д.),
  5. работать с GPS.

Вот так он примерно выглядит:

Maemo-mapper-sample.png

Что такое maemo-mapper-shmuma?

Весной 2008-го я дописал для маппера поддержку Яндекс.Карт, что потребовало довольно серьезных изменений во внутренней структуре программы. К сожалению, эти изменения так и не были приняты в мейнстрим, несмотря на неоднократные мои попытки. В результате я забил, и сейчас сопровождаю параллельный проект под названием maemo-mapper-shmuma.

Отличия от официального maemo-mapper

  1. Поддержка Яндекс.Карт (векторных, спутниковых и гибридных).
  2. Прокладка маршрутов через Яндекс (в настоящее время прокладчик Яндекса поддерживает только Москву и область).
  3. Наложение Яндекс.Пробок на карту в виде слоя.
  4. сохранять расширенный GPX при использовании GPS.

Где брать?

В моем репозитории пакетов для maemo.

После добавления репозитория нужно установить пакет maemo-mapper-shmuma, предварительно удалив официальный maemo-mapper.

Настройка

Есть два пути: простой и сложный. У обоих есть свои плюсы и минусы (как всегда).

Простая настройка

Вы запускаете маппер и выбираете пункт меню "Карты->Download sample repositories". Все доступные репозитории со слоями будут подключены автоматически (это векторные, спутниковые и гибридные Яндекс-Карты и слои с пробками. Также загружаются репозитории с картами и слоями Google).

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

Ручная настройка

Идем в "Карты->Управление репозиториями". Видим что-то вроде:

Mapper-repository.png

Так как параметры репозиториев толком нигде не описаны, расскажу что означает каждое поле.

  • Формат URLprintf-style шаблон, по которому будет генерироваться URL тайла (картинка с кусочком карты). Количество параметров и их формат зависят от типа репозитория, который в свою очередь определяется по содержимому строки формата (например, репозитории яндекса должны содержать строчку maps.yandex).
  • База кэша — имя файла на устройстве в который будут кэшироваться данные тайла. База с загрузкой карт может расти, поэтому лучше указать путь в разделе достаточного размера (сейчас мой кэш всей Москвы занимает почти 500 Мб).
  • Download zoom steps — шаг уровней масштаба для которых будут выкачиваться тайлы. Если установлен в 1, то будут выкачиваться и сохраняться в кэш все уровни zoom. Я обычно устанавливаю в 2, что дает закачку только четных масштабов и неплохо экономит место в базе.
  • Показать шаг масштаба — шаг уровней мосштаба которые будут показываться. То есть если установлен в 2, то показываются только четные уровни zoom. Лучше устанавливать такой же как и предыдущий параметр, иначе тайлы будут масштабироваться под масштаб, что выглядит очень коряво.
  • Двойной пиксель — будут ли тайлы масштабироваться в два раза при отображении. Всегда выключаем, ибо результат включения просто ужасен. Скорее всего это было сделано для n770, скорость и объем флэшки которой не позволяли хранить и показывать полноразмерные тайлы. Эти времена прошли, поэтому эта опция нафиг не нужна.
  • Выбираемый — будет ли этот репозиторий доступен при быстром переключении репозиториев (в маппере можно настроить кнопку, по которой такие репозитории будут быстро циклически переключаться). Зачем это нужно мне лично не совсем понятно, но пускай будет.
  • Масштабы min/max — минимальный и максимальный уровни масштабов. Обычно от 4 до 20.

Кнопка "новый" позволяет создать репозиторий. "Layers" управляет слоями.

Репозитории Яндекс.Карт

Ниже представлены шаблоны URL дополнительных слоев, поддерживаемых maemo-mapper-shmuma:

Режим "Гибрид" представляет собой спутниковую карту, на которую сверху наложен дополнительный слой с основными улицами и названиями объектов. Как настраивать слои рассказывается ниже.

Слои

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

Mapper-layers.png

У каждого слоя есть название, шаблон URL, путь к файлу базы для кэширования тайлов и интервал обновления. По прошествии этого интервала, тайлы слоя будут автоматически загружаться заново (например, для обновления данных о пробках). Если интервал установлен в 0, данные слоя закачиваются только один раз.

Вот так выглядит векторная карта со слоем пробок:

Mapper-traffic.png

Шаблоны URL для поддерживаемых слоев:

Если вы знаете другие URL слоев, пишите max.lapan@gmail.com, добавлю сюда.

После добавления слоев к карте, в меню "Просмотр->Слои" вы можете их включать и выключать. Для загрузки данных слоев (так же как и карт), нужно включить опцию "Карты->Автозагрузка".

База репозиториев

Прокладка маршрутов

В maemo-mapper-shmuma можно выбирать сервис, используемый при прокладке маршуртов. Сейчас поддерживается google и Яндекс (который пока, к сожалению, поддерживает только Москву и область).

Для прокладки маршрута, нажать и удерживать стилус на какой-нибудь точке карты. Посел двух секунд вылезет менюшка, в которой выбираем "Выбранная точка->Загрузить маршрут к...". Вылезет окошко, в котром можно выбрать с помощью чего прокладывать маршрут (google или яндекс), начальную и конечную точку маршрута.

Mapper-router-settings.png

Начальную и конечнную точку можно указывать не только в виде координат, но и названиями, Яндекс разберется.

Mapper-router-result.png

Сохранение расширенного GPX

Добавлено "по просьбам трудящихся" и доступно начиная с версии 2.6.2.3.

Функциональность заключается в сохранении расширенных GPX-треков при использовании GPS. "Расширенный", означает следующее:

  1. широта-долгота-высота,
  2. время и дату,
  3. количество используемых спутников,
  4. алгоритм определения местоположения (fix),
  5. PDOP, HDOP и VDOP (DOP — Dilution Of Precision), некая оценка точности определения координат. Подробнее можно почитать тут.

В то время как стандартный GPX сохраняемый маппером включает только координаты и время. Помимо дополнительных полей, это сохранение не требует дополнительной памяти и реализовано таким образом, чтобы минимизировать риск потери данных трека.

Параметры показаны ниже:

Mapper-full-gpx.png

Данные GPX сохраняются в указанный каталог (по умолчанию это ~/.documents/Maps/Tracks) в файлы вида mapper_YYYYMMDD_NNNN.gpx, где YYYY — год, MM — месяц, DD — день, NNNN — уникальный номер. При перезапуске маппера создается новый файл (само собой, если были данных с GPS).

Получившиеся файлы GPX можно открывать в маппере обычным образом — как маршруты, так и как треки.

В качестве примера можно посмотреть вот этот трек File:Gpx-full-sample.gpx.

Personal tools