Как сделать карту для oruxmaps

Обновлено: 05.07.2024

Навигация для Android, руководство для чайников и не только

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

В современных PDA используется система A-GPS. Ее назначение в том, чтобы помогать при холодном старте чипу быстрее находить спутники. Информацию о текущем положении последних она черпает из интернета. Включив мобильный интернет на время инициализации можно существенно сократить время поиска спутников. (Практика показывает, что без интернета спутники могут и вовсе не найтись, очень уж слабые чипы ставят в ПДА). После готовности мобильный интернет можно спокойно отключать, чтобы не жрал батарею. Дальше GPS чип будет держать спутники сам по себе. Не стоит пренебрегать этой функцией и надеяться на возможности голого GPS – можно спалить себе мозги, как это сделал я по неопытности.

В ОС Андроид функция GPS активируется в настройках (можно поставить виджет на хоумскрин для удобства доступа), но сам чип просыпается лишь тогда, когда активно приложение, использующее GPS. Т.е. простое включение GPS в настройках еще не запустит чип, а лишь разрешит его запуск программам. Это сделано для экономии батареи (чтобы он не работал тогда, когда он никому не нужен), но может доставить некоторые неудобства. Например, мы включили ЖПС, запустили Карты, в статус-баре появился значок мигающей антенны (поиск спутников), убрали аппарат в карман. Телефон заснул, Карты ушли в фон, GPS чип отключился, спутники не нашлись. Облом! Достали телефон, разблокировали экран, автоматически вернулись к Картам, чип проснулся и стал снова искать спутники. Поэтому, надо помешать аппарату уснуть, пока он не нашел спутники (перестанет мигать значок GPS).

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


Фух, надеюсь, с этим все понятно. Кстати, в Маркете есть хорошая программа “ GPS Status ”, которая отображает работу чипа – количество используемых спутников, координаты, погрешность позиционирования и т.д.

RMaps. Популярнейшая программа для онлайн и оффлайн навигации. Онлайн навигация по всем популярным картам: Yandex, Google, Microsoft, Yahoo, Open Street Map… Поддерживает встроенный цифровой компас. Можно добавлять POI, импортировать их, записывать трек, а также экспортировать и импортивать его. Отличная (если не лучшая) программа для ориентирования на местности.

OruxMaps. Программа того же типа, что и RMaps, работает с онлайн и оффлайн картами. Имеет несколько более продвинутые возможности, но слегка запутанный и неинтуитивный интерфейс. Фишка крайних версий – возможность создавать оффлайн карты прямо на аппарате, без использования десктопа и другого софта.

Maverick. Все то же самое, но есть один существенный недостаток, заставивший меня отказаться от этой программки – работа с оффлайн картами организована не слишком удобно. В предыдущих двух программах для сохранения карты используется удобный формат SQlite, на выходе карта упакована в одиночный файл .sqlitedb, что делает работу с картами удобнее. В этой же программе кеш карт имеет тайловую структуру, т.е. это папки с хранящимися в них кусочками карты (тайлами). Огромное количество этих файлов тормозит работу системы с флешкой, к тому же они занимают гораздо больше места из-за размера кластера на карте памяти.

Locus Pro. Весьма недурственная программа, на которую я наткнулся уже при написании этой статьи. Также позволяет использовать онлайн и оффлайн карты, но по умолчанию может использовать только открытые карты типа OpenStreetMaps (можно вылечить). Как и OruxMaps, позволяет качать карты прямо на аппарате. Формат карт совпадает с таковым у RMaps, что делает эту программу претендентом на замену RMaps в моем смарте. Одно НО. Программа в полном варианте платная. Бесплатный вариант урезан. Конечно, есть варианты получения платной версии бесплатно, но лично я не зажму 150р хорошему человеку, если сия программа у меня приживется.

Если хотите просто нормальную программу для ориентирования на местности с возможностью заранее на компьютере готовить атласы, то ставьте RMaps , с ней не прогадаете. Она использует удобный формат карт .sqlitedb, бесплатна, по ней много информации в интернете. Запутаться в ней нельзя. OruxMaps после знакомства с Locus я даже не запускаю. Locus же еще подлежит тщательному изучению и тестированию. Maverick неплохая программа, но по описанным выше причинам не стану ее советовать.

Я постоянно исследую разные новые приложения в поисках идеала. Буду держать вас в курсе.

Пришло время рассказать, как создать с помощью компьютера оффлайн карты для использования их на смартфоне.

Я пробовал использовать две популярные программы для этого. Первая - TrekBuddy Atlas Creator , которая нынче зовется Mobile Atlas Creator . Программа написана в виде ява-апплета, так что для ее работы нужно установить яву на компьютер. С помощью этого приложения можно легко создать карту в формате SQlite , который использют RMaps, Locus Pro, OruxMaps (с небольшими отличиями) и многие другие программы. С определенной версии программа перестала использовать карты из коммерческих источников (яндекс, гугл и прочие), остались только Open Street Maps и еще какие-то открытые карты. Это печально. Поэтому, советую качать старую версию TrekBuddy 1.6 beta2.

Вторая программа – SAS Планета . Я считаю, что она во многом превосходит TrekBuddy и использую только ее. В ней есть поддержка абсолютно всех карт в новых версиях, а не только открытых. В ней реализована простым для пользователя способом возможность добавления и обновления версий источников карт (выкладываются на сайте), что дает пользователю всегда свежайшие карты. В ней реализована возможность избегать бана на сервере с картами (об этом ниже). Программа создана российскими разработчиками, так что с поддержкой вопросов нет. Минус ее в том, что в ней нет по умолчанию поддержки формата .sqlitedb (но по словам разработчиков, работы над этим ведутся), так что для подготовки карт приходится пока пользоваться небольшой дополнительной утилиткой. Хотя, в этом ничего сложного нет.

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

КАК "ПРИКРУТИТЬ" КАРТУ К ПРОГРАММЕ НА АППАРАТЕ?

Независимо от того, каким из описанных способов создания атласа вы воспользуетесь, на выходе получается файл в формате .sqlitedb. Его нужно положить на карту памяти в папку, которая предусмотрена приложением для хранения карт. Обычно это “ sdcard/appname/maps ”, где appname – название приложения. Затем карта активируется в меню приложения, и ей можно пользоваться.

Есть один момент. У разных карт бывает разная проекция. Например, у Яндекс карт проекция отличается от Гугл карт. Если проекция установлена неправильно, то карта будет отображаться со сдвигом (большим). Выбрать проекцию обычно можно в меню программы.

Опишу процесс подключения карт к RMaps для примера:

Если открыть Яндекс карты в браузере и, например, в свежескаченной SAS планете, навести их на один и тот же участок в одинаковом масштабе, то иногда можно заметить, что на сайте Яндекс карт прорисовка лучше, а то и вовсе SAS не отображает многих дорог или зданий, которые отображает карта на родном сайте. Это происходит потому, что карты регулярно обновляются. При этом меняется параметр в URL доступа к карте. И если программа обращается к URL со старым параметром номера версии, то и карты будут отображаться соответственно старые. Плохая новость: в SAS Планете URL’ы пока автоматически не обновляются. Хорошая новость: мы можем обновить их сами, благо свежие URL’ы постоянно выкладываются хорошими людьми. Их можно обновить и не только в SAS, а в любой программе, где источники карт хранятся в доступном для редактирования виде. Приступим же к изучению матчасти.
Доступ к онлайн-карте осуществляется с помощью строки, содержащей адрес и параметры.

Строка может иметь следующий вид:

(из конфигурационного файла SAS)

Может быть и чуть длиннее. Это не важно, важно вот это: “v=2.19.5”. Это и есть номер версии. Обычно достаточно его аккуратно заменить на новый.

Обновляем источники карт в SAS Планете:

Обратите внимание, что каждая папка из этой кучи объединяет в себе карты из одного источника, а внутри вложены папки уже для каждой конкретной карты. В каждой такой вложенной папке есть файл Params , в котором можно увидеть параметры, в т.ч. и адрес с номером версии. Это можно использовать для обновления URL в других программах. Например, Orux Maps хранит информацию об источниках в файле sdcard/oruxmaps/mapfiles/onlinemapsources.xml . Корректируйте версии в нем, и OruxMaps будет грузить вам свежие карты.

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

Яндекс и Гугл ребята обидчивые. Обижаются, когда кэшируешь их карты, и даже могут забанить. Обычно сервер детектирует скачку большого количества тайлов на высокой скорости и банит юзера на пару часов. Пока единственная известная мне программа, где реализована защита от бана – это SAS Планета. Работает она просто: делает задержку после скачивания каждого тайла.

Задержка задается в файле Params, т.е. индивидуально для каждой карты. Открыв файл, видим параметр Sleep=x , где x – задержка в мс. Для Яндекса я выставил задержку в 500мс, т.е.полсекунды, и он меня теперь не банит.
Возможно, и меньшая задержка сгодится, надо испытывать.

В этом же файле есть еще один параметр UseAntiban . Его значения – это 1 для активации или 0 для деактивации. При включении этой функции программа будет останавливаться после 900 загруженных тайлов. Говорят, что в крайних версиях этот параметр уже не используется. В любом случае, его лучше выставить на 0.

За антибан еще 1 плюс в копилочку SAS.

Я рассказал все, что необходимо знать новичку, чтобы начать пользоваться своим Android-смартфоном как навигатором на онлайн-картах. Многое осталось неохваченным: растровые карты генштаба, векторные программы автонавигации, спортивные программы. Об этом я планирую рассказывать постепенно и дальше, по мере проникновения моего мозга в пучину незнакомого софта.

Доброго дня. Продолжаю подбирать программу для навигации по планшету. На сей раз изучаю ORUXMap - отличная программа, есть все нужные функции для навигации, но не обошлось без трудностей. Расширение офлайн карт .MBTiles. и .rmap Курил тему в интернете, но для Хабаровского края нет ничего. Существуют конвертеры, но с ними чего то не заладилось. Посоветуйте, как решить проблему.
p.s. есть тайлы генштаба 1 км в жэпэг формате.

Собственно, вопрос не содержит вопроса, так что отвечать не на что.
1. Вы уже знаете, что готовых карт нет
2. Вы уже знаете что из карт в других форматах можно получить карты в искомом MBTiles, используя конвертер.
3. Вы попробовали конвертер и у вас не получилось.
Три утверждения, ни одного вопроса вроде "я использовал такие-то данные, такой-то конвертер, делал так-то, у меня получилось то-то, и это не то, что я хочу - как мне добиться того, что я хочу?".

Амурская область и Хабаровский край есть на эту программу. Масштабы 40, 20, 10, 5, 1 км в 1 см. Кому надо. Пишите в личку, дам ссыль на скачивание.

Вы бы хоть сказали, что за карты. "Генштаб", еще что-то. А то кота в мешке предлагаете. (Мне лично эти карты не нужны.)

Карты можно делать с помощью SASPlanet и конвертировать с помощью OruxMapsDesktop потом в телефон и будет вам счастье, можно уже готовые привязанные карты в OziExplorer через OruxMapsDesktop прогнать и будет вам счастье.

Здравствуйте!
1) В ORUXMAPS версии 4.6.2 работали карты Microsoft:


параметр отвечал за расчёт номера тайла, но формула для параметра не была задана в доступных пользвотелю настройках:



Значит, алгоритм расчёта этого параметра был прописан в программе, и не доступен пользователю для изменения


в новых версиях ORUXMAPS эти карты перестали работать, есть ли возможность запустить эти карты в новых версиях?

Я озаботился этой проблемой и нашел OruxMaps (доступна в маркете для Android). Конвертация карт прошла успешно, все работает, мы спасены!

P.S.
А то что следующей системой будет Android, это очевидно

Как говорится, не было ни гроша, да вдруг алтын
Уже три аналога под Android которые понимают карты Ozi:

OruxMaps конвертирует карты ozi в свой формат, Androzic напрямую читает карты ozi (в "мобильном" формате), Yozi вроде тоже, но у меня он не запустился (у меня пока китайский Tablet с хакерской прошивкой и без GPS).

Dmitry67 писал(а): Уже три аналога под Android которые понимают карты Ozi:

Волею судеб, потребовалось опробовать"привязаные" в Ozi карты под Android.

Поставил первые два продукта из списка выше (третий как-то не понравился по скриншотам и описанию).

Небольшое отступление:
Под "картами Ozi" можно понимать две вещи:
1. Карты в собственном формате, где внутри одного файла лежит и растровое изображение, и его привязка. По памяти не могу написать расширение файла, но что-то типа ozfx. Существует минимум в двух версиях, а может уже и больше. Понимаю, зачем этот нестандартный формат потребовался Ozi, но сейчас не об этом. Формат решает задачи, которые в нормальном мире был призван решить стандартный и поддерживаемый "взрослыми" программами формат ECW (это IMHO).
2. Пара файлов "растровая картинка плюс файл привязки с расширением .map". Сам Ozi обладает довольно удобным инструментом для привязки (в терминах Ozi - калибровки) растровых изображений, который стал де-факто стандартом. Например, весь Генштаб в сети выложен с привязкой в Ozi. Такая привязка удобна тем, что не модифицирует саму растровую картинку, а просто создает парный .map файл. Минус - не оптимизирован для очень больших изображений.

Возвращаясь к Andriod.
Когда я читаю о поддержке "карт Ozi" - я это понимаю в контексте карт типа 2. Поскольку если стоит задача оптимально работать с большими растрами - то уж конечно нужно пользоваться не форматом Ozi типа 1, а более взрослыми форматами. По крайней мере, так мне кажется логичным.
Не имея в домашнем хозяйстве (за ненадобностью и убогостью) карт Ozi типа 1, и имея огромное количество привязанных карт типа 2, я ощутил необходимость увидеть их под Android.

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

Но вопрос:
вот эти две программы - они вообще замечены в поддержки привязанных растров типа 2?
Думаю, что должны - иначе, кому они нужны такие - но спрашиваю, поскольку сейчас проверить не могу

OruxMaps использует свой собственный формат карт.
Это сделано из-за ограничений на обработку больших изображений у мобильных eстройств. Карты находятся в папках,которые содержат:
а) файл с привязкой(расширение otrk2.xml)
б) файл с расширением .db или папки с изображениями карты (.omc2).

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

>А мы что по вашему должны делать тогда? В "угадай мелодию" играть?
ну для Rmaps как то ж написали, а там такой же формат, только XML не делает.

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

В нем два файла , сама база с картами (SQLite) и файл описаний и привязок(XML). Честно говоря не помню чем делал, но для верности скачал с тела, возможно самим оруксом и делал через онлай. Карта рабочая 100%

1)Карта - Спутник Google.
2)Возможный центр карты - N53,7008 E30,3157
3)Зумы - 15,16,17,18

На данный момент эта программа под Андроид в растре просто вне конкуренции, имхо. И по функционалу, и по продуманности, и по стабильности. К тому же она полностью бесплатна.

Если бы я был знаком с ООП, то давно бы сам всё сделал, только чтобы не читать подобное. Но я электронщик и программирую только на плэйн си и ассемблере. А изучать объектное программирование только ради конвертера, без которого можно обойтись сторонними средствами, это несколько слишком, я считаю.

Чтобы просить что-то у вас "ещё", я должен был просить у вас что-то до этого.
Вы ведь программист, правда?
Так вот - не было такого прискорбного факта.

>А вот деньги у меня вы уже попросить успели
Я вам предложил вариант, как можно ускорить реализацию той хотелки, а не ждать с моря погоды. Ну, не сошлись в цене, бывает. А мне лично фича не интересна, что тоже быват. Можете предложить свою цену в новом разделе "Внеочередного исполнения хотелок" на форуме. Ссылку я выше давал. Авось и повезёт. Обещаю не браться за фичу ни за какие деньги, раз уж такой разговор :)

Там описание недостатков реализованной вами функции, а не просьба.

С семантикой знакомы? Русский - родной?

Просьба - это конструкция типа:
"пожалуйста, сделайте это.."
"не могли бы вы сделать то-то.."

Я же написал, что обхожусь сторонним софтом, что тут непонятного, какой джинн?

Не, похоже вам нашей логики не понять.

>описание недостатков реализованной вами функции, а не просьба
Описание недостатков - в том числе "баг". Это более общее описание.

>ваше "хотелка" так же означает желание, а не просьбу, если что
Ок. Если Вы различаете по сути тезисы "я желаю, чтобы вы тут мне сделали хорошо" и "я прошу, чтобы вы мне тут сделали хорошо", то я бы хотел понять принципиальную разницу в данном контексте (реализация хотелки).
Вообще разница конечно бывает, например:
- Милый, я хочу эту шубу!
(купил)
- Я не просила её покупать!
.
А тут что?
Возможно, желаете нечто, что не просите это делать?
Или даже может быть желаете нечто, но просите этого не делать? )))

Вроде понятно, нет?

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

>готов, за разумные деньги, купить
А ждать Вы готовы?

Стоит, наверное, закончить этот разговор.

Программа, в целом, весьма неплохая, в каких-то аспектах даже лучшая в классе.
Но нормального общения с разработчиками не получается. Не может быть хорошо _всё ))

>По большому счету все эти хотелки ни что иное как желание людей помочь ВАМ сделать ВАШУ программу лучшей.
Внезапно. Оказывается, чтобы помочь проекту стать лучше, достаточно забить багтрекер тысячами хотелок и сидеть ждать, когда их сделают. Не, похоже и с вами у нас разговор не получится.

>Вы за это наоборот должны быть благодарны всем, а не клянчить деньги
А это вообще, верх маразма. Уважаемый, у вас денег никто не клянчит. Вы сюда пришли к нам с просьбой, а не мы к вам в двери постучались с предложением. Просьбу вашу не отклонили, поставили в очередь. Ведь таких как вы - тысячи. Вам не нравиться стоять в очереди, а хочется получить всё здесь и сейчас? Да ради бога - наймите себе любого программиста, он вам всё сделает. Ведь наша программа - открытое ПО, которое позволяет делать с ним очень многое.

Ждите отстоя пены.
Как только кто-нибудь соизволит это сделать - вы сразу об этом узнаете.
Успокойтесь.
Если для вас эта ситуация тоже странная - поставьте себя на место разработчика или другого пользователя, а не того, кто использует эту программу только на 5% и что-то очень хочет. Все хотят. Например, дырки в полигонах сколько лет ждём. А приходится исходить из того, кто что может.

>некие надежды . на 2030
Тут есть много таких хотелок, просто чтобы не забыть. Для этого и существует багтрекер, чтобы определять приоритет доработок и ничего не потерять.

>устройте опрос по этому поводу на форуме
Вот только давайте не будем опускаться в крайности. Народ понятия не имеет, как разрабатывается ПО, профессиональных программистов тут по пальцам одной руки гильотинщика пересчитать можно. Народ даже свои хотелки не тестирует или как попало.

Читайте также: