Делаем свою карту для Locify
Рубрика: Карты -> D.I.Y.
Метки: google | locify | maps
Четверг, 13 августа 2009 г.
Просмотров: 1381
Подписаться на комментарии по RSS
Метки: google | locify | maps
Четверг, 13 августа 2009 г.
Просмотров: 1381
Подписаться на комментарии по RSS
Программа поддерживает растровые карты, но в тоже время имеет ограничение на загрузку максимального изображения (300кб), связанного с тем, что Locify - java приложение. Обойти ограничение возможно, разрезав большой растр на множество мелких плиток. Каждый фрагмент карты будет грузиться, только тогда, когда нам он действительно нужен, в то время как не используемые фрагменты будут удалены из памяти. Подобным способом организованы спутниковые снимки, о чем я уже писал раньше. Теперь нам остается лишь разрезать нашу карту, на мелкие куски, главное, что для этого нужно - это желание.
Когда, я только начал писать эту статью, я додумался только до одного способа. Как оказалось - он не самый быстрый. Позже я нашел и другие способы, о чем по порядку и расскажу.
GoogleMaps 2 TrekBuddy
Что нужно: браузерЧто получаем: карту Google Maps для Locify
Самый простой способ, достаточно перейти на страницу http://gm2tb.awokenmind.de/. Найти местность, которую будем трансформировать в карту и нажать Download Map. Область, которую просматриваете, будет увеличена на 4 и сохранена с разрешением 2000x2000px, хотя само изображение области будет разрезано на мелкие плитки(200x200x8b). Так же автоматически будет создан файл привязки и вся наша карта упакована в архив tar.

У нас изменилось имя изображения карты, поэтому нужно его поменять(вторую строчку, которая отвечает за имя карты менять не обязательно, хотя можно изменить на что угодно):
Дальше файл привязки содержит данные о проекции и системе координат карты. Эти строчки менять нельзя:
Следующий блок map файла, как раз отвечает за соответствие координат графического файла с координатами местности:
Количество Point показывает сколько точек использовалось для привязки карт.
Надо найти последнюю точку привязки и удалить все что ниже, оставив только последнюю строчку содержащую:
В итоге наш файл привязки должен выглядеть следующим образом:
Основные приготовления завершены. Осталось только разрезать нашу карту на мелкие куски и залить в телефон.

Самый простой способ, достаточно перейти на страницу http://gm2tb.awokenmind.de/. Найти местность, которую будем трансформировать в карту и нажать Download Map. Область, которую просматриваете, будет увеличена на 4 и сохранена с разрешением 2000x2000px, хотя само изображение области будет разрезано на мелкие плитки(200x200x8b). Так же автоматически будет создан файл привязки и вся наша карта упакована в архив tar.
Полученный архив достаточно скопировать на телефон. Например, на 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)).
Во-вторых, надо ручками отредактировать файл привязки(*.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).
Надо надо указать основные параметры:
Source bitmap - исходная карта
Calibration file - файл привязки
Output path - путь для сохранения результатов
Tile properties - тут нужно указать как мы хотим разрезать нашу карту по ширине(Width) и высоте(Height) а так же указать глубину цвета(Color depth). Я использую рекомендуемые Locify 256x256x8b.
В директории указанной для сохранения должно получиться два файла(один с расширением set, другой - map) и каталог set, в которой лежат фрагменты нашей карты. Теперь нам необходимо заархивировать полученные данные в формат tar. (Я использую программу 7-Zip, но не одна она способна с этим справиться.)
Полученный архив надо закинуть в папку с картами.
Таким образом можно подготовить любую растровую карту для использования в программе Locify.
Минусы:
- требуется дополнительно ПО
- требуется дополнительное время
Заключение:
Я уже привык, к тому, что ничего идеального не бывает. В Locify существует большая проблема, полученные карты нельзя не приближать, не удалять. Они остаются всегда одного масштаба.
Ссылки:





Комментариев: 14
Отличная идея, но надо бы подумать о рекламе на сайте. По-моему ее слишком много
Хотя, конечно - это не мое дело 
На самом деле єто и ваше дело тоже - не только для себя веду блог. Хотелось бы узнать какая именно реклама вас раздражает?
Та что с боку,снизу и в фиде(от гугля()) сделана исключительно для того, чтобы оплачивать хостинг и домен.
По моему скромному мнению, эта тема довольно сложная для новичка
Красота — это в общем-то гениальность, даже больше, чем гениальность, ибо в объяснении не нуждается.
Радует, что блог постоянно развивается. Подобные посты только прибавляют вам популярности.
Да, было бы смешно, если б не было так грустно ...
Очень хорошая статья. Буду ждать продолжения. Тема безусловно интересна всем.
С этой статьи начинаю читать Ваш блог. + один подписчик
Народ в подобных случаях говорит - Базар цену скажет
Спасибочки за информацию, буду юзать.
Действительно интересно. Некоторые моменты не знал.
Очень вам признателен, действительно полезная инфа.
Статья очень понравилась! Этакий короткий микс практических знаний. Хоть и “зажгли лампу среди белого дня”
Действительно. Фактов всегда достаточно – не хватает фантазии. Желаю автору ее поболее