SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001195SAS.Планета[All Projects] Хотелкаpublic28-02-2012 15:3710-10-2012 11:44
Reportervasketsov 
Assigned Tovasketsov 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusclosedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version110418 
Target Version120808Fixed in Version120808 
Summary0001195: Переключение версии снимков для кэша GE
DescriptionЗалил, сегодня или завра (в зависимости от желания собрать сегодня или ждать ночнушку) - можно уже "поиграться".

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

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

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

Из недоделок - ума не приложу, как заставить обновиться карту после смены версии, нифига не получилось с этим, так что после смены версии надо подвинуть карту мышкой.
Tagsgoogle earth, вики, исторические снимки
Attached Filesjpg file icon 5140.jpg [^] (125,991 bytes) 06-03-2012 05:10


jpg file icon 5154.jpg [^] (46,992 bytes) 06-03-2012 05:10


png file icon 2012-03-06_131332.png [^] (153,334 bytes) 06-03-2012 09:19


png file icon 2012-03-06_130841.png [^] (57,342 bytes) 06-03-2012 09:19


png file icon 2012-03-06_131344.png [^] (203,038 bytes) 06-03-2012 10:55


png file icon 2012-03-06_131409.png [^] (99,435 bytes) 06-03-2012 10:56


rar file icon TileStorage_GC_1.0.0.6.rar [^] (134,856 bytes) 05-04-2012 08:44
rar file icon TileStorage_GE_1.0.0.8.rar [^] (116,869 bytes) 22-05-2012 05:19
7z file icon TileStorage_GC_1.0.0.8.7z [^] (67,744 bytes) 22-06-2012 19:38
7z file icon TileStorage_GE_1.0.0.9.7z [^] (52,221 bytes) 22-06-2012 19:38

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

-  Notes
(0005718)
vasketsov (manager)
28-02-2012 16:08

>как заставить обновиться карту после смены версии
Общая беда, при смене версии в настройках карты то же самое. Сделаю отдельную багу.
(0005731)
vasketsov (manager)
29-02-2012 00:31

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

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

ps. Кэширование дат и версий для закэшированных снимков пока что отключено. Для включения (если вдруг понадобится в статусбаре что-то постоянно отображать) надо раскомментарить в файле u_MapType.pas создание кэша для TTileStorageGE.
(0005740)
Tolik (manager)
29-02-2012 11:36
edited on: 29-02-2012 11:41

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

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

(0005744)
vasketsov (manager)
29-02-2012 12:16

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

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

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

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

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

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

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

(0005747)
Tolik (manager)
29-02-2012 12:35

Ну эта приложенная ничем (визуально) не отличается от 5122. Там ведь тоже видны даты.
(0005748)
vasketsov (manager)
29-02-2012 12:39
edited on: 29-02-2012 12:39

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

(0005749)
Tolik (manager)
29-02-2012 12:39
edited on: 29-02-2012 12:42

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

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

(0005750)
vasketsov (manager)
29-02-2012 12:46
edited on: 29-02-2012 12:48

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

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

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

(0005754)
Tolik (manager)
29-02-2012 13:05
edited on: 29-02-2012 13:07

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

(0005757)
vasketsov (manager)
29-02-2012 13:18

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

>выбираешь 0 - значит последняя
Пока не знаю как автоматически определять значение NameInCache - это в принципе невозможно.
(0005758)
Tolik (manager)
29-02-2012 13:20

Тогда достаточно сделать, чтобы переключалось без перезагрузки. Можно и в info.txt написать, куда чего подсовывать.
(0005760)
zed (manager)
29-02-2012 16:35
edited on: 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.

(0005761)
vasketsov (manager)
29-02-2012 16:44
edited on: 29-02-2012 17:11

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

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

(0005762)
Tolik (manager)
01-03-2012 07:45

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

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

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

Думаю завтра будет уже ок (если получится - и NameInCache освобожу, вроде разобрался с датами и серверами), но пока без общего списка версий.
(0005766)
vasketsov (manager)
01-03-2012 13:41
edited on: 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 - работать не будет.

(0005767)
vasketsov (manager)
01-03-2012 13:45

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

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

б) всем куча благодарностей!
(0005770)
zed (manager)
01-03-2012 16:42

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

>спрятать в dll
ну значит спрячем
(0005774)
Tolik (manager)
02-03-2012 05:01

Интересно, в одном месте кликнул Version и увидел:
465[0]
431[0]
Это значит, в кэше 2 разные НЕисторические версии? А для них дата не видна?
(0005775)
Tolik (manager)
02-03-2012 05:04
edited on: 02-03-2012 05:12

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

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

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

(0005776)
Tolik (manager)
02-03-2012 05:07

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

Серверы [0] и [1] лучше показывать в одном списке. Так-то всё работает хорошо, но слишком неочевидно, что надо нажимать reset.
(0005777)
vasketsov (manager)
02-03-2012 07:15

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

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

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

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

Ага.
(0005795)
vdemidov (manager)
04-03-2012 10:52

ИМХО не умереть, а поставляться той же dll, которая и доступ к кэшу будет организовывать. Сейчас например можно экспортнуть чем-угодно тайлы GE в отдельные файлы и просматривать их при помощи SAS.Планеты.
(0005796)
zed (manager)
04-03-2012 11:07

>доступ к кэшу
Не к кэшу, а к тайлам в jpeg формате. Поэтому "поставлять" дополнительные методы-конверторы просто нет смысла.
(0005818)
zed (manager)
06-03-2012 04:51

Работает! Единственное, хотелось бы, чтобы картинка автоматически обновлялась при смене версии (по клику).
(0005820)
Tolik (manager)
06-03-2012 05:02
edited on: 06-03-2012 05:12

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

(0005821)
Tolik (manager)
06-03-2012 05:09

Работает, но плохо.
5154 показывает раза в 3 меньше тайлов из истории, чем версия 5140.
См. картинки (сплющены после склеивания).
(0005822)
zed (manager)
06-03-2012 05:13
edited on: 06-03-2012 05:18

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

(0005823)
Tolik (manager)
06-03-2012 05:18

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

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

В каком именно поле его надо указать? Там нет поля GC.
(0005824)
zed (manager)
06-03-2012 05:20

>Там нет поля GC.
Ещё нет. Пока только в ini - там же, где и остальные пути.
(0005825)
Tolik (manager)
06-03-2012 05:24

> Переключение на смежные даты не помогает?
Нет, в кэше GE точно есть тайлы с одной датой и версией, их хорошо видно в САС 5140.
При переключении на другие даты тоже показывает не все тайлы, а только некоторые.
(0005826)
zed (manager)
06-03-2012 05:38

>без индексов и работает местами медленно
А если сделать не один zmp, а по числу серверов? А то естественно, пока он прошерстит все сервера, да все версии. Но нафиг нам сразу и Луна и Марс, когда мы шаримся по Земле?
(0005827)
Tolik (manager)
06-03-2012 06:03

Если Луна и Марс нафиг не нужна, они в кэше и не появятся.
Я вот, например, ни разу туда не лазил :)
(0005828)
zed (manager)
06-03-2012 06:07

"нафиг не нужна ... когда мы шаримся по Земле", а когда мы будем шариться по Луне, нам нафиг не нужны будут Марс и Земля в списке версий.
(0005831)
Tolik (manager)
06-03-2012 08:29

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

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

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

Приаттачил ещё 2 картинки, этого достаточно?
При клике на левый и правый тайл список версий, как правило, такой же, хотя в новой версии иногда показывает Empty при клике на правом.
(0005835)
vasketsov (manager)
06-03-2012 10:12
edited on: 06-03-2012 10:41

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

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

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

(0005836)
Tolik (manager)
06-03-2012 10:53

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

вот казалось бы кликаю на один и тот же тайл (границы же видны, хотя они и растянуты), точнее на белый квадрат справа от видимого. Чуть левее кликну - выводится тот же список версий, чуть правее - пусто.
(0005837)
Tolik (manager)
06-03-2012 10:55
edited on: 06-03-2012 10:59

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

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

(0005838)
Tolik (manager)
06-03-2012 11:01

TileStorage_GE_nocheck работает точно так же, как и TileStorage_GE
(0005839)
vasketsov (manager)
06-03-2012 11:03

Какой размер кэша?
(0005840)
Tolik (manager)
06-03-2012 11:04

256 МБ

dbCache1.dat нужен? Ещё 128 МБ
(0005842)
zed (manager)
06-03-2012 11:19

dbCache1.dat - кэш от браузерного плагина.
(0005846)
Tolik (manager)
06-03-2012 11:38

2010:03:13[1] - показывает то же
(0005847)
Tolik (manager)
06-03-2012 11:49

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

> Тут пишут, что с опенсорсом она не дружит
Патенты перпендикулярны к опенсорсу. В большинстве стран патенты на ПО и математические алгоритмы недействительны. А продавть САС.Планету в США мы не собираемся.
(0005849)
vasketsov (manager)
06-03-2012 12:32
edited on: 06-03-2012 12:33

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

(0005850)
zed (manager)
06-03-2012 12:36

Я за: Возвращать из DLL уже jpeg.
И на самом деле, гугловская текстура из кэша, это нечто очень похожее на DXT1, но не DXT1.
(0005851)
vasketsov (manager)
06-03-2012 12:46
edited on: 06-03-2012 13:09

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

(0005852)
zed (manager)
06-03-2012 13:18

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

Лично я бы с "потерями" на заморачивался. Кому нужна супер качественная картинка - перекачают с гугл мапс.
(0005853)
vdemidov (manager)
06-03-2012 13:27

А я за то что бы возвращать то что там есть. Если есть jpg, то jpg, если GE-шный DXT1, то DXT1, а уже хост-программа будет решать что делать.
(0005854)
zed (manager)
06-03-2012 13:44
edited on: 06-03-2012 13:45

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

(0005855)
vdemidov (manager)
06-03-2012 13:47

А в чем противоречие? Просто для гугловского DXT1 ридер должна та же длл поставлять.
(0005856)
vasketsov (manager)
06-03-2012 13:59

>Просто для гугловского DXT1 ридер должна та же длл поставлять
Ну в общем да, к этому же склоняюсь. Отдам что есть, а потом хост сам решает, в файл ли вывалить, показать ли хитро, или либу попросить выдать jpeg.
(0005857)
zed (manager)
06-03-2012 14:06

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

Имхо, это всё лишние телодвижения и нефиг хосту вообще знать из каких источников и в каком формате мы получаем снимки.
(0005858)
vasketsov (manager)
06-03-2012 14:22

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

>закриптованный вариант
Дешифрование там безусловное, программное и один раз, тут большой разницы нет. А вот если будет специальный модуль (программный или аппаратный) для дешифрования - тогда разница и возникнет, и именно в пользу "отдать что есть, а хост уже разберётся".
(0005873)
vasketsov (manager)
06-03-2012 21:04
edited on: 06-03-2012 21:11

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

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

(0005878)
Tolik (manager)
07-03-2012 04:21

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

Пора включить dll в ночнушку, а то посыплются вопросы, почему не работает.
(0005884)
zed (manager)
07-03-2012 05:16

>Если кто-то напишет для 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;

Если озарения не случится, могу написать и отдельный класс-конвертер.
(0005885)
Tolik (manager)
07-03-2012 05:19

Вообще-то тормозов не заметно. Если только ради искусства :)
(0005891)
vasketsov (manager)
07-03-2012 05:35

>Если только ради искусства
Ну тогда сделаю может как будет готова реализация для GC. Чтобы меньше телодвижений было, и сразу потом обе DLL заменить чтобы.
(0005950)
vasketsov (manager)
07-03-2012 18:44
edited on: 07-03-2012 18:48

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

(0005951)
zed (manager)
08-03-2012 08:49

А как насчёт добавить подменю для каждого сервера в списке версий, и соответственно, рассортировать версии по серверам?
(0005952)
vasketsov (manager)
08-03-2012 10:17

ДА можно конечно, но это надо уже хост править, а не DLL, а там пока vdemidov параллельную верку не "закроет" - рисковано соваться.
(0005959)
vasketsov (manager)
08-03-2012 17:32

В архиве TileStorage_GC_BETTER.
Изменения:
1. В версиях добавлены также версии без версий ))))).
2. Допёр когда надо для историческиого режима показывать неисторические тайлы.
(0006162)
Tolik (manager)
16-03-2012 08:47
edited on: 16-03-2012 08:52

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

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

(0006164)
vasketsov (manager)
16-03-2012 09:29

Ну в общем-то конечно согласен что пора закрыть тему ))
Сегодня выложу архив с DLL тут. Но пока что руки не дошли до конвертации в жпег. После сделаю отдельную тему по недоделкам в соответствии с тем что получилось и не получилось.
(0006167)
Tolik (manager)
16-03-2012 09:51

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

А рефакторинг - да, пусть будет в отдельной теме. Сейчас уже хорошо работает. Кстати, спасибо, именно сейчас понадобился просмотр исторических снимков, т.к. появилось много новых.
(0006168)
zed (manager)
16-03-2012 11:37

dll-ки нужно положить сюда: https://bitbucket.org/vdemidov/sas.planet
Ночнушка их подхватит.
(0006174)
vasketsov (manager)
16-03-2012 14:05

Приаттачил TileStorage_GC_GE.rar сюда, старьё отсюда поудалял.
Не понял, как туда их засунуть без клонирования репозитория и запуливания DLL вручную из локальной копии.
За сим тему закрываю.
(0006188)
Tolik (manager)
18-03-2012 14:59

Извиняйте, но dll в ночнушке до сих пор нет => ничего не работает, проблема не решена.
(0006194)
vdemidov (manager)
18-03-2012 21:11

Извините, но я против добавления нарушающих законы dll в дистрибутив.
(0006197)
Tolik (manager)
19-03-2012 04:18

Это аргумент.
Тогда что писать юзерам? Зайдите в багтрекер и скачайте dll? Или что мол пользуйтесь поиском, нефиг задавать глупые вопросы?
(0006205)
vasketsov (manager)
19-03-2012 14:34

>я против добавления нарушающих законы dll в дистрибутив
я тоже, кроме того не вижу смысла этого делать вообще.
просто темы с приаттаченными или выложенными на файлопомойку либами будет более чем достаточно.
(0006368)
vasketsov (manager)
02-04-2012 17:23
edited on: 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

(0007603)
zed (manager)
22-06-2012 19:43

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

Зачем вам это конвертирование вообще понадобилось? Оставьте декодер DTX просто в САС и не морочьте голову.
(0007606)
zed (manager)
22-06-2012 20:10

>Оставьте декодер DTX
Оставить "гугло-DXT" -> JPEG в САСе и порушить лицензионную чистоту?
(0007609)
zed (manager)
22-06-2012 20:29

Кстати говоря:
>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
(0007615)
zed (manager)
23-06-2012 19:06

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

- Users who viewed this issue
User List Anonymous (8265x), delvisrodriguez (1x), Oniman777 (1x), zaresefat (1x), dzwager (1x), VMatveev (1x)
Total Views 8270
Last View 26-04-2024 16:46

- 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 View Revisions
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 View Revisions
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 View Revisions
29-02-2012 12:40 Tolik Note Edited: 0005749 View Revisions
29-02-2012 12:42 Tolik Note Edited: 0005749 View Revisions
29-02-2012 12:46 vasketsov Note Added: 0005750
29-02-2012 12:48 vasketsov Note Edited: 0005750 View Revisions
29-02-2012 13:05 Tolik Note Added: 0005754
29-02-2012 13:07 Tolik Note Edited: 0005754 View Revisions
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 View Revisions
29-02-2012 16:44 vasketsov Note Added: 0005761
29-02-2012 17:11 vasketsov Note Edited: 0005761 View Revisions
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 View Revisions
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 View Revisions
02-03-2012 05:12 Tolik Note Edited: 0005775 View Revisions
02-03-2012 05:12 Tolik Note Edited: 0005775 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
06-03-2012 10:41 vasketsov Note Edited: 0005835 View Revisions
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 View Revisions
06-03-2012 10:59 vasketsov File Added: TileStorage_GE_nocheck.rar
06-03-2012 10:59 Tolik Note Edited: 0005837 View Revisions
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:29 vasketsov Note Added: 0005844
06-03-2012 11:35 vasketsov Note Deleted: 0005844
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
03-04-2012 11:49 vasketsov Note Edited: 0006368 View Revisions
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 View Revisions
05-04-2012 08:44 vasketsov File Added: TileStorage_GC_1.0.0.6.rar
05-04-2012 08:45 vasketsov Note Edited: 0006368 View Revisions
05-04-2012 08:47 vasketsov Note Edited: 0006368 View Revisions
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



Copyright © 2007 - 2024 SAS.Planet Team