Создание оффлайн карт для Locify

Mobile Navigation

Навигатор мобильной картографии.

Делаем свою карту для Locify

Рубрика: Карты -> D.I.Y.
Метки: | |
Четверг, 13 августа 2009 г.
Просмотров: 1381
Подписаться на комментарии по RSS
]]>
]]>Locify Offline MapsОдна из возможностей Locify- это поддержка пользовательских карт (offline maps). Сегодня хотелось бы рассказать о том, как самому сделать карту для этой программы.
Программа поддерживает растровые карты, но в тоже время имеет ограничение на загрузку максимального изображения (300кб), связанного с тем, что Locify - java приложение. Обойти ограничение возможно, разрезав большой растр на множество мелких плиток. Каждый фрагмент карты будет грузиться, только тогда, когда нам он действительно нужен, в то время как не используемые фрагменты будут удалены из памяти. Подобным способом организованы спутниковые снимки, о чем я уже писал раньше. Теперь нам остается лишь разрезать нашу карту, на мелкие куски, главное, что для этого нужно - это желание.

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

GoogleMaps 2 TrekBuddy

Что нужно: браузер
Что получаем: карту Google Maps для Locify
Самый простой способ, достаточно перейти на страницу http://gm2tb.awokenmind.de/. Найти местность, которую будем трансформировать в карту и нажать Download Map. Область, которую просматриваете, будет увеличена на 4 и сохранена с разрешением 2000x2000px, хотя само изображение области будет разрезано на мелкие плитки(200x200x8b). Так же автоматически будет создан файл привязки и вся наша карта упакована в архив tar.
GoogleMaps 2 TrekBuddy
Полученный архив достаточно скопировать на телефон. Например, на Nokia E71 это будет C:\DATA\Images\Locify\maps или E:\Locify\maps, в зависимости от того куда установлена программа. Так же на сервис позволяет создавать путевые точки в формате GPX, который тоже поддерживается Locify.
Получается дешево и сердито - пару кликов мышкой и уже имеем нужную карту. 
Минусы:
  • Карта только Google Maps
  • Создает карту только на видимую область
Вывод: Подойдет тем, кому хватит обзорной карты и нет желания тратить время на другие приложениями.
созданная нами карта
[image=http://img-fotki.yandex.ru/get/3511/mobilenavigation.1/0_1501e_872976d0_L">
путевая точка созданная на сервере http://gm2tb.awokenmind.de/

Ручной способ нарезки карт

Что нужно: готовая растровая карта, графический редактор, блокнот, архиватор и TBCutter 
Что получаем: любую растровую карту для Locify
Я сознательно избегал тем, о том как привязывать карты и что для этого нужно использовать. Сейчас я  тоже не хочу нагружать вас дополнительными знаниями и уйду от этого вопроса, считая, что у Вас уже есть привязанная карта для OziExplorer. В данном случае я использую карты генштаба с сайта Поехали!(для центра Москвы я взял 050k-n37-004-3-(1986)).
Во-первых, надо преобразовать нашу карту в формат PNG. С этим справиться даже MS Paint.
Во-вторых, надо ручками отредактировать файл привязки(*.map).
Нам важно поменять ссылку на графический файл(в нашем примере из GIF я сделал PNG) - обычно это третья строчка.


OziExplorer Map Data File Version 2.2
050k--n37-004-3--(1986).gif (имя карты)
050k--n37-004-3--(1986).gif (имя изображения карты)

У нас изменилось имя изображения карты, поэтому нужно его поменять(вторую строчку, которая отвечает за имя карты менять не обязательно, хотя можно изменить на что угодно):

OziExplorer Map Data File Version 2.2
Mosсow 1:50000
050k--n37-004-3--(1986).png

Дальше файл привязки содержит данные о проекции и системе координат карты. Эти строчки менять нельзя:

1 ,Map Code,
Pulkovo 1942 (2),WGS 84, 0.0000, 0.0000,WGS 84
Reserved 1
Reserved 2
Magnetic Variation,,,E
Map Projection,Transverse Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No

Следующий блок map файла, как раз отвечает за соответствие координат графического файла с координатами местности:

Point01,xy, 102, 100,in, deg, 55, 50.0000,N, 37, 30.0000,E, grid, , , ,N

Количество Point показывает сколько точек использовалось для привязки карт.
Надо найти последнюю точку привязки и удалить все что ниже, оставив только последнюю строчку содержащую:

IWH,Map Image Width/Height,2663,3131

В итоге наш файл привязки должен выглядеть следующим образом:

OziExplorer Map Data File Version 2.2
Moskow 1:50000
050k--n37-004-3--(1986).png
1 ,Map Code,
Pulkovo 1942 (2),WGS 84, 0.0000, 0.0000,WGS 84
Reserved 1
Reserved 2
Magnetic Variation,,,E
Map Projection,Transverse Mercator,PolyCal,No,AutoCalOnly,No,BSBUseWPX,No
Point01,xy, 102, 100,in, deg, 55, 50.0000,N, 37, 30.0000,E, grid, , , ,N
Point02,xy, 1289, 100,ex, deg, 55, 50.0000,N, 37, 37.5000,E, grid, , , ,N
Point03,xy, 2570, 102,in, deg, 55, 50.0000,N, 37, 45.0000,E, grid, , , ,N
Point04,xy, 94, 1568,in, deg, 55, 45.0000,N, 37, 30.0000,E, grid, , , ,N
Point05,xy, 1331, 1570,in, deg, 55, 45.0000,N, 37, 37.5000,E, grid, , , ,N
Point06,xy, 2568, 1569,in, deg, 55, 45.0000,N, 37, 45.0000,E, grid, , , ,N
Point07,xy, 88, 3037,in, deg, 55, 40.0000,N, 37, 30.0000,E, grid, , , ,N
Point08,xy, 1289, 3031,ex, deg, 55, 40.0000,N, 37, 37.5000,E, grid, , , ,N
Point09,xy, 2567, 3038,in, deg, 55, 40.0000,N, 37, 45.0000,E, grid, , , ,N
IWH,Map Image Width/Height,2663,3131

Основные приготовления завершены. Осталось только разрезать нашу карту на мелкие куски и залить в телефон. 
Оперировать нашу карту мы будем программой TB Cutter (скачать 14).
TB Cutter
Надо надо указать основные параметры:
Source bitmap - исходная карта
Calibration file - файл привязки
Output path - путь для сохранения результатов
Tile properties - тут нужно указать как мы хотим разрезать нашу карту по ширине(Width) и высоте(Height) а так же указать глубину цвета(Color depth). Я использую рекомендуемые Locify 256x256x8b.
В директории указанной для сохранения должно получиться два файла(один с расширением set, другой - map) и каталог set, в которой лежат фрагменты нашей карты. Теперь нам необходимо заархивировать полученные данные в формат tar. (Я использую программу 7-Zip, но не одна она способна с этим справиться.)
архив с картой 7zip
Полученный архив надо закинуть в папку с картами.
Таким образом можно подготовить любую растровую карту для использования в программе Locify.
Минусы:
  • требуется дополнительно ПО
  • требуется дополнительное время

Заключение:

Я уже привык, к тому, что ничего идеального  не бывает. В Locify существует большая проблема, полученные карты нельзя не приближать, не удалять. Они остаются всегда одного масштаба. 

Ссылки:
]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 14

  1. 2009-10-21 в 16:38:29 | Феликс

    Отличная идея, но надо бы подумать о рекламе на сайте. По-моему ее слишком много smile Хотя, конечно - это не мое дело smile

  2. 2009-10-21 в 18:55:21 | Mu

    На самом деле єто и ваше дело тоже - не только для себя веду блог. Хотелось бы узнать какая именно реклама вас раздражает?

    Та что с боку,снизу и в фиде(от гугля()) сделана исключительно для того, чтобы оплачивать хостинг и домен.

  3. 2009-10-24 в 11:11:41 | Xpaнитeль

    По моему скромному мнению, эта тема довольно сложная для новичка smile

  4. 2010-03-24 в 03:55:47 | Василий

    Красота — это в общем-то гениальность, даже больше, чем гениальность, ибо в объяснении не нуждается.

  5. 2010-03-25 в 13:26:16 | WANTED

    Радует, что блог постоянно развивается. Подобные посты только прибавляют вам популярности.

  6. 2010-03-31 в 02:01:47 | Ростислав

    Да, было бы смешно, если б не было так грустно ...

  7. 2010-03-31 в 09:19:40 | LanseloT

    Очень хорошая статья. Буду ждать продолжения. Тема безусловно интересна всем.

  8. 2010-04-01 в 12:36:26 | Мурат

    С этой статьи начинаю читать Ваш блог. + один подписчик smile

  9. 2010-04-05 в 04:11:55 | джaн

    Народ в подобных случаях говорит - Базар цену скажет

  10. 2010-04-05 в 19:51:58 | Максим Кузьмичев

    Спасибочки за информацию, буду юзать. smile

  11. 2010-04-09 в 22:40:48 | Наум

    Действительно интересно. Некоторые моменты не знал.

  12. 2010-04-11 в 23:26:11 | Тимур Макаров

    Очень вам признателен, действительно полезная инфа.

  13. 2010-04-22 в 06:49:07 | Иван Соколов

    Статья очень понравилась! Этакий короткий микс практических знаний. Хоть и “зажгли лампу среди белого дня”smile

  14. 2010-04-26 в 04:31:14 | Рубен

    Действительно. Фактов всегда достаточно – не хватает фантазии. Желаю автору ее поболее smile

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)