SASGIS - SAS.Планета
View Issue Details
0001984SAS.Планета[All Projects] Хотелкаpublic27-06-2013 15:1328-08-2013 08:32
Papazol 
 
normalminorhave not tried
confirmedopen 
WindowsXPProfessional SP3
121010 
24xxxx 
0001984: Версионный кэш: список имеющихся версий
Сейчас полный список версий можно увидеть, если только тайлы всех версий имеются в точке клика. Если же снимки в разных версиях не накладываются, то определить, какие есть версии в данном кэше, весьма непросто. Это затрудняет копирование/перемещение в другое хранилище.
версионный кэш
related to 0002090confirmed  Разделить версию для закачки от версии для отображения 
related to 0002176confirmed  Хранить локально список существующих на сервере версий карт 
related to 0002439confirmed  Возможность указывать, какие версии кэша следует отображать 
child of 0002027resolved Garl Хоткей для пролистывания версий 
Issue History
27-06-2013 15:13PapazolNew Issue
27-06-2013 15:18zedNote Added: 0011822
27-06-2013 15:39PapazolNote Added: 0011826
27-06-2013 15:42vasketsovNote Added: 0011828
27-06-2013 15:44GarlNote Added: 0011829
27-06-2013 15:46PapazolNote Added: 0011831
27-06-2013 15:57PapazolNote Edited: 0011831bug_revision_view_page.php?bugnote_id=11831#r5501
27-06-2013 15:58zedNote Added: 0011833
27-06-2013 16:00GarlNote Added: 0011834
27-06-2013 16:01PapazolNote Added: 0011835
27-06-2013 16:01zedNote Added: 0011836
27-06-2013 17:24zedNote Added: 0011841
27-06-2013 17:47vasketsovNote Added: 0011842
27-06-2013 17:50GarlNote Added: 0011843
27-06-2013 17:55vasketsovNote Added: 0011844
27-06-2013 17:58zedNote Added: 0011845
27-06-2013 18:02GarlNote Added: 0011846
27-06-2013 18:03GarlNote Edited: 0011846bug_revision_view_page.php?bugnote_id=11846#r5503
27-06-2013 18:03zedNote Added: 0011847
27-06-2013 18:06vasketsovNote Added: 0011848
27-06-2013 18:08GarlNote Added: 0011849
27-06-2013 18:30vasketsovNote Added: 0011850
27-06-2013 18:42GarlNote Added: 0011851
28-06-2013 14:08PapazolNote Added: 0011897
28-06-2013 14:13PapazolNote Edited: 0011897bug_revision_view_page.php?bugnote_id=11897#r5515
28-06-2013 14:18zedNote Added: 0011898
28-06-2013 14:33GarlNote Added: 0011899
28-06-2013 18:09PapazolNote Added: 0011902
28-06-2013 18:45PapazolNote Edited: 0011902bug_revision_view_page.php?bugnote_id=11902#r5519
28-06-2013 19:13PapazolNote Edited: 0011902bug_revision_view_page.php?bugnote_id=11902#r5520
28-06-2013 19:27PapazolNote Edited: 0011902bug_revision_view_page.php?bugnote_id=11902#r5521
20-08-2013 11:27vdemidovNote Added: 0012500
20-08-2013 11:55GarlNote Added: 0012501
20-08-2013 11:57PapazolNote Added: 0012502
20-08-2013 12:11vasketsovNote Added: 0012503
20-08-2013 12:15vasketsovRelationship addedrelated to 0002090
20-08-2013 12:43vdemidovNote Added: 0012504
20-08-2013 15:07vasketsovNote Added: 0012505
20-08-2013 16:08zedSummaryВерсионный кэш Беркли: список имеющихся версий => Версионный кэш: список имеющихся версий
23-08-2013 14:18vdemidovStatusnew => confirmed
23-08-2013 14:18vdemidovProduct Version.Nightly => 121010
23-08-2013 14:18vdemidovTarget Version => 24xxxx
28-08-2013 08:15vdemidovRelationship addedchild of 0002027
28-08-2013 08:32vdemidovTag Attached: версионный кэш
20-09-2013 19:06GarlRelationship addedrelated to 0002176
29-05-2014 12:28vdemidovRelationship addedrelated to 0002439

Notes
(0011822)
zed   
27-06-2013 15:18   
Подробности не достаточно подробны - вы описали как оно сейчас есть, а в чём собственно хотелка? Что сделать, чтобы было хорошо?
(0011826)
Papazol   
27-06-2013 15:39   
На примере: я сегодня переводил кэш Яндекса в версионный вид. А он был уже версионным, но по-старому, без sdbv. Я помнил, что с момента версионизации этого кэша уже было обновление, и я его скачал, но в какую точно версию - не помнил. Таким образом, неверсионную часть я перебросил и стал методом подбора цифр добиваться, чтобы началось копирование. Таких подборов пришлось сделать пять. А если бы я мог посмотреть, какие номера версий в этом кэше есть, я бы попал с первого раза.
Кроме того, возможен такой расклад, когда создаётся некая версия, в неё закачиваются тайлы, а затем они удаляются. И отследить эту версию становится вообще невозможно.
Нужен список всех версий, числящихся в данном кэше, вне зависимости от тайловых координат.
(0011828)
vasketsov   
27-06-2013 15:42   
>Нужен список всех версий
Сколько времени Вы готовы ждать результата подобного запроса? )))
(0011829)
Garl   
27-06-2013 15:44   
можно сканировать версию в зумах +-1 или +-2
(0011831)
Papazol   
27-06-2013 15:46   
(edited on: 27-06-2013 15:57)
>Сколько времени Вы готовы ждать результата подобного запроса?<
Косвенное подтверждение атрибутовой сущности версии?

Может, есть способ скидывать список версий в служебный файлик?

(0011833)
zed   
27-06-2013 15:58   
Максимум, что можно сделать - выводить список версий для всех тайлов находящихся на экране. А вот получить список всех версий во всём кэше практически невозможно.
(0011834)
Garl   
27-06-2013 16:00   
есть баг: в том что версия не выводится в нижней половине тайла, завтра выложу кусок кэша и описание, воспроизводимость 100%
(0011835)
Papazol   
27-06-2013 16:01   
Тогда закрыть как нерешаемую?
(0011836)
zed   
27-06-2013 16:01   
>есть баг
Уже нету.
(0011841)
zed   
27-06-2013 17:24   
>Тогда закрыть как нерешаемую?
Лучше переименовать. Я думаю очень бы пригодился такой контрол, как в GoogleEarth, при помощи которого можно визуально увидеть сколько вообще доступно версий в пределах экрана и удобно переключаться между ними, не заглядывая по 100 раз в меню по ПКМ.
(0011842)
vasketsov   
27-06-2013 17:47   
>увидеть сколько вообще доступно версий в пределах экрана
Да, я кстати изначально тоже об это этом мечтал :)

Вот например в кэше в СУБД есть отдельный справочник версий, и там вообще можно получить весь список версий.
В файловом кэше при VersionInCache=1 тоже в SACS можно получить весь список версий.
А больше вроде как нигде не получишь (если GE и GC тут не рассматриваем).

Так что для любого типа кэша список версий в пределах экрана в некотором диапазоне зумов будет полезен. В том числе в свойствах карты чтобы версию сделать "открытым" выпадающим списком.

>Тогда закрыть как нерешаемую?
В реальности, если совсем припрёт, можно же сделать просто хранимый список версий отдельно от тайлов, без ссылочной целостности, только для информации. При удалении последнего тайла версия конечно останется в таком списке, но хоть что-то. То бишь что-то типа "скидывать список версий в служебный файлик".
(0011843)
Garl   
27-06-2013 17:50   
>При удалении последнего тайла версия конечно останется в таком списке
в том то и оно что я качаю 1 тайл - смотрю что он мне не нравится и удаляю
(0011844)
vasketsov   
27-06-2013 17:55   
>качаю 1 тайл - смотрю что он мне не нравится и удаляю
Тогда вроде как списка версий по всему экрану должно хватить
(0011845)
zed   
27-06-2013 17:58   
Проблему, которую описал Papazol 0001984:0011826 можно ведь решить и по-другому. К примеру, сделать в Управлении кэшем вкладку Info, по которой сделать этакого сборщика статистики о кэше, чтобы он просканировал весь кэш и подсчитал тайлы, их размер, список версий и проч. Да, сбор информации будет занимать много времени, но иногда может быть полезно. Аналогичную функцию можно предусмотреть и для выделенной области.
(0011846)
Garl   
27-06-2013 18:02   
(edited on: 27-06-2013 18:03)
*надо внимательно дочитывать сообщения до конца*
двумя руками за вкладку в диалоге операции с выделенной областью

(0011847)
zed   
27-06-2013 18:03   
>а может такую вкладку сделать в операциях с выделенной областью?
Читай последнее предложение моего предыдущего поста :)
(0011848)
vasketsov   
27-06-2013 18:06   
>сделать в операциях с выделенной областью?
Может. Дело в том, что если проверяется что за тайл, и если удаляется, это же энергетически проще делать для минимального зума, где начинаются подробные снимки. Например, z15. И если на больших зумах версии появляются только после того, как появляются н z15, то даже для очень большой области проверка наличия тайлов z1-z15 и их версий не представляется такой уж долгой. По сути - однопроходная карта заполнения (о которой тоже многие давно мечтают).
(0011849)
Garl   
27-06-2013 18:08   
>И если на больших зумах версии появляются только после того, как появляются на z15
я качаю Z18 и генерю его вверх вплоть до z1, мне нравится, к тому же удобно смотреть полоски
(0011850)
vasketsov   
27-06-2013 18:30   
>я качаю Z18 и генерю его вверх вплоть до z1
а) было же написано "качаю 1 тайл - смотрю что он мне не нравится и удаляю" - тайлы для проверки скачиваются сразу на z18?
б) можно же генерить из z15 до z1, те же полоски будут (кроме ESRI), только быстрее.
(0011851)
Garl   
27-06-2013 18:42   
> тайлы для проверки скачиваются сразу на z18?
ага и на 19 и на 17, в зависимости от того какой трек на карте.
это ж процесс работы над треком и маршрутом... и не всегда удобно прыгать от зума к зуму при натыке на облако или границе снимков.

з.ы.
снимки от Гугля, бинга и ДГ соединяются в единый версионный кэш.
(0011897)
Papazol   
28-06-2013 14:08   
(edited on: 28-06-2013 14:13)
Ещё к этому вопросу. Пробовал вынуть один снимок из версионного кэша и вставить его обратно в другую версию. Вынулось всё нормально. Сохранённый снимок можно посмотреть. То место, где был снимок, я перезакачал новыми тайлами.

Через Управление кэшем сделал копирование из сохранённого кэша в версионный под версией "Старая". Скопировались не все тайлы, а лишь их часть. То, что скопировалось, можно посмотреть, указав версию "Старая". Карта заполнения для версии "Старая" формируется. Но куда делись остальные тайлы? Видимо, не прошли проверку CRC.

Далее, используя карту заполнения, удаляю все тайлы версии "Старая". Карта заполнения показывает, что тайлов больше нет.

Теперь с помощью Копирования проделываем ту же операцию, но с выделенной областью. Копирование проходит, но изображения не видно. Однако контекстное меню показывает наличие версии "Старая". Но карта заполнения пуста. Если отметить Отображение предыдущих версий, то вокруг упомянутого снимка появляются тайлы другой версии, а на месте снимка пусто. Получается, что программа считает, что тайлы есть, и в то же время, что их нет.

(0011898)
zed   
28-06-2013 14:18   
>удаляю все тайлы версии
Буквально вчера я нашёл и пофиксил баг с удалением тайлов. Вы эти эксперименты на какой ночнушке проводили?
(0011899)
Garl   
28-06-2013 14:33   
угу на последней ночнушке удаление проходит корректно
переносил так же сегодня один снимок из версии в версию, полёт нормальный
(0011902)
Papazol   
28-06-2013 18:09   
(edited on: 28-06-2013 19:27)
Я проводил не на последней.
Поставил исправленную ночнушку. К счастью, ничего править не понадобилось. Пустая версия исчезла.
Проблему с копированием не всех тайлов решил, программа не виновата. Но работает только через управление кэшем. При копировании выделенной области ничего не копируется.

(0012500)
vdemidov   
20-08-2013 11:27   
Так что делаем с этой хотелкой? Переделываем в получение списка версий на экране?
(0012501)
Garl   
20-08-2013 11:55   
имхо сделать чекбокс в настройках к которому можно привязать и поиск доступных снимков. (по тайлу или по экрану)

если жестоко даи ли нет - я жа тайл.
как вариант можно с просмотром +-1..2 тайла вверх и вниз...
(0012502)
Papazol   
20-08-2013 11:57   
Давайте на экране.
(0012503)
vasketsov   
20-08-2013 12:11   
>определить, какие есть версии в данном кэше, весьма непросто
Если будет справочник версий, который недавно обсуждался - хотелка становится почти ненужной.

>я за тайл
+100500
>можно с просмотром +-1..2 тайла вверх и вниз
+100500

>Давайте на экране
Если сделать по дефолту на экране, то тайлохранилище, не поддерживающее получение списка реально существующих версий тайлов по Rect будет выстреливать немалую кучу запросов, чтобы собрать этот список для всего экрана. Поэтому список версий для экрана имеет смысл делать только как опцию, если хранилище поддерживает запрос списка версий по Rect, а не только по одному тайлу. И делать это надо в свойствах карты (поле версии - выпадающий список). В крайнем случае - докающуюся панельку с таким же выпадающим списком или контрол, как в GoogleEarth,для быстрого переключения версий.
(0012504)
vdemidov   
20-08-2013 12:43   
>Если будет справочник версий, который недавно обсуждался - хотелка становится почти ненужной.
Справочник если и будет, то не обязательно актуальный.
Я за то что бы добавить в интерфейс тайлохранилища запрос на получение списка версий по прямоугольнику с ограничением площади прямоугольника. Я не вижу причин, которые бы помешали реализовать этот запрос для любого из тайлохранилищ достаточно эффективно (приведите доводы если я ошибаюсь).
(0012505)
vasketsov   
20-08-2013 15:07   
>добавить в интерфейс тайлохранилища запрос на получение списка версий по прямоугольнику с ограничением площади прямоугольника
Ну так это логично и нужно. Только вот если вернётся False или nil - значит нижележащее хранилище такую фичу не поддерживает, и придётся бродить по экрану потайлово.

>достаточно эффективно
Ну, тут вариантов немного. В худшем случае будет O(ScreenRect), в лучшем - O(1) как для СУБД (там вообще без разницы, по тайлу или по диапазону). Со вторым всё понятно, если первое "достаточно эффективно" - то не вопрос, хуже уж явно не сделать )))))

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