Как сделать кэш гугл карт

Обновлено: 04.07.2024

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

И так, первое что следует сделать, решив создавать электронную векторную карту - это скачать весь доступный из свободных источников материал.

Даже если его качество неудовлетворительно для оцифровки, он поможет в точном определении границ заказываемых снимков. Также такой материал пригодится, если на какой-то части закупленной территории окажутся облака.

Для начала определитесь с источниками материала: какие области следует скачать с Google Maps, какие с Яндекс Карт? Обычно Яндекс Картами пользуются для мозаики незаселённой территории, которая у них заметно лучше Google (6 м против 15 м). Населённые пункты в Яндексе не часто, но иногда бывают качественней чем на Google - по крайней мере насколько мне приходилось сталкиваться.

В нашем примере мы будем брать все данные с Google. Визуально нужный нам населённый пункт состоит из двух снимков не пригодного к оцифровке 1 метрового Ikonos (чуть позже мы убедимся в собственных предположениях):

61.40 КБ

Следующие действия наверняка нарушают лицензионные соглашения Google, поэтому давайте договоримся: всё это излагается исключительно в информационных целях. Никакой коммерческой выгоды ни я, ни вы извлекать из этого не будете.

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

То, что будет изложено дальше - всего лишь удобный способ сохранить мозаику снимков Google Maps на определённую территорию, в виде единого файла JPEG с готовой информацией о координатах привязки изображения.


В первую очередь следует скачать из сети небольшую программу MapBuilder (последняя версия 1.9). Официальный сайт программы нынче удалён, но она уже распространилась по многим варезникам и ищется легко.

Устанавливать программу не нужно - просто создаём папку, например C:\MapBuilder\ и распаковываем туда содержимое архива. Огромное спасибо автору разработавшему и дошлифовавшему эту замечательную утилиту!

Перед запуском программы открываем в редакторе файл mbconfig.txt и находим секцию:

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

А пока обратим внимание на параметр v=80 - это номер версии. Google поддерживает версионность снимков и позволяет скачивать все предыдущие варианты снимков заданной территории. Аналогичный параметр используется и для карт Яндекса.

Устанавливаем плагин, перезапускаем браузер, заходим на карты Google и приближаемся к выбранному населённому пункты. Включаем отслеживание заголовков и несколько раз перемещаемся по карте. В результате должно зафиксироваться что-то вроде такого:

71.20 КБ

Итак, текущая версия снимков Google - 89. Исправляем соответствующим образом файл mbconfig.txt.

Запускаем программу, заходим в настройки и указываем каталог кэша, куда будут помещаться скаченные блоки. Учтите, что размер архивной директории может достигать нескольких гигабайт. Формат архивной директории выбираем "Прогрессивный":

40.53 КБ

Самый простой способ указать MapBuilder'у, какую часть карты надо скачивать - это подогнать размеры окна браузера под нужный фрагмент карты, затем сгенерировать ссылку на текущую область и передать её в MapBuilder:

47.30 КБ

Более точный способ - задать координаты четырёх границ прямоугольника. В этом нам поможет приложение Google Earth, так как Google Maps не умеет отображать текущие координаты курсора.

Ещё одна причина, почему следует пользоваться Google Earth а не Google Maps - это разные мозаики снимков. Google Maps до определённого масштаба не отображает качественные снимки, даже если они покрывают данную территорию - вместо этого на мелких масштабах вся территория покрыта данными Landsat. Google Earth же отображает мозаику из всех снимков, включая высококачественные, независимо от текущего масштаба. Это очень удобно:

80.01 КБ

Координаты из Google Earth можно переносить в MapBuilder в том же виде, в котором они отображаются на экране:

42.34 КБ

Границы загружаемых областей следует определять с запасом относительно официальной границы населённого пункта. Узнать официальные границы можно несколькими способами (в порядке возрастания сложности):

Обратите внимание, что часто соседние сёла и рабочие посёлки со временем мигрируют в состав районного центра, поэтому не скупитесь и захватите в область загрузки ближайшие поселения.

Загрузка спутниковых растров Google в MapBuilder обычно проходит в два этапа: сначала загружается 14-й, потом 19-й уровень. 14-й уровень сформирует отдельный растровый файл с подложкой LandSat на всю территорию региона. А 19-й уровень загрузит высокоточные снимки, при этом оставив области, для которых нет ничего кроме подложки LandSat пустыми. Обратите внимание, что заказывать загрузку в MapBuilder нужно снимков GM.SAT, а не Google Earth.

19-го уровня достаточно для загрузки всех высокоточных растров Google, включая GeoEye. Загрузки выше 19-го уровня для территории России бессмысленны, так как ортофотопланов, которые требовали бы больший уровень точности, на территории РФ в Google Maps нет.

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

21.91 КБ

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

16.85 КБ

8.65 КБ
23.50 КБ

Это означает, что Google вас забанил. Если у вас динамический IP - вполне вероятно, что вам будет достаточно переконнектиться. Но если ваш IP адрес постоянен - не расстраивайтесь: есть способ помочь вашему горю.

В случае, если вас действительно забанил Google вместо картинки тайла вы увидите приглашение ввести капчу:

67.97 КБ

Включите отслеживание заголовков и введите капчу - в ответ у вас должно появиться оригинальное изображение тайла. Таким образом вы сможете обнаружить, какую Cookie научился ставить ваш браузер, чтобы на какое-то очередное время объяснить Google, что вы - не робот:

37.53 КБ
84.70 КБ


Дальше вам поможет ещё одна интересная программа: The Proxomitron. Это настольный прокси-сервер с удивительно гибкими возможностями.

28.08 КБ

Для приведения подстановки куки в действие: сначала ставим галочку в колонке "Out" окна заголовков, а затем и в основном окне программы:

39.90 КБ
27.27 КБ

После всех произведённых действий не забудьте перенастроить MapBuilder на работу через новоиспечённый прокси.

Сразу скажу, что данная мера помогает только на определённый объём загрузки (обычно около 100-500 Мб), после чего Google вас снова банит, и история повторяется сначала. Тем не менее, данный инструментарий позволяет эффективно загружать космические изображения с сервиса Google Maps.

В результате работы MapBuilder-а будут созданы два файла: JPG, содержащий картинку и MAP содержащий привязку растра к реальным координатам в формате OziExplorer'а. О том, что делать с этими файлами будет рассказано дальше.

Google Maps — отличный навигационный сервис, но, к сожалению, без подключения к интернету он не работает. Это особенно неприятно при поездках в другие страны, где расходы на передачу данных в роуминге могут очень и очень больно ударить по карману. Но, оказывается, загруженные карты в Google Maps 2.0 можно сохранять в кэш и использовать их потом в режиме оффлайн.

Для сохранения карты в кэше необходимо выполнить несколько простейших действий.

Запускаем Google Maps и выбираем участок карты, который мы хотели бы сохранить. Участок желательно выбирать не слишком большой.


Выбрав участок карты, вводим в поле поиска вверху экрана текст Ok maps и нажимаем кнопку Search внизу.


Видим информацию, что карта загружается.



Вот и все действия. Сохраненную карту можно вполне нормально использовать без подключения к интернету, карта масштабируется в обычных пределах. Но, конечно, никакие онлайн-сервисы использовать не получится. Подобный режим давно уже есть в Яндекс.Картах, и очень здорово, что и Google предоставляет пользователям возможность работать с картами в режиме оффлайн.

Многие видели программу Google Earth ( Google Планета Земля ), многим она нравится, у нее есть очень много плюсов, но есть и минусы. И, наверное, один из самых существенных из программы нельзя экспортировать спутниковый снимок с хорошим разрешением достаточно большой территории. Но если очень хочется, то можно!

Итак, поставим перед собой задачу: создать спутниковый снимок нужного нам района, например, спутниковую карту Москвы . Хотя можно и не мелочиться, а сразу составить спутниковую карту России или даже спутниковую карту Мира, но мы не будем заниматься такими глобальными делами, а поставим перед собой более простую задачу сделать спутниковую карту Саратова.

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


Скачав и установим эту программу мы можем посмотреть на спутниковые снимки различных городов Мира, рассмотреть улицы и дома… Но мы немного ушли от темы. Насмотревшись мы решили сохранить выбранный участок местности, чтобы рассмотреть его позже оффлайн. Заходим в Меню: Файл -> Сохранить -> Сохранить изображение, сохраняем, но как оказалось не такой и большой участок в хорошем разрешении мы можем сохранить. Жаль конечно, но нормальные герои всегда идут в обход, и мы пойдем другим путем…

Программа GoogleMV уступает по функциональности программе Google Earth ( Google Планета Земля ), но с другой стороны по нашей проблеме она нам может помочь.

Читаем на сайте описание этой программы:

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

С помощью этой программы мы можем достать данные из Кэша программы Google Earth ( Google Планета Земля )

Пользоваться программой очень просто:

  • Открыть кеш, который обычно расположен здесь: ”C:\Documents and Settings\ИМЯ_ТЕКУЩЕГО_ПОЛЬЗОВАТЕЛЯ\Local Settings\Application Data\Google\GoogleEarth\dbCache.dat” Если у вас есть несколько кешей (в одной папке), то можно открыть их все сразу (файлы “dbCache.dat”).
  • Выбрать путь для извлечения файлов. По умолчанию папка, из которой запущен GE_JPG_extractor.exe.
  • Чтобы излечь картинки в с именами в виде ‘qrst.jpg’ в формате кеша программы GoogleMV - установите флажок “для кеша GoogleMV (имена файлов ‘qrst’)”. В FAT 32 есть ограничение на количество файлов в одной папке (есть ли такое ограничение в NTFS не знаю). Поэтому моя программа будет глючить при больших количествах фалов в одной папке (а на 18 уровне в одной папке их будет просто туча). Автору программы GoogleMV следует подумать об этом ограничении файловой системы.
  • Нажать кнопку “Извлечь” и дождаться окончания процесса. После извлечения будет созданы папки “\ServerN\_82_\” (картинки с именами Google Earth - такими они были при получении с сервера) или “\ServerN\КН\” (кеш для программы GoogleMV). Папок “ServerN” (вместо N будут цифры) может быть создано больше одной. Их количество зависит от того данные с каких серверов Google Earth лежат в кеше. В настоящее время работает два сервера: карта замли и карта космоса. Возможно в будущем добавятся новые.

Нам нужно будем извлекать картинки в с именами в виде ‘qrst.jpg’ в формате кеша программы GoogleMV.

  1. Запускаем программу GE_jpg_extractor.exe
  2. Выбираем и открываем Кэш файл “dbCache.dat”.
  3. Выбираем папку для сохранения картинок
  4. Ставим галочку: “Для кэша GoogleMV (имена файлов ‘qrst’)”
  5. Нажимаем кнопку [Извлечь картинки]

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


  1. Запускаем программу GoogleMV (Бросается в глаза немного не та проекция, но позже мы это исправим)
  2. Перемещаемся по карте в нужное нам место
  3. Нажимаем значек Выделить
  4. Выделяем нужную нам область
  5. Выбираем необходимый уровень увеличения, процент сжатия jpg и нажимаем Выполнить
  6. В открывшемся окне Параметры выбираем Склеить выделенный фрагмент, только кэш, только снимок
  7. Жмем ОК

через пару мгновений или минут спутниковая карта склеена.

Но после создания карты, мы обнаруживаем, что получившийся снимок не в той проекции, хотя может кому то нужен именно такой. Я решил эту проблему достаточно просто: Увеличил высоту получившегося изображения на 162%.


Маленькая и очень классная программа для скачивания различных карт к себе на компьютер.

SAS.Планета — Это бесплатная программа в ней возможно выбрать какие карты вы хотите скачивать: Google Maps, “Космоснимки“, Яндекс.карты, Yahoo! Maps, карты Генштаба и др., + ко всему есть слои, которые будут накладываться поверх карт, названия объектов и прочее.

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


Если вы намерены все это дело хранить и переносить, то рекомендую всю кучу архивировать в самораспаковывающийся архив (мало ли, вдруг не будет архиватора там, куда вы притащите сие добро)

Помимо фотографий земли есть и обычные карты,
есть фотографии луны, марса, пожалуйста, что угодно:

Для того чтобы не накачать огромную кучу гигабайт, и не запутаться в ней, я разграничил весь процесс таким образом: у меня несколько папок кеша с определенными картами, есть общая папка с картой мира до увеличения x10-11, есть папка с картами города и окрестностями с увеличением от x10 до x18, и есть папки кэша с другими городами, на всякий случай.
Таким образом весь объем информации у нас разграничен на регионы, и тип скачанных карт.

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