Формат снимков в кэше GE 5.1.3533.1731

Кэш в чистом виде для GE, GE.LOCAL (а также локальные пользовательские кэши, созданные самим клиентом GE)

Формат снимков в кэше GE 5.1.3533.1731

Сообщение vdemidov » 22 дек 2009, 23:18

Papazol писал(а):Я дико извиняюсь, если не нашёл нужного поиском, но при попытке указать путь к кэшу Google Earth программа выдаёт окно "Access violation at address 00402C2D in module 'SASPlanet.exe'. Read of address 000003FC" и не меняет ни зум, ни карту, хотя изображение показывает. Что я не так сделал?

У меня GE обновился до новой версии и я получил возможность исследовать ошибку.
Результаты таковы: новая версия хранит тайлы или не в jpg или как-то обрезает, или шифрует. По крайней мере читалка джепегов выдает IJL_ERR_NOT_JPEG. Дальше буду разбираться.
ЗЫЖ или парсилка кеша мусор выковирывает, что тоже может быть.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

Re: Ошибки и неточности

Сообщение zed » 22 дек 2009, 23:48

Подтверждаю, GE стал хранить картинки в кэше не в jpg формате (хотя из инета получает всё те же жпеги). Подозреваю, это они так оптимизировали быстродействие клиента, став хранить в кэше уже подготовленные/сырые снимки.
Тайл из инета: f1-0-i.250 - 7 561 Байт, он же, из кэша: f1-0-i.250 - 32 792 Байт. Причём, такого же размера (32 792 Байт) ВСЕ тайлы снимков в кэше...
Гляньте аттач, может кому-то знаком формат этого изображения?

f1-0-i.250.zip
Расшифрованный тайл из кэша GE (в zip архиве)
(13.03 KiB) Скачиваний: 134
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: Ошибки и неточности

Сообщение feya » 23 дек 2009, 16:41

интересно с первого взгляда не похож ни на один распространенный формат. Оптимальность поражает - 32 кб из которых 16 забита nul'ами)
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Ошибки и неточности

Сообщение vdemidov » 23 дек 2009, 16:51

Ну это не везде так. У меня из пары сотен тайлов что выковырял, большая часть забита совсем не нулами. Да и потом оптимальность оптимальности рознь. Может они расчитывают выиграть засчет скорости доступа или еще чем-то таким?
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

Re: Ошибки и неточности

Сообщение feya » 23 дек 2009, 17:05

vdemidov писал(а): Может они расчитывают выиграть засчет скорости доступа или еще чем-то таким?

Скорее всего
Вот еще наковырял - в приведенном примере с 8217 по 9327 байты похоже на палитру и судя по всему количество цветов в районе 128
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Ошибки и неточности

Сообщение feya » 23 дек 2009, 17:20

feya писал(а):в приведенном примере с 8217 по 9327 байты похоже на палитру

Хотя нет, туплю, там по 8 байт последовательности а в палитре должны бы по 4
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Ошибки и неточности

Сообщение zed » 23 дек 2009, 22:54

feya писал(а):интересно с первого взгляда не похож ни на один распространенный формат.

Наверняка ещё один формат собственной разработки.
feya писал(а):Оптимальность поражает - 32 кб из которых 16 забита nul'ами)

Нули, это записи о чёрных пикселах: первый тайл в GE имеет снимок только посередине (128*256 pix), а сверху и снизу (по 64*256 pix) - чёрное поле.

Предварительно:
Файл состоит из 2-х частей: заголовок и хэш-таблица.
Заголовок:
Код: Выделить всё
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000000   4F 82 A3 31 00 01 00 00  00 01 00 00 00 00 00 00   O‚£1............
00000010   FF FF FF FF FF FF FF 7F                            ÿÿÿÿÿÿÿ

где,
Magic: 4F 82 A3 31
X:     00 01 00 00 (256) - размер тайла (хэш таблицы?) по X
Y:     00 01 00 00 (256) - размер тайла (хэш таблицы?) по Y
???:   00 00 00 00 - разделитель?
Mask:  FF FF FF FF FF FF FF 7F

Хэш-таблица - всё остальное, размерность 128*128 элементов (или 256*256, если размер элемента 2 бита). Для получения цвета пиксела, берётся соответствующий элемент из таблицы и прогоняется алгоритмом по маске.
Для начала, наверное, нужно определиться с размерностью таблицы, ну, и потом уже выйти на алгоритм. Надо пробовать скармливать GE тайлы с разноцветным пикселом, а остальное пространсво заполнять чёрным цветом и анализировать... Может, в хэш таблице описаны не все пикселы тайла, а только "узловые", а остальное дорисовывается соответствующим алгоритмом, может ещё что, нужно смотреть.

Может они расчитывают выиграть засчет скорости доступа или еще чем-то таким?

Оптимизация за счёт отказа от JPG -> Bitmap преобразования, у них уже лежит сразу готовый битмап, который можно без лишних задержек сразу передавать в алго, натягивающий битмап на глобус.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: Ошибки и неточности

Сообщение feya » 24 дек 2009, 02:10

zed
zed писал(а):Нули, это записи о чёрных пикселах: первый тайл в GE имеет снимок только посередине (128*256 pix), а сверху и снизу (по 64*256 pix) - чёрное поле.

А, знать это был первый тайл, ясно.

Что то я не понимаю, если размер тайла 256*256 а размер таблицы 32768 то получается на один пиксел 4 бита = 16 цветов, маловато как то)

Вообще тему лучше отдельую завести бы
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: Формат снимков в кэше GE 5.1.3533.1731

Сообщение zed » 26 дек 2009, 19:10

Вот 2 белых тайла, в одном первый пиксел черный, во втором - первая строка чёрная.

f1-0-i_250.RAR
(231 байт) Скачиваний: 84

И что с этим делать? :cry:
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: Формат снимков в кэше GE 5.1.3533.1731

Сообщение vdemidov » 26 дек 2009, 21:03

Ну давай смотреть что получается. Выходит что у нас пикселы группируются квадратами 4 на 4. На каждый такой квадрат приходится 8 байт. Порядок квадратов в файла как пикслы в битмапке, тоесть снизу вверх справа налево.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

След.

Вернуться в Google Earth™

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

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

cron