SASGIS

Веб-картография и навигация

Google Earth

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Google Earth

Сообщение elf » 12 июл 2008, 22:59

ciberhunter
В данной новой теме предлагаю обсуждать проблемы получения тайлов с сервера Google Earth и извлечение тайлов из кеша.
Могу выложить информацию которая у меня имеется на данный момент.
Знаете ли вы что существует например программа которая извлекает тайлы GE это программа
скачать можно по ссылке http://google-earth.narod.ru/download/G ... tractor.7z
Хочу поблагодарить Евгения Ведерникова за программу.
C помощью программы можно перевести кеш в вид пригодный для просмотра. После извлечения переименовываем папку KH в SAT, указываем тип кеша "старый" и смотрим кеш GE с помошью SAS-Planet
Только будте готовы к тому что заменить тайлы Google Map тайлами Google Earth не получится. Так как карты в разных проекциях. Google MAP в проекции Меркатора а Google Earth в проекции похожей на равновеликую цилиндрическую Бермана (или простая цилиндрическая).
Система координат Google Earth можно посмотреть на
http://google-earth.narod.ru/htm/grid2d.htm
PS
Если что кеш находися в папке
C:\Document and Settings\user\LocalSettings\Application Data\Google\Google Earth\dbCache.dat
В этой же папке лежит индексный файл dbCache.dat.index

PPS
Если кому интересно могу выложить все что есть у меня по авторизации с сервером GE
Аватара пользователя
elf
Новичок
 
Сообщения: 37
Зарегистрирован: 12 июл 2008, 19:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение elf » 12 июл 2008, 22:59

ciberhunter
Начну потихоньку выкладывать материалы
Вот часть README из программы GAIA по библиотеке libgefetch

Структура программы

#include <gefetch.h>

/* init library */
gefetch_t handle = gefetch_init();

/* fetch image */
gefetch_fetch_image(handle, X, Y, LEVEL);

/* get data */
size_t jpeg_size = gefetch_get_data_size(handle);
void *jpeg_ptr = gefetch_get_data_ptr(handle);

/* ...work with data... */

/* cleanup */
gefetch_cleanup(handle);

/* jpeg_ptr may NOT be used after cleanup */

<....> пропускаю там содержится инфа аналогичная http://google-earth.narod.ru/htm/grid2d.htm

Инфа по запросам на сервер

Notes on network protocol
~~~~~~~~~~~~~~~~~~~~~~~~~
Google Earth uses plain HTTP, but with it's own auth and simple
encryption.

Most common URLs include:

/geauth - handles authentication

/dbRoot.v5 - file containing key to decrypt all data + some XML

/flatfile?f1-XXX-i.YYY - crypted JPEG image (available only after
auth). XXX is (x, y, level) of an image in google's format, and YYY
is node containing image

/flatfile?q2-XXX - crypted and zlib-compressed metadata (available
only after auth). XXX is (x, y, level) of chunk in google's format.
This contain such info as availability of image and topography data,
as well as node numbers to get data from

/flatfile?f1c-XXX-t.YYY - presumably crypted and zlib-compressed
topography data in unknown format (available only after auth). XXX
is (x, y, level) in google's format, and YYY is node containing
data.

/flatfile?f1c-XXX-d.YYY.ZZZ - unknown (maybe vector data)

To access data, one need to:

1) Authenticate. Process includes two POST requests to /geauth. What
data is transferred is currently unknown (data copy-pasted from
tcpdump of real Google Earth connection just works). Second POST
request contains session id - 80 byte string (see gefetch_auth.c).
Using this string as a cookie (see gefetch_http.c) gives us access
to /flatfile urls.

2) Get /dbRoot.v5, which contains decryption key. This file is
available even without authentication. For decryption algorithm,
see gefetch_crypt.c.

After these two steps, one will have access to /flatfile urls, and
will be able to decrypt retrieved data.

JPEG's are available right after decryption. Other data is also
compressed with zlib and prepended with 8 byte header.


Example application
~~~~~~~~~~~~~~~~~~~
When building gaia, add this options to scons:

cd gaia && scons libgefetch_examples=1

this will compile sample libgefetch programs under examples/.

По поводу файла kh.google.com\ dbRoot.v5
Говорят, что там находится запакованый файл hl=ru-RU&gl=by или hl=ru-RU&gl=ru (смотря какие у вас региональные настройки)
В нем можно узнать версию кеша
Аватара пользователя
elf
Новичок
 
Сообщения: 37
Зарегистрирован: 12 июл 2008, 19:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение elf » 12 июл 2008, 23:02

ciberhunter
На странице http://mapbuilder.by.ru/ge/ находятся утилиты
MergeGECache - утилита для объединения кэшей Google Earth
RecoverGECache - утилита для восстановления кэша Google Earth после сброса

На странице форума
http://www.gps-forum.ru/cgi-bin/forum/s ... &view=&sb=
содержится информация полученная с помощью программы-снифера tcpdump

Что-то молчание гробовое в данной теме...Такое впечатление, что я сам с собой разговариваю
Так же предлагаю в этой теме протокол/кеш NASA World Wind рассматривать.
Кто-нибудь с данной прогой разбирался?
Информация по проекции Google MAP в общих чертах. Простая цилиндрическая проекция
http://earth.google.com/intl/ru/usergui ... tdata.html
Там же показана проекция Меркатора которая используется в Google MAP
Инфа по проекции Меркатора http://ru.wikipedia.org/wiki/Проекция_Меркатора
Там же есть несколько полезных ссылок
Вот еще:
http://portvein777.narod.ru/map/project.htm
Аватара пользователя
elf
Новичок
 
Сообщения: 37
Зарегистрирован: 12 июл 2008, 19:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение elf » 12 июл 2008, 23:03

zed
Вот здесь http://starmen.at.tut.by мой опыт борьбы с гуглом
Про версии кэша правильно говорят: файл hl=ru-RU&gl=by седьмой байт=версия кэша, можете любым hex-редактором поменять на какую вам больше понравиться...
Разобрался с проекциями GoogleEarth и GoogleMaps на программном уровне, т.е. могу тайлы GE разжимать чтоб картинка не казалась сжатой (тайлы извлечённые GE_JPG_extractor-ом), если кто заинтересован, могу подкинуть подробную инфу.
Интересуюсь:
- расшифровка данных, полученных от GE;
- обратная шифровка картинок, для передачи их клиенту GE;
- и как читать из кэша GE? многие умеют это делать (по-крайней мере авторы MapBuilder и GE_JPG_extractor), но делиться знаниями не желают... и проекты свои не развивают, в общем труба...

ciberhunter
Да остается пользоваться программой с http://google-earth.narod.ru/download/G ... tractor.7z
Алгоритм которым пользуется автор пока непонятен.

zed
А от GAIA толк очень даже!!!
там оказывается рабочий алгоритм дешифровки данных
так что теперь кэш гугла трещит по швам: читаем, дешифруем и делаем что хотим.
Вот алгоритм из GAIA:

unsigned int i, j;
unsigned int keystart = 16;
unsigned int keylen = 0x3f8;

for (i = 0, j = 16; i < handle->datasize; i++) {
handle->data ^= handle->key[j + 8];
j++;
if (j % 8 == 0)
j += 16;
if (j >= keylen) {
keystart = (keystart + 8) % 24;
j = keystart; }
}

Скоро свой аналог GE_JPG_extractor-а забацаю
Аватара пользователя
elf
Новичок
 
Сообщения: 37
Зарегистрирован: 12 июл 2008, 19:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение Bigbambr » 13 авг 2008, 16:56

aleksey писал(а):
Скоро свой аналог GE_JPG_extractor-а забацаю

Ну и?
Bigbambr
Постигающий Дао
 
Сообщения: 118
Зарегистрирован: 21 июл 2008, 09:22
Откуда: Астрахань, Россия
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: Google Earth

Сообщение zed » 16 авг 2008, 20:29

Bigbambr писал(а):Ну и?

Работаем :)
Только, разобравшись с кэшем, возникла идея сделать программу, которая объединяет все версии кэша в одну. Таких ещё, вроде не было... ну а уж потом будем и аналоги штамповать.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение ciberhunter » 26 авг 2008, 14:50

См выше такая программа есть. Называется она MergeGECache
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение zed » 27 авг 2008, 09:20

неа, MergeGECache лишь объеденяет несколько кэшей (и то, неправильно) в один, а я говорю про версии одного кэша...(см. http://starmen.at.tut.by/versii.html) Аналог MergeGECache (но, правильный), кстати, то же планируется.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение ciberhunter » 28 авг 2008, 07:01

zed Инфа по ссылке полезная особенно http://starmen.at.tut.by/cacheGE.html
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение ciberhunter » 28 авг 2008, 07:02

как с получением файлов с сервера? Программы какие-либо написаны?
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1