Выбрать язык


Добро пожаловать,
Логин:

Пароль:



[ ]
[ ]

Сохранить в закладки
Добавить страницу к Мистеру Вонгу Сохранить страницу на сервисе закладок Bobrdobr.Ru! Save this page Добавить в МоёМесто.ru сохранить на RUmarkz

Поддержи проект
WM сертификат
Проверить аттестат

R542984160328
Z272620303691
U248582524158
B355302287148
Яндекс-Деньги Я.Д. 41001132820718
На хостинг и развитие

SMS Копилка
sms.копилка Запрос тайников
Добавить записку...




GPS Клуб
GPS Клуб. Рейтинг, gps новости, каталог, форум

GeoCaching
Геокешинг - увлекательная игра для владельцев GPS-навигаторов!

Geo Visiters
Geo Visitors Map

yandex_counter
Яндекс цитирования

Оптимизация размера карт

Уменьшаем карту в 3-5 раз

 

        Хорошо тем у кого работают внешние карты. Можно любого размера и количества закинуть на флэшку и не думать о свободном месте. А что быть если телефон поддерживает только внутренние? И каждый мегабайт на учете. Можно конечно обойтись стандартным способом сделать побольше jpg компрессию, но тогда вылазят артефакты компрессии. И чем больше компрессия тем больше артефакты. Можно еще перевести в png и использовать в палитре всего несколько цветов. Тогда карта становится раза в 3 меньше в сравнение с обычной png картой 256 цветов занимает меньше места. Правда MapNavEditor не умеет преобразовывать такую PNG карту и опять раздувает ее в 3 раза при включенной галке PNG. В форуме был выложен скрипт для создания карты сразу из папки Cashe программы GoogleMV который не преобразует карту, а только собирает ее. Им то мы воспользуемся. http://mapnav.spb.ru/site/e107_plugins/forum/forum_viewtopic.php?4832

 


 

Для статистики. Карта 9000x9000.
JPG без артефактов - 15 мег. Качество 5
JPG с видимыми артефактами - 5-7 мег. Качество 3-4
PNG 256 цветов - 9 мег. качество 5
PNG 9 цветов - 3 мега. Качество 5+


Для того что бы сделать карты в формате MNM понадобятся программы GoogleMV, Photoshop, MapNavEditor, и данный скрипт. http://www.mcbank.ru/GONZ/cash2mnm.zip
 

  1. Выкачиваем карту с помощью GoogleMV. И с помощью него создаем карту с привязкой для OziExplorer, то есть получаем 2 файла JPG и MAP .
    Важно! Масштаб который указан в GoogleMV на 1 меньше, поэтому надо везде, где спрашивается про масштаб, указывать на 1 больше. И номера папок в CASHE программы GoogleMV тоже на 1 больше получаются.
  2. Открываем Photoshop и загружаем карту JPG. Закрашиваем черным, те места которые нам не нужны. Еще рекомендую обработать карты фильтром Smart Blur со значениями Radius 3, Threshold 8, Quality Low, это уберёт мелкую сетку на карте. И делаем Save. Все больше нам ее сохранять не нужно. Но нужно создать для этой карты палитру цветов и что бы их было как можно меньше. Для карт Maps.Google.Com и Gurtam.ru достаточно 9-12 цветов. Порядок следующий: делаем Crop карты, достаточно 500x500 пикселей, оставляем небольшую область в которой имеются все цвета карты (вода, зелень, дороги, дома, промышленные зоны и т.д.). Далее обязательно делаем усиление контраста, так как надписи на картах со сглаживанием, то при переводе в 9 цветов, становятся не черными, а плохо читаемыми черными точками. И еще карты с сервисов google и gurtam очень бледные и светлые и на сотовом выглядят не очень яркими. Заходим в Image/Adjustments/Curves и значение Input устанавливаем на 85, (двигаем нижний черный ползунок вправо). Далее заходим в File/Save for web & Device. Открывается еще одно окно. Сверху справа выбираем 2-Up. Это для того что бы сравнивать исходную карту и вашу с меньшим количеством цветов. Для левого окна устанавливаем PNG-8, Perceptual, No Dither, Transparence отключить, Colors 256. После установок снизу левого окна можно видеть размер файла. Для правого окна выбираем тоже самое только Colors устанавливаем 16 и начинаем их по одному уменьшать. Сразу можно видеть в правом окне результат отображения карты и ее размер. Совет: Если вы хотите что бы какие то важные цвета всегда оставались на карте, необходимо пипеткой ткнуть в этот цвет и потом справа под таблицей цветов нажать кнопочку в виде замочка, этот цвет будет удалятся в последнюю очередь. 9-12 Color вполне достаточно. Теперь надо сохранить данный цветовой профиль. Нажимаем над цветовой палитрой треугольник в кружочке и тыкаем в Save color Table… Сохраняем профиль. Кусок карты сохранять не надо, так как нам надо было только сделать цветовой профиль для карты. Жмем Cancel. Закрываем КУСОК карты НЕ СОХРАНЯЕМ.
  3. Далее необходимо переименовать папку с нашими выкачанными квадратами карты в программе GoogleMV. Потому что мы туда будем экспортировать нашу, с закрашенными черными местами, карту. Ну например карта в программе 11 масштаба, находим папку Cashe/mt/12, убедитесь что там есть много кусков нашей карты и переименовываем ее в 12G. Далее создаем пустую вместо неё с именем 12.
  4. Запускаем MapNavEditor. Устанавливаем Map fit на to smaller size (GoggleMV), Level of scaling to smaler size на Orig (крайнее левое положение). Нажимаем на кнопку G. Можно использовать коррекцию карты со значениями Dx и Dy. Для конвертации нашей карты с закрашенными черными кусками обратно в Cashe GoogleMV. Выбираем папку с программой GoogleMV и нашу карту. Запускаем. Можно видеть в какую папку с масштабом, программа кидает карту. В пустой папке 12 должны появится файлы с нашей картой.
  5. Опять переименовываем нашу 12 папку, в например 12С. И снова создаем новую 12. Это для того что бы можно было сделать откат действий назад.
  6. Теперь надо применить увеличение контраста и наш профиль цветовой к каждому квадрату нашей карты из папки 12С. А их очень много, в ручную не осилить. Поэтому берем опять фотошоп и делаем в нем Action. Загружаем из папки 12С любой файл с куском нашей карты и создаем Action для обработки. В окне Actions выбираем снизу кнопку в форме странички Create new action. Называем как угодно, например Maps и давим Record. Запись наших действий пошла. Опять как раньше Заходим в Image/Adjustments/Curves и значение Input устанавливаем на 85, далее заходим в File/Save for web & Device и нажимаем над цветовой палитрой треугольник в кружочке и тыкаем в Load color Table… Загружаем профиль. В карте должно уменьшится количество цветов и ее размер. Нажимаем Save указываем куда сохранить, а именно в НОВУЮ папку 12. Сохраняем. И закрываем данный кусочек нашей карты. Опять спросит сохранить -говорим НЕТ. Вот теперь надо нажать стоп в окне Actions. Наши действия записаны. Их надо применить ко всем кускам-квадратам нашей карты. Заходим в File/Automate/Batche. Выбираем там наш Action. Далее выбираем папку с нашими кусками карты 12С. И жмем OK. Фотошоп начинает по одному обрабатывать нашу карту. После завершения можно сравнить размеры папок 12С и 12 они должны очень сильно отличаться.
  7. Решил здесь добавить еще один пункт. Оказывается после всего этого, карту можно еще уменьшить процентов на 20%. Т.к. фотошоп добавляет к файлам описание, каким редактором обработано, то это занимает несколько сот байт в каждом нашем файле. И еще, не везде используется полностью палитра наших цветов, где то есть просто заливка одного цвета. И если все это убрать, то мы сэкономим еще немного места. Берем бесплатную маленькую программу PNGGauntlet ( http://brh.numbera.com/software/pnggauntlet/PngGauntlet.1.1.2005.1178.zip (229 kb). В нее из папки 12, с помощью проводника, перетаскиваем все наши куски карты. Ставим галки на Overwrite Original Files и на Brute Force Compress, нажимаем Optimize! и ждем когда она все оптимизирует. После этого карта в 10 мег. становится примерно 8 мег.
  8. Осталось последнее действие собрать нашу карту. Берем этот http://www.mcbank.ru/GONZ/cash2mnm.zip скрипт и копируем его в папку CASHE наше программы GoogleMV. Запускаем. Выбираем карта. В поле масштаб пишем на 1 больше чем в googlemv и если как у нас то от 12 до 12. Открываем файл привязки MAP в блокноте и находим в нем в конце значения MMPLL,1, их копируем в Координаты левого верхнего угла, только надо поменять местами Широту – Долготу (MMPLL,1, 60.467377, <-> 56.946878), а MMPLL,3, 60.841942, <-> 56.732043 в Координаты правого нижнего угла и меняем точки на запятые. И не забываем широту и долготу менять местами. Имя карты newfile не меняем, иначе размер карты будет 9 байт, потом переименуем. Нажимаем поехали. Ваша карта готова в папке со скриптом. Проверьте размер.


У меня по такому методу карта с 30 мег. ужимается в 10 мег. с идеальным качеством без каких нибудь артефактов, ведь это PNG.
Плюсы: Маленький размер, отличное качество, контраст улучшен, хорошо читается, быстрее грузится в телефон.
Минус: сложность процедуры.

Добавлю, в конце если все получилось, можно папки 12 и 12С удалить, а папку 12G переименовать в 12. Вернули все обратно.
 

Автор БАА, Дек 22 2007.

 


 

Добавление от MagDel

MapNavEditor (build 41) теперь имеет возможность сделать паузу в процессе создания карты, как раз для того, чтобы вы смогли обработать блоки карты по вашему усмотрению. Т.е. поднять контраст и уменьшить размер самих блоков. Для этого нужно включить опцию Pause и программа, когда все блоки будут лежать во временной папке, выдаст запрос на разрешение продолжить работу. До подтверждения вы можете свободно редактировать блоки. Рекомендую также использовать формат PNG (для этого включите опцию PNG).

Поскольку теперь не нужно так мучаться с переносом блоков туда-сюда, вышеописанный алгоритм сводится всего к двум пунктам: 6 и 7. Рекомендую воспользоваться возможностью фотошопа делать droplet'ы, очень удобно бросить сразу всю папку на програмку, которая обработает все блоки по заранее написаному action'у.

Так что теперь у этого метода одни плюсы! (несмотря на то, что от него так мало осталось

13.01.2008

 

 

 

 

All rights reserved, 2007-2012
Время генерации: 0.0456 сек., 0.0115 из этого заняли запросы. Запросов БД: 24.