Android кэш для карт

Загрузка карт

1. Возможна запись карт в 2-х видах: исходном в виде Тайлов или в пакованном. Тайл представляет собой фрагмент карты размером 256 х 256 пикселов. Для неупакованного cache необходимо создать директории:

sdcard/SAS4Android/cache/SAT
/sdcard/SAS4Android/cache/MAP
/sdcard/SAS4Android/cache/BOTH

В эти директории записываются скачанные cache карт.
«both, map и sat» — Это типовые, стандартные папки для НЕпакованного cache, т.е. стандартного SAS.Планета cache состоящего из папок z1, z2. z20, z21.
both — это гибрид Google, то есть накладываемый слой, и прописан он по умолчанию в «Источники слоев».
map — это карта Google. (Нет необходимости создавать директории, в которые не планируется помешать cache карт. При вызове карты на экране будут появляться пустые прямоугольники). В соответствии с названием спутниковые снимки, карты или оба.

Неупакованный cache помещается в отдельную папку для каждой карты или слоя, упакованный — прямо в корень папки cache.

Примечание автора: А еще по секрету скажу. зайди в настройки источников. «добавить новый» жмакай кнопку выбора директории [. ] и конфигуряй источник лежащий вообще где хочется. и необязательно в кэше.

2. Непакованный кэш имеет серьёзный недостаток: он содержит большое количество файлов малого размера, из-за чего на SD-карте образуется очень много неиспользуемых остатков кластеров. В итоге память используется нерационально, долго копируется на карточку. Неупакованный кэш рекомендуется использовать для целей тестирования. В остальных случаях рекомендуется использовать упакованный cache.

4. Упаковать кэш можно двумя способами: используя утилиту автора SAS4Android (v_max) или встроенный упаковщик SASPlanet‘ы. Эти способы имеют некоторые отличия в применении. Утилита v_max разработана для упаковки целиком всего cache из указанной папки. Поэтому процесс упаковки идёт без всяких проверок, просто все имеющиеся файлы один за другим упаковываются. Отсюда высокое быстродействие. Встроенный упаковщик SASPlanet‘ы работает с выделенной областью. Он проверяет наличие в кэше каждого тайла, входящего в выделенную область. На это тратится некоторое время. Особенно замедляется работа встроенного упаковщика, если выделить большую область («весь мир»), покрытую тайлами лишь частично. На проверку пустых мест уйдёт значительное время, а ведь упакованы будут только непустые тайлы.

3. В SAS.Планета выполняется команда «Экспорт» с выбором паковщикa для SAS4Android. Каждый архив состоит из одного индексного файла и нескольких файлов с картами. Например, если карта называется sat, то файлы, подготовленные SAS.Планета будут называться sat.inx, sat.d00, . sat.dxx. Количество файлов зависит от объема. Разделение на файлы выполняется SAS.Planeta в соответствии с настройкой величины файла (по умолчанию стоит 1024 Mб). Такой архив отностится к одной связанной области (не обязательно географически).

5. Рекомендуется применять разные упаковщики в разных ситуациях. Например, если вы специально скачали карту некоторой выделенной области, и, кроме этой области, в кэше ничего нет, имеет смысл использовать для упаковки утилиту v_max.
Если же cache содержит много скачанных областей, расположенных в разных местах, а упаковать нужно только одну область, то использование утилиты v_max становится проблематичным, поскольку полностью весь кэш может и не уместиться на SD-карте, да это и не требуется. Тогда следует применять встроенный упаковщик.
Правда, есть возможность скопировать выделенную область в отдельный cache и уже этот новый cache упаковать утилитой v_max. Насколько быстро получится всё это выполнить? — Достаточно быстро, и кроме того, можно поочерёдно в этот же отдельный кэш скопировать выделения по разным областям, например, несколько городов по z20, и туда же соединяющие дороги — выделением по пути по z18 (не забыть поставить при копировании галки в “Раскладывать по подпапкам. ” и “Заменять при совпадении”)

Читайте также:  Карты офлайн для андроид рейтинг

Кроме того, если исходный cache сохранён в виде базы данных Berkeley, упаковать его будет возможно только встроенным упаковщиком.
Рекомендуется указывать целевое местоположене упакованного cache не на SD-карте, а на жёстком диске.

6. В настройках программы выбрать пункт «Директория кэша карт». Здесь можно ввести путь с клавиатуры, но удобнее и точнее будет нажать кнопку [. ] и выбрать путь через файловый диалог. Если путь к cache выбран по умолчанию, остаётся лишь подтвердить то, что покажет программа. После этого программа должна увидеть карты и слои.

Путь к кэшу по умолчанию /sdcard/SAS4Android/cache, то есть рядом с папкой work. Можно разместить папку cache в любом месте, лишь бы оно было доступно для приложений, но тогда потребуется отдельно указать программе путь к этой папке. В любом случае рекомендуется путь вида: /Какой-тоПуть/SAS4Android/cache. В этом случае минимизируются действия по идентификации папки с кэшем.
Замечание. Android различает большие и маленькие буквы.
В папку …/SAS4Android/cache настоятельно рекомендуется поместить пустой файл с названием .nomedia (это не опечатка, файл без имени и с расширением nomedia), чтобы отвадить медиасканер от поиска в папке cache картинок и музыки. Особенно актуально при использовании неупакованного кэша, в котором большое количество файлов изображений. Файл .nomedia можно найти в системных папках Андроида.
Скопируйте в папку cache заранее подготовленный кэш карт и слоёв.
При этом действует следующее правило: неупакованный кэш помещается в отдельную папку для каждой карты или слоя, а упакованный – прямо в корень папки …/SAS4Android/cache.

Например, неупакованный кэш Космоснимков находится внутри папки KSSAT, и эта папка лежит в папке cache. А упакованный кэш снимков Google состоит из файлов sat.d00, sat.d01, , sat.dXX и sat.inx, и все эти файлы упаковки должны лежать тоже прямо в папке cache. Возможно одновременное использование как пакованого, так и непакованого кэша одного источника. В данном случае, например, BOTH (Гибридный слой Google) существует как в упакованом виде, так и в неупакованом.

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

7. Упакованный кэш с картами может иметь любое имя. Если имя входит в стандартный набор SAS4Android, то прямоугольник с соответтсвующим именем появится при вызове карты на экране. Пользователь может присвоить кэшу карт свое имя. В последнем случае необходимо подготовить и подключить пользовательский кэш. Читать в разделе Создание нескольких архивов.

Программа содержит обширный список источников, кэш которых будет подключаться автоматически, но только в том случае, если наименование файлов (папок) кэша соответствует наименованию по умолчанию. В том случае, если пользователь при создании кэша (особенно при кпаковке встроенным упаковщиком SASPlanet) изменил наименование, то такой кэш придется подключать вручную. При подключении кэша вручную обратите особое внимание на проекцию источника, кэш которого подключаете. В случае, если проекция будет указана неправильно, изображение карты окажется сдвинутым относителя указателя GPS на значительное расстояние. Программа не может определить проекцию источника автоматически!

Читайте также:  Как называется ручка для андроида

Определение типа картографической проекции источника. Особенности источников Яндекс, Космоснимки, Navionics, mail, Про-город, Рамблер, E-Atlas

Картографическую проекцию любого иссточника карты (слоя) можно узнать следующим способом:

1. В рабочих папках программы SAS.Планета SAS.Planet\Maps\sas.maps (или sas.plus.maps), открыв в текстовом редакторе файл param.txt из состава .zmp карты (слоя), найдите строку projection=x . Если Х=1, то проекция Меркатора сферическая, а если Х=2, то проекция Меркатора эллиптическая.

2. Непосредственно в запущенной программе SAS.Планета: Параметры — Параметры карты/слоя — Листинги — param.txt (Естественно следует предварительно выбрать нужную карту/слой).

3. В самом устройстве с установленной программой SAS4Android , любым файловым менеджером откройте папку work, найдите там файлы map.properties или layer.properties и откройте их как текст — в конце каждой строки описания источника есть буквы: . |S — сферическая проекция или . |E — эллиптическая

Найти себя. Непростая задача если вы плохо читали тему подготовки карт.

Источник

Как перенести КЭШ на карту памяти Андроид

Как перенести кэш на карту памяти Андроид — использовать системные инструменты или вручную создать на флешке папку для хранения временных файлов от приложений. Ниже рассмотрим только перенос кеша, без объединения памяти, которая превращает съемный накопитель в системное хранилище.

Перемещение через систему

Об этом способе упомянуто в статье, как перенести приложения на SD-карту, поэтому отметим только основной способ:

  1. Зайдите в «Настройки» устройства, оттуда перейдите в «Приложения» — «Все приложения».
  2. Откройте карточку с программой, которая находится в постоянной памяти.
  3. В перечне доступных функций тапните по «КартаSD и память телефона».
  4. В разделе «Занято памяти», выберите «Изменить». Во всплывшем окошке переключитесь на «КартаSD».

Этот способ подходит для переноса небольших по размеру ПО и игр. Крупные проекты, вроде PUBG или WoT:Blitz аналогичным способом перенести не удастся.

Создание образа кэша в папке

Вариант перемещения КЭШа на SD карту для владельцев смартфонов с ROOT-правами. Пользователю необходимо установить приложение FolderMount, доступное в Google Play. Принцип его работы следующий :

  • папка с кэшем переносится на флешку;
  • в постоянной памяти создается образ папки с файлами и путь к их расположению на карточке.

Таким образом переносят объемные игры, которые нельзя переместить с помощью системных инструментов. Чтобы они работали без “тормозов”, используйте только быстрые microSD.

Теперь о работе с программой :

  1. Запустите приложение. Подтвердите наличие РУТ по запросу.
  2. Тапните по иконке «+» в правом верхнем углу.
  3. Откроется новое окно, где нужно указать «Имя» для папок-пар, расположение кэша и папку на SD-карту, куда его перенести. Чтобы юзер не растерялся, конечную папку можно создать автоматически. Теперь щелкните по галочке в правом верхнем углу.

В качестве альтернативы используйте проекты AppMGR III или Переместить в SDCard.

Почему не стоит объединять памяти для переноса кэша

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

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

Источник

Android кэш для карт

Перенос кэша игр и данных других программ на sdcard2 (ROOT)

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

Чтобы не мучать линуксоидов скажу: mount -o bind /what/you/mount /where/want/mount

И пока знающие ребята переносят кэши и карты на внешнюю флешку, мы начнем постигать сие премудрие с самого начала :yes2:
Перенос будем рассматривать на примере кэшей игр от Gameloft. (да я знаю что есть спец прога 😛 )

Внимание!
Данный способ рассматривается на примере для DellStreak7 Android 3.2, точка монтирования внешней флешки в вашем устройстве может называться иначе.
Ну и, естественно, все на ваш страх и риск.

1. Определитесь где у вас на sdcard2 будут храниться перенесенные данные и создайте для них папку. Я создал ее с названием Bind
2. Создайте в только что созданной папке еще одну папку с именем gameloft
3. Перенесите в нее содержимое папки /mnt/sdcard/gameloft/games
4. Скачайте с маркета бесплатное приложение Script Manager
5. Решите где у вас будет лежать скрипт. Я создал на внутренней флешке папку Scripts .
6. Запустите Script Manager и перейдите в эту папку.
7. Создайте новый скрипт ( меню-(+) ) и назовите его bind.sh
8. Щелкните по свежесозданному файлу и в появившемся меню нажмите:
Звездочку — это добавит наш скрипт в избранное.
Черепок — запуск скрипта с root привилегиями.
Шестеренку — добавит скрипт в автозагрузку.
Далее жмем кнопку Edit и открываем скрипт любимым текстовым редактором.
9. Настало время для самого сложного >-)
Структура команды:
mount -o bind
Исходя из этого у нас получается:
mount -o bind /mnt/sdcard2/bind/gameloft /mnt/sdcard/gameloft/games
иными словами мы говорим системе что содержимое папки /sdcard/gameloft/games находится в папке /sdcard2/bind/gameloft
10. В открытом файле (вы ведь не закрыли его еще? 😉 ) пишем:

11. Сохраняем файл и закрываем текстовый редактор.
12. Жмем кнопку Run и идем в папку /gameloft/games
Если кэши в ней видны, значит вы все сделали правильно, можно запустить и проверить игру.
При следующей перезагрузке скрипт выполнится автоматически.

По аналогии переносим другие данные просто дописывая в этот скрипт.

Пример моего скрипта:

Q: У меня нет папки mnt.
A: Вам стоит почитать о файловой структуре Android.

Q: Можно же просто симлинк создать!
A: Если вы расскажете как это сделать на fat разметке — пошатнете мир линукса.

Q: Не работает.
A: Работает! Делайте строго по инструкции!

Сообщение отредактировал Dreamer. — 30.11.15, 09:25

Будте так добры в дополнение расскажите каким образом править путь закачки кеша,допустим есть игра Modern Combat-3 и ее вес составляет 1637 MB,в планшете свободные 1.3 GB. Попытки монтирования с помощью GL-to-SD в любом случае кеш переносится во внутренний Flash

Источник

Читайте также:  Ватсап плюс для android
Оцените статью