View Issue Details

IDProjectCategoryView StatusLast Update
0001195SAS.ПланетаХотелка / Feature requestpublic10-10-2012 11:44
Reportervasketsov Assigned Tovasketsov  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version110418 
Target Version120808Fixed in Version120808 
Summary0001195: Переключение версии снимков для кэша GE
DescriptionЗалил, сегодня или завра (в зависимости от желания собрать сегодня или ждать ночнушку) - можно уже "поиграться".

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

Пока только GE и пока без дат, дальше посмотрим. Основной кайф для исторического режима, в обычном там одна версия.

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

Из недоделок - ума не приложу, как заставить обновиться карту после смены версии, нифига не получилось с этим, так что после смены версии надо подвинуть карту мышкой.
Tagsgoogle earth, вики, исторические снимки
Attached Files
5140.jpg (125,991 bytes)   
5140.jpg (125,991 bytes)   
5154.jpg (46,992 bytes)   
5154.jpg (46,992 bytes)   
2012-03-06_131332.png (153,334 bytes)   
2012-03-06_131332.png (153,334 bytes)   
2012-03-06_130841.png (57,342 bytes)   
2012-03-06_130841.png (57,342 bytes)   
2012-03-06_131344.png (203,038 bytes)   
2012-03-06_131344.png (203,038 bytes)   
2012-03-06_131409.png (99,435 bytes)   
2012-03-06_131409.png (99,435 bytes)   

Relationships

related to 0000403 closedvdemidov Исторические снимки из кэша GE 
related to 0000264 confirmed Возможность скачки "исторических снимков" GE 
related to 0000361 closedvdemidov Показать исторические фотографии 
related to 0001253 closedvasketsov Ускорение отрисовки карты заполнения для нефайловых типов кэша 
related to 0001292 closedvasketsov Полосатый Google Earth 

Activities

vasketsov

28-02-2012 16:08

manager   ~0005718

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

vasketsov

29-02-2012 00:31

manager   ~0005731

Сделал выбор версий тайлов GE либо по дате, либо только по номеру снимка.
В разных местах (Земли) по-разному удобнее.
Во всех случаях в скобках указана "версия", которую можно вбить в настройках карты, и будет тот же эффект, что и при выборе конкретного пункта меню.

Менюшку перетащил под ДопОперации и переименовал для работы русификации.

ps. Кэширование дат и версий для закэшированных снимков пока что отключено. Для включения (если вдруг понадобится в статусбаре что-то постоянно отображать) надо раскомментарить в файле u_MapType.pas создание кэша для TTileStorageGE.

Tolik

29-02-2012 11:36

manager   ~0005740

Last edited: 29-02-2012 11:41

Что-то не получается.
120229.5122.
Полазил в ГЕ по историческим снимкам, перебрал все даты в одном регионе.
Закрыл, запустил САС, NameInCache=1.
Вижу кашу из снимков разных лет.
Кликаю правой кнопкой - Version -> там пусто.

P.S. Если NameInCache=0, вижу последние снимки, в остальном всё то же.

vasketsov

29-02-2012 12:16

manager   ~0005744

>Version -> там пусто
возможно тайлов нет, а имеющиеся с верхнего уровня растягиваются.
возможно после изменения NameInCache сас не перезапущен.
возможно с определением конкретного номера тайла косяк (там проекции разные).
завтрашняя ночнушка будет с датами снимков в меню "Version" - там будет понятнее.

Tolik

29-02-2012 12:25

manager   ~0005745

Перезапущен.
Попробовал на разных зумах - действительно, на одном видно
2010:03:13 (105\51)
(105)
причём обе записи дают один и тот же результат (хороший).
На другом зуме видна ещё 1 версия (опять 2 строчки).
Вообще их там штук 5, но поймать нужную версию очень трудно.
Ладно, посмотрю завтра.

vasketsov

29-02-2012 12:29

manager   ~0005746

Last edited: 29-02-2012 12:34

>обе записи дают один и тот же результат
это бывает когда первое число (номер снимка) в списке уникальное.

>поймать нужную версию очень трудно
ога.

>посмотрю завтра
так я вижу уже результат работы версии с датами в versions.
завтра и далее уже ничего нового в таком случае не будет.

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

приложил только что собранную, кому лениво собирать.

Tolik

29-02-2012 12:35

manager   ~0005747

Ну эта приложенная ничем (визуально) не отличается от 5122. Там ведь тоже видны даты.

vasketsov

29-02-2012 12:39

manager   ~0005748

Last edited: 29-02-2012 12:39

Значит оно попало в ночнушку (а то я сильно поздно ночью заливал, могло и не попасть).

Tolik

29-02-2012 12:39

manager   ~0005749

Last edited: 29-02-2012 12:42

Да, полный список версий очень бы помог. Я куда-то ткнув, увидел сразу 3 версии, но не все.
В целом, конечно, уже хорошо: раньше исторические превращались в кашу.
А можно сделать, чтобы NameInCache=1 не надо было выбирать?
В одном контекстном меню и разные исторические версии, и последняя.

Или чтоб не требовалась перезагрузка, когда меняешь Cache folder.

vasketsov

29-02-2012 12:46

manager   ~0005750

Last edited: 29-02-2012 12:48

>чтобы NameInCache=1 не надо было выбирать?
В смысле выбирать "История", "Земля" или "Марс" (Сатурн, Украина и т.п.) вместо цифр, или вообще ничего не указывать?

>и разные исторические версии, и последняя
Ну в принципе там сквозной индекс. Так что если убрать влияние NameInCache - очевидным образом этот параметр перейдёт в версию (будет типа 15\169\1). Шило на мыло. Другое дело что при изменении значения NameInCache хотелось бы адекватной реакции без перезапуска хранилища.

>чтоб не требовалась перезагрузка, когда меняешь Cache folder
Походу в эту сторону буду ковыряться.

Tolik

29-02-2012 13:05

manager   ~0005754

Last edited: 29-02-2012 13:07

> вообще ничего не указывать?
Ну, лучше всего так. При чём тут вообще cache folder...
В контекстном меню или поле Version выбираешь 0 - значит последняя, 15\169\1 - значит историческая, 2 - глобус Украины :)

vasketsov

29-02-2012 13:18

manager   ~0005757

>При чём тут вообще cache folder
Не понял вопрос.
С GE есть косяки в том, что NameInCache не физическая папка, а раздел внутри внутреннего "индекса". А папка в общих настройках. А ещё я не знаю как получить весь список возможных NameInCache и описать их значения, и что будет в будущем с этими значениями.

>выбираешь 0 - значит последняя
Пока не знаю как автоматически определять значение NameInCache - это в принципе невозможно.

Tolik

29-02-2012 13:20

manager   ~0005758

Тогда достаточно сделать, чтобы переключалось без перезагрузки. Можно и в info.txt написать, куда чего подсовывать.

zed

29-02-2012 16:35

manager   ~0005760

Last edited: 29-02-2012 16:38

>А ещё я не знаю как получить весь список возможных NameInCache и описать их значения, и что будет в будущем с этими значениями.
Я знаю. Список этот лежит в хидере dbCache.dat: TCache_Head.Server: array of TServerRec; // массив серверов (http://starmen.at.tut.by/gecache.htm)
Может принимать значения от 0 до 255, на данный момент максимальное значение 4 (т.е. 5 серверов: 0..4). Сервер 0 почти всегда - Земля, сервер 1 - История, остальные - как карта ляжет. Распарсив хидер dbCache.dat можно однозначно определить номера серверов для Земли и Истории (и, возможно, Небо). Остальные сервера подписаны на национальных языках (в Punycode), поэтому их сдетектить труднее, но можно сделать несколько пресетов, к примеру, для русского, английского и украинского языков.

Типичный список серверов:
0: http://kh.google.com:80/ - Земля
1: http://khmdb.google.com:80/?db=tm - История
2: http://khmdb.google.com:80/?db=sky - Небо
3: http://xn--80axne:80/ - Марс (Punycode)
4: http://xn--80avgx:80/ - Луна (Punycode)

Если это кэш от GE.Local, то всюду, вместо google, будет hoogle.

vasketsov

29-02-2012 16:44

manager   ~0005761

Last edited: 29-02-2012 17:11

Походу надо будет чё-то придумать, чтобы:
а) освободить NameInCache от существующей нагрузки (0-1-2-3) и пихать туда путь до кэша (как сейчас в настройках кэшей), тогда может будет наделать кэшей и разных zmp. Погулял в GE, отлил в сторону кэш - и юзай его потом сколько хочешь (в том числе можно будет пройти по всем существующим кэшам типа GE, но это пока секрет). Ну а если поле пустое - брать по умолчанию из настройки кэшей;
б) в поле с версией (ну или ещё одно поле сделать, тем более что был разговор про язык для карты, так что будет полезно, но это надо думать) сделать возможность:
б1) указать ПОЛНЫЙ ПРОИЗВОЛЬНЫЙ фильтр по любым существующим и возможным будущим полям индекса (судя по всему ничего кроме строки типа 'ver>=15\img=23\srv=1' или более извращённой не остаётся);
б2) указать упрощённое значение фильтра (типа как сейчас).

ps. Сегодня vdemidov помахал шашкой и переписал версионность, покуда не въеду в его новые идеи - придётся подождать.

Tolik

01-03-2012 07:45

manager   ~0005762

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

vasketsov

01-03-2012 08:01

manager   ~0005763

>В сегодняшней ночнушке
Ждите отстоя пены )))

>видно сразу много версий
Это как повезёт. Зависит от того, насколько целиком прогрузился кэш в GE.

Думаю завтра будет уже ок (если получится - и NameInCache освобожу, вроде разобрался с датами и серверами), но пока без общего списка версий.

vasketsov

01-03-2012 13:41

manager   ~0005766

Last edited: 01-03-2012 13:47

Итак, окончательное понимание, как и каким именно образом фильтровать тайлы для GE, наконец-то обрелось.

В менюшке сейчас отображаются пункты в виде Дата\Версия[Сервер]. Это же является и полной формой строковой записи версии карты для GE. В принципе любой параметр из этих трёх необязательный (пустая строка версии - тоже корректная строка), например, следующие версии будут синтаксически корректными:
2012:10:11[1]
2001:05:05\1
76[1]
[1]
[tm]
[sky]
[супер-пупер-нано-фигня]

Сервер всегда в скобках. Если не число - то происходит попытка понять, есть ли такие известные сервера. Просто по вхождению подстроки в URL (то бишь tm скорее всего смаппится на 1, sky - как получится, а нано-хренотень никуда не замапится). Если сервер не определился - берётся цифирь номер 0. Итого отсюда вывод. Для пустой строки версии будет показываться неисторический сермяжный гугль.

Пока дополнительные стройки с версиями (типа просто [1]) добавлять не стал. Надо будет кому - добавим.

Ещё новость. Теперь если версия уже установлена, и в ней присутствует конкретный сервер (2012:10:11[1] - сервер есть и равен 1, 77[tm] - сервер есть и равен tm, 2001:05:05\1 или [супер-пупер-нано-фигня] или пусто - сервера нет) - то доступные версии будут отображаться ТОЛЬКО для данного сервера. Чтобы получить всю помойку для всех серверов, с глобусами Марса и Украины - соответственно предварительно сбрасываем версию. Сделано специально, чтобы не путались версии в менюшке.

Дата пока что только с двоеточками, так у гугла в exif (точнее там формально не exif, но сути это не меняет, дата там в формате yyyy:mm:dd).

Параметр NameInCache отвязан от фильтрации тайлов, теперь туда можно запихнуть путь до папки с заботливо нагугленным кэшем GE. А если этот параметр пустой - путь берётся из настроек кэшей (откуда и было). Изменения подхватываются БЕЗ перезагрузки саса. Остаётся только беда с необходимостью подвинуть карту мышкой после изменения Version или NameInCache.

ВНИМАНИЕ! Если в NameInCache оставить 1 - работать не будет.

vasketsov

01-03-2012 13:45

manager   ~0005767

Совсем забыл написать, что:
а) пока что править описание в zmp не надо, в релизе это не сработает;
б) благодарности дополнительно отправляются zed (за инфу про сервера GE) и vdemidov (за черновую неблагодарную работу по переписыванию версионности в удобоваримый вид).

Tolik

01-03-2012 14:03

manager   ~0005768

a) когда всё устаканится, я всё-таки добавлю в info описание, отдельно для релиза, отдельно для ночнушки. Потому что я и сам скоро забуду, куда чего пихать

б) всем куча благодарностей!

zed

01-03-2012 16:42

manager   ~0005770

Есть и у меня пара моментов:
а) Всё что касается GE в САСе - грубое нарушение лицензии, причём, оно захардкожено. Я уже давно предлагал это всё как минимум спрятать в dll.
б) Лучше всего не использовать информацию из индекса GE, поскольку клиент любит удалять оттуда информацию по устаревшим тайлам. Т.е. в кэше может быть реально несколько версий данного тайла, а в индексе будет только тот, что последним был загружен. Другими словами, при открытии кэша GE нужно строить свой индекс и юзать именно его, если уж хочется получить полную версионность тайлов.

vasketsov

01-03-2012 17:08

manager   ~0005771

>спрятать в dll
ну значит спрячем

Tolik

02-03-2012 05:01

manager   ~0005774

Интересно, в одном месте кликнул Version и увидел:
465[0]
431[0]
Это значит, в кэше 2 разные НЕисторические версии? А для них дата не видна?

Tolik

02-03-2012 05:04

manager   ~0005775

Last edited: 02-03-2012 05:12

А в другом месте
401[0]
2009:10:01\465[0]
2009:10:01\401[0]

Что это значит? Желательно скрывать дубли (401[0]).

P.S. Да, оказывается, разные версии есть и у неисторических, и на экране может быть каша, если не выбрать одну из них!
В данном случае одна из версий более светлая, а дата снимков, действительно, одна и та же.

Tolik

02-03-2012 05:07

manager   ~0005776

> Теперь если версия уже установлена... то доступные версии будут отображаться ТОЛЬКО для данного сервера.

Серверы [0] и [1] лучше показывать в одном списке. Так-то всё работает хорошо, но слишком неочевидно, что надо нажимать reset.

vasketsov

02-03-2012 07:15

manager   ~0005777

>А для них дата не видна?
Там дата снимка в 3-х местах теоретически может быть (данные индекса, данные тайла и сам тайл). Возможно, что где-то этой информации нет. А возможно нигде нет.

>Серверы [0] и [1] лучше показывать в одном списке
Как бы там может быть и [2] и [3], а [1] ничем от них не отличается с точки зрения алгоритма. На самом деле даже [0] ничем не отличается, просто это самое простое значение по умолчанию.

>не использовать информацию из индекса GE, поскольку клиент любит удалять оттуда информацию
Сравнение размеров файлов и разные алгоритмы парсинга очевидно подсказывают, что работа без индекса (как и постороение индекса) будут занимать несравнимо более длительное время, чем сейчас. Двухгиговый файл пройти тоже не вопрос пары секунд. Так что в рамках концепции отделения мух от котлет надо использовать (или написать, или ждать что кто-то напишет) тулзу для перегенерации индекса по файлу с данными (коли там тупо в файле array of).

vasketsov

04-03-2012 10:14

manager   ~0005793

>Всё что касается GE в САСе - грубое нарушение лицензии
Я так понимаю, BitmapTileSaveLoad/u_BitmapTileGELoader.pas и BitmapTileSaveLoad/u_BitmapTileGEDXTextureLoader.pas тоже должны в итоге умереть? Ибо отдаёт DLL уже 'image/jpeg', а не какой-то там 'application/vnd.google-earth.tile-image'.

zed

04-03-2012 10:22

manager   ~0005794

Ага.

vdemidov

04-03-2012 10:52

manager   ~0005795

ИМХО не умереть, а поставляться той же dll, которая и доступ к кэшу будет организовывать. Сейчас например можно экспортнуть чем-угодно тайлы GE в отдельные файлы и просматривать их при помощи SAS.Планеты.

zed

04-03-2012 11:07

manager   ~0005796

>доступ к кэшу
Не к кэшу, а к тайлам в jpeg формате. Поэтому "поставлять" дополнительные методы-конверторы просто нет смысла.

zed

06-03-2012 04:51

manager   ~0005818

Работает! Единственное, хотелось бы, чтобы картинка автоматически обновлялась при смене версии (по клику).

Tolik

06-03-2012 05:02

manager   ~0005820

Last edited: 06-03-2012 05:12

Я правильно понял, что GE и GC выпилили из открытого кода и засунули в DLL?
Теперь надо добавить их в дистрибутив?

Tolik

06-03-2012 05:09

manager   ~0005821

Работает, но плохо.
5154 показывает раза в 3 меньше тайлов из истории, чем версия 5140.
См. картинки (сплющены после склеивания).

zed

06-03-2012 05:13

manager   ~0005822

Last edited: 06-03-2012 05:18

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

Tolik

06-03-2012 05:18

manager   ~0005823

Это из GE, исторические (зимние).

Кстати, в GeoCacherGE.zmp непонятно написано:
"Укажите в настройках программы (вкладка Кэш) путь к корневой папе GeoCacher-а"

В каком именно поле его надо указать? Там нет поля GC.

zed

06-03-2012 05:20

manager   ~0005824

>Там нет поля GC.
Ещё нет. Пока только в ini - там же, где и остальные пути.

Tolik

06-03-2012 05:24

manager   ~0005825

> Переключение на смежные даты не помогает?
Нет, в кэше GE точно есть тайлы с одной датой и версией, их хорошо видно в САС 5140.
При переключении на другие даты тоже показывает не все тайлы, а только некоторые.

zed

06-03-2012 05:38

manager   ~0005826

>без индексов и работает местами медленно
А если сделать не один zmp, а по числу серверов? А то естественно, пока он прошерстит все сервера, да все версии. Но нафиг нам сразу и Луна и Марс, когда мы шаримся по Земле?

Tolik

06-03-2012 06:03

manager   ~0005827

Если Луна и Марс нафиг не нужна, они в кэше и не появятся.
Я вот, например, ни разу туда не лазил :)

zed

06-03-2012 06:07

manager   ~0005828

"нафиг не нужна ... когда мы шаримся по Земле", а когда мы будем шариться по Луне, нам нафиг не нужны будут Марс и Земля в списке версий.

Tolik

06-03-2012 08:29

manager   ~0005831

> возможно как раз беда индекса GE, на которую намекал zed (что GE любит чистить без спросу свой индекс).

Это разве объясняет, почему в версии 5140 показывает всё (или гораздо больше)? Не показывало когда-то там, а сейчас показывает (не поленился распаковать 2 версии exe в одну папку и запускать по очереди).

vasketsov

06-03-2012 08:46

manager   ~0005833

Хм. Ну значит косяк, если по одному кэшу GE разные результаты ДО и ПОСЛЕ выделения GE в DLL. Осталось понять в чём именно. Можно координаты, зум и список версий в обеих версиях программ (на показываемом тайле и на непоказываемом)?

Tolik

06-03-2012 09:21

manager   ~0005834

Приаттачил ещё 2 картинки, этого достаточно?
При клике на левый и правый тайл список версий, как правило, такой же, хотя в новой версии иногда показывает Empty при клике на правом.

vasketsov

06-03-2012 10:12

manager   ~0005835

Last edited: 06-03-2012 10:41

>иногда показывает
Не понял, там бывает что для одного и того же места (координаты+зум) показывает разное на одном и том же кэше? Вроде ж алгоритм детерминированный, должен выдавать на одной версии одно и то же всегда.

>этого достаточно
Ну попробую понять в чём дело. А вообще буквально хотелось бы понять, новая версия вообще не видит эти тайлы, или же видит при перечислении версий, но не хочет отображать. А для этого и просил список версий на отсутствующем тайле.

зы. Вообще выглядит как или слой какой перекрыл тайлы, или тайлов нет и с верхних уровней не отображаются. Прогрузил это место - ошибку воспроизвести не смог. Значит какая-толокальная особенность локального кэша.
Сейчас соберу и выложу DLL без одной дополнительной проверки корректности "распаковки" картинки (которой не было в старой версии) - если заработает - значит всё крайне грустно, и тайлы гадятся внутри кэша.

Tolik

06-03-2012 10:53

manager   ~0005836

> Не понял, там бывает что для одного и того же места (координаты+зум) показывает разное на одном и том же кэше?

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

Tolik

06-03-2012 10:55

manager   ~0005837

Last edited: 06-03-2012 10:59

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

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

Tolik

06-03-2012 11:01

manager   ~0005838

TileStorage_GE_nocheck работает точно так же, как и TileStorage_GE

vasketsov

06-03-2012 11:03

manager   ~0005839

Какой размер кэша?

Tolik

06-03-2012 11:04

manager   ~0005840

256 МБ

dbCache1.dat нужен? Ещё 128 МБ

zed

06-03-2012 11:19

manager   ~0005842

dbCache1.dat - кэш от браузерного плагина.

Tolik

06-03-2012 11:38

manager   ~0005846

2010:03:13[1] - показывает то же

Tolik

06-03-2012 11:49

manager   ~0005847

> DXT1, их обработка была отдельно и сейчас закомментирована
Запихнуть в тот же DLL?
Тут пишут, что с опенсорсом она не дружит: http://en.wikipedia.org/wiki/S3_Texture_Compression

vdemidov

06-03-2012 12:03

manager   ~0005848

> Тут пишут, что с опенсорсом она не дружит
Патенты перпендикулярны к опенсорсу. В большинстве стран патенты на ПО и математические алгоритмы недействительны. А продавть САС.Планету в США мы не собираемся.

vasketsov

06-03-2012 12:32

manager   ~0005849

Last edited: 06-03-2012 12:33

Тут как бы главное понять (по скорости работы и по размеру кэша в памяти для "картинок") и выбрать:
1. Возвращать из DLL уже jpeg (соответственно распаковывать в DLL)?
2. Возвращать из DLL (соответственно распаковывать в DLL) нечто другое общедоступное (и мYдохаться с множеством ContentType-ов)?
3. Возвращать из DLL прямо DXT1 и опять же наступить на лишние грабли множества ContentType-ов, зато распаковка одна где и была по требованию.
зы. Сразу выбрать не мог - потому и закомментировал, а потом и забыл об этом вовсе (((

zed

06-03-2012 12:36

manager   ~0005850

Я за: Возвращать из DLL уже jpeg.
И на самом деле, гугловская текстура из кэша, это нечто очень похожее на DXT1, но не DXT1.

vasketsov

06-03-2012 12:46

manager   ~0005851

Last edited: 06-03-2012 13:09

>Возвращать из DLL уже jpeg
То есть конвертить картинку в jpeg со своими потерями ещё в DLL? Хотелось бы лишних потерь избежать. В идеале конечно показать прямо из DXT1, пусть и не совсем стандартного. Ведь а) заголовок его отличим от jpeg, и б) теоретически его может не только GE использовать.

zed

06-03-2012 13:18

manager   ~0005852

>теоретически его может не только GE использовать.
Нет. Только GE - я ж говорю, там свой формат. Если уж так сильно беспокоят потери, то тогда отдавай в BMP, ну или можешь в человеческий DXT1 конвертировать.

Лично я бы с "потерями" на заморачивался. Кому нужна супер качественная картинка - перекачают с гугл мапс.

vdemidov

06-03-2012 13:27

manager   ~0005853

А я за то что бы возвращать то что там есть. Если есть jpg, то jpg, если GE-шный DXT1, то DXT1, а уже хост-программа будет решать что делать.

zed

06-03-2012 13:44

manager   ~0005854

Last edited: 06-03-2012 13:45

>если GE-шный DXT1, то DXT1
Так смысл dll в том, чтобы спрятать _весь_ отреверсенный код, касающийся GE. Если что-то прятать, а что-то нет, то и смысла вообще нету в dll.

vdemidov

06-03-2012 13:47

manager   ~0005855

А в чем противоречие? Просто для гугловского DXT1 ридер должна та же длл поставлять.

vasketsov

06-03-2012 13:59

manager   ~0005856

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

zed

06-03-2012 14:06

manager   ~0005857

>Отдам что есть, а потом хост сам решает
Правильно, чего уж там. А ещё лучше закриптованный вариант хосту отдавать. Чтоб уж действительно "как есть". А он пускай сам решает...

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

vasketsov

06-03-2012 14:22

manager   ~0005858

>нефиг хосту вообще знать
А он и не будет ничего знать.
Просто появится на выбор 2 варианта: конвертнуть сразу с потерями времени и качества, или сохранить и конвернуть при показе быстро и красиво как было.

>закриптованный вариант
Дешифрование там безусловное, программное и один раз, тут большой разницы нет. А вот если будет специальный модуль (программный или аппаратный) для дешифрования - тогда разница и возникнет, и именно в пользу "отдать что есть, а хост уже разберётся".

vasketsov

06-03-2012 21:04

manager   ~0005873

Last edited: 06-03-2012 21:11

Новая версия либы для GE лежит в TileStorage_GE_NEW.rar
Пароль тот же.
По идее должна работать и с сегодняшней и с завтрашней версиями саса.
Если не будет косяков с GE - останется только докрутить использование индекса для кэша GC.

зы. Впрочем если кого-то вдруг будет напрягать скорость конвертации DXT1 в JPEG или размер DLL - это легко объяснимо, я конвертацию сделал по-тупому через стандартные TBitmap и TJpegImage. Если кто-то напишет для libjpeg как битмапку (TMemoryStream) слить в jpeg в TMemoryStream - заменю. У меня чего-то озарения не случилось, а долго сидеть над этим было некогда.

Tolik

07-03-2012 04:21

manager   ~0005878

Работает!
(120307.5163 + TileStorage_GE_NEW.rar)

Пора включить dll в ночнушку, а то посыплются вопросы, почему не работает.

zed

07-03-2012 05:16

manager   ~0005884

>Если кто-то напишет для libjpeg как битмапку (TMemoryStream) слить в jpeg в TMemoryStream - заменю.
Так в u_ThreadMapCombineJPG.pas есть же хороший пример. Сливает из стрима в стрим:

my_dest_mgr = record
  pub: jpeg_destination_mgr;
  DestStream: TStream;
  DestBuffer: array [1..4096] of byte;
end;

"слив" jpeg-буфера в стрим происходит в
function empty_output_buffer(cinfo: j_compress_ptr): boolean;

Если озарения не случится, могу написать и отдельный класс-конвертер.

Tolik

07-03-2012 05:19

manager   ~0005885

Вообще-то тормозов не заметно. Если только ради искусства :)

vasketsov

07-03-2012 05:35

manager   ~0005891

>Если только ради искусства
Ну тогда сделаю может как будет готова реализация для GC. Чтобы меньше телодвижений было, и сразу потом обе DLL заменить чтобы.

vasketsov

07-03-2012 18:44

manager   ~0005950

Last edited: 07-03-2012 18:48

Предпоследняя версия либы для GC приаттачена.
Но походу для GC надо оставлять одни даты, слишком часто версия меняется от тайла к тайлу даже при переходе к соседнему тайлу. Ну или и то и другое делать (дата\версия[сервер] и дата[сервер]).

zed

08-03-2012 08:49

manager   ~0005951

А как насчёт добавить подменю для каждого сервера в списке версий, и соответственно, рассортировать версии по серверам?

vasketsov

08-03-2012 10:17

manager   ~0005952

ДА можно конечно, но это надо уже хост править, а не DLL, а там пока vdemidov параллельную верку не "закроет" - рисковано соваться.

vasketsov

08-03-2012 17:32

manager   ~0005959

В архиве TileStorage_GC_BETTER.
Изменения:
1. В версиях добавлены также версии без версий ))))).
2. Допёр когда надо для историческиого режима показывать неисторические тайлы.

Tolik

16-03-2012 08:47

manager   ~0006162

Last edited: 16-03-2012 08:52

Возвращаю в assigned в качестве напоминалки:
надо включить dll в ночнушку.

Вот народ уже спрашивает в форуме, почему GE сломался.
А посылать его сюда, читать все 79 комментов, искать среди них нужный архив пароль к нему - это негуманно.

vasketsov

16-03-2012 09:29

manager   ~0006164

Ну в общем-то конечно согласен что пора закрыть тему ))
Сегодня выложу архив с DLL тут. Но пока что руки не дошли до конвертации в жпег. После сделаю отдельную тему по недоделкам в соответствии с тем что получилось и не получилось.

Tolik

16-03-2012 09:51

manager   ~0006167

Не, надо не тут, а в архиве с ночнушкой (это к zed, наверно).

А рефакторинг - да, пусть будет в отдельной теме. Сейчас уже хорошо работает. Кстати, спасибо, именно сейчас понадобился просмотр исторических снимков, т.к. появилось много новых.

zed

16-03-2012 11:37

manager   ~0006168

dll-ки нужно положить сюда: https://bitbucket.org/vdemidov/sas.planet
Ночнушка их подхватит.

vasketsov

16-03-2012 14:05

manager   ~0006174

Приаттачил TileStorage_GC_GE.rar сюда, старьё отсюда поудалял.
Не понял, как туда их засунуть без клонирования репозитория и запуливания DLL вручную из локальной копии.
За сим тему закрываю.

Tolik

18-03-2012 14:59

manager   ~0006188

Извиняйте, но dll в ночнушке до сих пор нет => ничего не работает, проблема не решена.

vdemidov

18-03-2012 21:11

manager   ~0006194

Извините, но я против добавления нарушающих законы dll в дистрибутив.

Tolik

19-03-2012 04:18

manager   ~0006197

Это аргумент.
Тогда что писать юзерам? Зайдите в багтрекер и скачайте dll? Или что мол пользуйтесь поиском, нефиг задавать глупые вопросы?

vasketsov

19-03-2012 14:34

manager   ~0006205

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

vasketsov

02-04-2012 17:23

manager   ~0006368

Last edited: 05-04-2012 08:47

В версии TileStorage_GE_GC_1.0.0.4.rar:
1. Построение карты заполнения для GE возможно через битовую карту тайлов по диапазону (диапазон = 1 тайл текущего зума). Для GC пока не сделано, а может и не пока.
2. Для оптимизации чтения из файлов всюду (ну кроме чтения ini для GC) замена Stream-ов на NtReadFile. Она позволяет параллельно читать по одному hFile любой участок по любому смещению.
3. Устранил дурацкую ошибку в версии 1.0.0.3, из-за которой мог возвращаться из DLL неверный результат операции построения битовой карты тайлов (ну то есть на самом деле не присваивался TRUE), и в этом случае работал старый потайловый метод построения карты заполнения (то есть работало, но как раньше неоптимально).

В версии TileStorage_GC_1.0.0.5.rar (только GC):
1. Ускорено получение тайлов и построение карты заполнения. Карта по-прежнему строится не по битовой маске тайлов в диапазоне, а по-старинке потайлово. Но быстрее.

В версии TileStorage_GC_1.0.0.6.rar (только GC):
1. Карта заполнения строится по битовой маске тайлов в диапазоне.
2. Поддержка как кэша GC по умолчанию, так и кэша GC на основе гугло-QuadKey. Тема на форуме про GC:
http://sasgis.org/forum/viewtopic.php?f=3&t=228&start=130#p27580

zed

22-06-2012 19:43

manager   ~0007603

TileStorage_GC_1.0.0.8 и TileStorage_GE_1.0.0.9:
- для конвертирования DXT в JPEG используется libjpeg (уменьшение размеров dll + возможно небольшое увеличение скорости конвертирования).

vdemidov

22-06-2012 19:47

manager   ~0007604

Зачем вам это конвертирование вообще понадобилось? Оставьте декодер DTX просто в САС и не морочьте голову.

zed

22-06-2012 20:10

manager   ~0007606

>Оставьте декодер DTX
Оставить "гугло-DXT" -> JPEG в САСе и порушить лицензионную чистоту?

zed

22-06-2012 20:29

manager   ~0007609

Кстати говоря:
>vdemidov
>19-03-2012 00:11
>Извините, но я против добавления нарушающих законы dll в дистрибутив.
В дистрибутиве САС нарушают законы dll-ки от ECW и достаточно много zmp, которые позволяют качать карты (Google, Yandex и далее по списку). Так что, пара dll тут погоды не сделает, а вот неудобства доставляет.

Показательно: MOBAC - Where are all the map sources gone? http://sourceforge.net/apps/phpbb/mobac/viewtopic.php?f=1&t=1&start=0

zed

23-06-2012 19:06

manager   ~0007615

Написал инструкцию для новичков: http://starmen.at.tut.by/sasplanet_ge_howto.htm

Issue History

Date Modified Username Field Change
28-02-2012 15:37 vasketsov New Issue
28-02-2012 15:37 vasketsov Assigned To => vasketsov
28-02-2012 15:37 vasketsov Status new => assigned
28-02-2012 16:08 vasketsov Note Added: 0005718
28-02-2012 16:08 vasketsov Status assigned => resolved
28-02-2012 16:08 vasketsov Fixed in Version => 120808
28-02-2012 16:08 vasketsov Resolution open => fixed
29-02-2012 00:31 vasketsov Note Added: 0005731
29-02-2012 09:17 gpsMax Tag Attached: исторические снимки
29-02-2012 09:17 gpsMax Relationship added related to 0000403
29-02-2012 09:18 gpsMax Tag Attached: 264
29-02-2012 09:18 gpsMax Tag Detached: 264
29-02-2012 09:18 gpsMax Relationship added related to 0000264
29-02-2012 09:18 gpsMax Relationship added related to 0000361
29-02-2012 11:36 Tolik Note Added: 0005740
29-02-2012 11:41 Tolik Note Edited: 0005740
29-02-2012 12:16 vasketsov Note Added: 0005744
29-02-2012 12:25 Tolik Note Added: 0005745
29-02-2012 12:29 vasketsov Note Added: 0005746
29-02-2012 12:30 vasketsov File Added: SASPlanet_GE_Dates.rar
29-02-2012 12:34 vasketsov Note Edited: 0005746
29-02-2012 12:35 Tolik Note Added: 0005747
29-02-2012 12:39 vasketsov Note Added: 0005748
29-02-2012 12:39 Tolik Note Added: 0005749
29-02-2012 12:39 vasketsov Note Edited: 0005748
29-02-2012 12:40 Tolik Note Edited: 0005749
29-02-2012 12:42 Tolik Note Edited: 0005749
29-02-2012 12:46 vasketsov Note Added: 0005750
29-02-2012 12:48 vasketsov Note Edited: 0005750
29-02-2012 13:05 Tolik Note Added: 0005754
29-02-2012 13:07 Tolik Note Edited: 0005754
29-02-2012 13:18 vasketsov Note Added: 0005757
29-02-2012 13:20 Tolik Note Added: 0005758
29-02-2012 16:35 zed Note Added: 0005760
29-02-2012 16:38 zed Note Edited: 0005760
29-02-2012 16:44 vasketsov Note Added: 0005761
29-02-2012 17:11 vasketsov Note Edited: 0005761
01-03-2012 07:45 Tolik Note Added: 0005762
01-03-2012 08:01 vasketsov Note Added: 0005763
01-03-2012 08:19 vdemidov File Deleted: SASPlanet_GE_Dates.rar
01-03-2012 13:41 vasketsov Note Added: 0005766
01-03-2012 13:45 vasketsov Note Added: 0005767
01-03-2012 13:47 vasketsov Note Edited: 0005766
01-03-2012 14:03 Tolik Note Added: 0005768
01-03-2012 16:42 zed Note Added: 0005770
01-03-2012 17:08 vasketsov Note Added: 0005771
02-03-2012 05:01 Tolik Note Added: 0005774
02-03-2012 05:04 Tolik Note Added: 0005775
02-03-2012 05:07 Tolik Note Added: 0005776
02-03-2012 05:08 Tolik Note Edited: 0005775
02-03-2012 05:12 Tolik Note Edited: 0005775
02-03-2012 05:12 Tolik Note Edited: 0005775
02-03-2012 07:15 vasketsov Note Added: 0005777
02-03-2012 13:10 vdemidov Product Version => 110418
02-03-2012 13:10 vdemidov Target Version => 120808
04-03-2012 10:14 vasketsov Note Added: 0005793
04-03-2012 10:22 zed Note Added: 0005794
04-03-2012 10:52 vdemidov Note Added: 0005795
04-03-2012 11:07 zed Note Added: 0005796
05-03-2012 23:10 vasketsov File Added: GE_GC_for_SAS.rar
06-03-2012 04:51 zed Note Added: 0005818
06-03-2012 05:02 Tolik Note Added: 0005820
06-03-2012 05:09 Tolik Note Added: 0005821
06-03-2012 05:10 Tolik File Added: 5140.jpg
06-03-2012 05:10 Tolik File Added: 5154.jpg
06-03-2012 05:12 Tolik Note Edited: 0005820
06-03-2012 05:13 zed Note Added: 0005822
06-03-2012 05:18 Tolik Note Added: 0005823
06-03-2012 05:18 zed Note Edited: 0005822
06-03-2012 05:20 zed Note Added: 0005824
06-03-2012 05:24 Tolik Note Added: 0005825
06-03-2012 05:38 zed Note Added: 0005826
06-03-2012 06:03 Tolik Note Added: 0005827
06-03-2012 06:07 zed Note Added: 0005828
06-03-2012 08:29 Tolik Note Added: 0005831
06-03-2012 08:46 vasketsov Note Added: 0005833
06-03-2012 09:18 Tolik File Added: 2012-03-06_131409.png
06-03-2012 09:18 Tolik File Added: 2012-03-06_131344.png
06-03-2012 09:18 Tolik File Deleted: 2012-03-06_131409.png
06-03-2012 09:18 Tolik File Deleted: 2012-03-06_131344.png
06-03-2012 09:19 Tolik File Added: 2012-03-06_131332.png
06-03-2012 09:19 Tolik File Added: 2012-03-06_130841.png
06-03-2012 09:21 Tolik Note Added: 0005834
06-03-2012 10:12 vasketsov Note Added: 0005835
06-03-2012 10:14 vasketsov Note Edited: 0005835
06-03-2012 10:41 vasketsov Note Edited: 0005835
06-03-2012 10:53 Tolik Note Added: 0005836
06-03-2012 10:55 Tolik Note Added: 0005837
06-03-2012 10:55 Tolik File Added: 2012-03-06_131344.png
06-03-2012 10:56 Tolik File Added: 2012-03-06_131409.png
06-03-2012 10:57 Tolik Note Edited: 0005837
06-03-2012 10:59 vasketsov File Added: TileStorage_GE_nocheck.rar
06-03-2012 10:59 Tolik Note Edited: 0005837
06-03-2012 11:01 Tolik Note Added: 0005838
06-03-2012 11:03 vasketsov Note Added: 0005839
06-03-2012 11:04 Tolik Note Added: 0005840
06-03-2012 11:13 vasketsov File Deleted: TileStorage_GE_nocheck.rar
06-03-2012 11:19 zed Note Added: 0005842
06-03-2012 11:38 Tolik Note Added: 0005846
06-03-2012 11:49 Tolik Note Added: 0005847
06-03-2012 12:03 vdemidov Note Added: 0005848
06-03-2012 12:32 vasketsov Note Added: 0005849
06-03-2012 12:33 vasketsov Note Edited: 0005849
06-03-2012 12:36 zed Note Added: 0005850
06-03-2012 12:46 vasketsov Note Added: 0005851
06-03-2012 13:09 vasketsov Note Edited: 0005851
06-03-2012 13:18 zed Note Added: 0005852
06-03-2012 13:27 vdemidov Note Added: 0005853
06-03-2012 13:44 zed Note Added: 0005854
06-03-2012 13:45 zed Note Edited: 0005854
06-03-2012 13:47 vdemidov Note Added: 0005855
06-03-2012 13:59 vasketsov Note Added: 0005856
06-03-2012 14:06 zed Note Added: 0005857
06-03-2012 14:22 vasketsov Note Added: 0005858
06-03-2012 21:02 vasketsov File Added: TileStorage_GE_NEW.rar
06-03-2012 21:04 vasketsov Note Added: 0005873
06-03-2012 21:11 vasketsov Note Edited: 0005873
07-03-2012 04:21 Tolik Note Added: 0005878
07-03-2012 05:16 zed Note Added: 0005884
07-03-2012 05:19 Tolik Note Added: 0005885
07-03-2012 05:35 vasketsov Note Added: 0005891
07-03-2012 18:44 vasketsov Note Added: 0005950
07-03-2012 18:44 vasketsov File Added: TileStorage_GC_NEW.rar
07-03-2012 18:48 vasketsov Note Edited: 0005950
08-03-2012 08:49 zed Note Added: 0005951
08-03-2012 10:17 vasketsov Note Added: 0005952
08-03-2012 17:28 vasketsov File Deleted: TileStorage_GC_NEW.rar
08-03-2012 17:30 vasketsov File Added: TileStorage_GC_BETTER.rar
08-03-2012 17:32 vasketsov Note Added: 0005959
16-03-2012 08:47 Tolik Note Added: 0006162
16-03-2012 08:47 Tolik Status resolved => assigned
16-03-2012 08:52 Tolik Note Edited: 0006162
16-03-2012 09:29 vasketsov Note Added: 0006164
16-03-2012 09:51 Tolik Note Added: 0006167
16-03-2012 11:37 zed Note Added: 0006168
16-03-2012 14:03 vasketsov File Deleted: GE_GC_for_SAS.rar
16-03-2012 14:03 vasketsov File Deleted: TileStorage_GE_NEW.rar
16-03-2012 14:03 vasketsov File Deleted: TileStorage_GC_BETTER.rar
16-03-2012 14:04 vasketsov File Added: TileStorage_GC_GE.rar
16-03-2012 14:05 vasketsov Note Added: 0006174
16-03-2012 14:06 vasketsov Status assigned => resolved
18-03-2012 14:59 Tolik Note Added: 0006188
18-03-2012 14:59 Tolik Status resolved => assigned
18-03-2012 21:11 vdemidov Note Added: 0006194
19-03-2012 04:18 Tolik Note Added: 0006197
19-03-2012 14:34 vasketsov Note Added: 0006205
19-03-2012 14:35 vasketsov Status assigned => resolved
02-04-2012 17:16 vasketsov File Deleted: TileStorage_GC_GE.rar
02-04-2012 17:17 vasketsov File Added: TileStorage_GE_GC_1.0.0.3.rar
02-04-2012 17:18 vasketsov Tag Attached: google earth
02-04-2012 17:23 vasketsov Note Added: 0006368
02-04-2012 17:25 vasketsov Relationship added related to 0001253
02-04-2012 20:30 vasketsov File Deleted: TileStorage_GE_GC_1.0.0.3.rar
02-04-2012 20:33 vasketsov Note Edited: 0006368
02-04-2012 20:33 vasketsov File Added: TileStorage_GE_GC_1.0.0.4.rar
02-04-2012 20:48 vasketsov Note Edited: 0006368
03-04-2012 11:49 vasketsov Note Edited: 0006368
03-04-2012 11:49 vasketsov File Added: TileStorage_GC_1.0.0.5.rar
05-04-2012 08:43 vasketsov File Deleted: TileStorage_GC_1.0.0.5.rar
05-04-2012 08:44 vasketsov Note Edited: 0006368
05-04-2012 08:44 vasketsov File Added: TileStorage_GC_1.0.0.6.rar
05-04-2012 08:45 vasketsov Note Edited: 0006368
05-04-2012 08:47 vasketsov Note Edited: 0006368
22-05-2012 05:17 Tolik Relationship added related to 0001292
22-05-2012 05:18 Tolik File Deleted: TileStorage_GE_GC_1.0.0.4.rar
22-05-2012 05:19 Tolik File Added: TileStorage_GE_1.0.0.8.rar
22-06-2012 19:38 zed File Added: TileStorage_GC_1.0.0.8.7z
22-06-2012 19:38 zed File Added: TileStorage_GE_1.0.0.9.7z
22-06-2012 19:43 zed Note Added: 0007603
22-06-2012 19:47 vdemidov Note Added: 0007604
22-06-2012 20:10 zed Note Added: 0007606
22-06-2012 20:29 zed Note Added: 0007609
23-06-2012 19:06 zed Note Added: 0007615
07-07-2012 10:28 gpsMax Tag Attached: вики
10-10-2012 11:44 Tolik Status resolved => closed
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request