SASGIS - SACS.Планета
View Issue Details
0001848SACS.Планета[All Projects] Хотелкаpublic06-03-2013 19:3109-08-2013 15:13
vasketsov 
vasketsov 
highminorN/A
closedfixed 
WindowsVistaUltimate
 
130803 
0001848: Простое версионное тайлохранилище на основе имеющегося файлового кэша
Простота прежде всего заключается в тривиальной миграции (внутри одной версии всё как будто версий вообще нет).

Логика тоже проста: если в zmp есть VersionInCache=1 - то перед путём к тайлу (разумеется, внутри папки с кэшем) добавляется 'vV\', где V - значение версии. Если версия не указана - ничего не добавляется (всё остаётся как было).
No tags attached.
has duplicate 0001344closed vasketsov SACS.Планета Реализация файлового кэша с поддержкой версий 
related to 0001922confirmed  SAS.Планета Простое версионное тайлохранилище 
Issue History
06-03-2013 19:31vasketsovNew Issue
06-03-2013 19:31vasketsovStatusnew => assigned
06-03-2013 19:31vasketsovAssigned To => vasketsov
06-03-2013 19:34vasketsovNote Added: 0010820
07-03-2013 09:19vasketsovNote Added: 0010831
07-03-2013 18:17vasketsovRelationship addedduplicate of 0001344
07-03-2013 18:19vasketsovRelationship replacedhas duplicate 0001344
11-03-2013 02:51vasketsovStatusassigned => resolved
11-03-2013 02:51vasketsovResolutionopen => fixed
07-05-2013 09:00vdemidovIssue cloned: 0001922
07-05-2013 09:00vdemidovRelationship addedrelated to 0001922
09-08-2013 14:59vasketsovFixed in Version => 130803
09-08-2013 15:13vasketsovStatusresolved => closed

Notes
(0010820)
vasketsov   
06-03-2013 19:34   
Сделал заглушку
c_VersionInCache_TODO = False;
в модулях
CacheManager/frm_CacheManager.pas
RegionProcess/fr_ExportToFileCont.pas
RegionProcess/u_ProviderTilesCopy.pas
там как бы надо немного пописать, сейчас лениво, пока что там всегда без версий

Осталось:
1. обратные парсеры (после которых по идее заработает менеджер кэша).
2. получение списка версий по тайлу.
3. чего ещё найдётся...
(0010831)
vasketsov   
07-03-2013 09:19   
Ещё для наглядности сюда перетащим примеры относительных путей до тайла.

Без VersionInCache=1 или если не указана версия в поле Version:
cache\test_map\z17\47074\79750.jpg
cache\test_map\z18\77\x79750\45\y47074.png
cache\test_map\18\trtqssqssssttqqrsq.png
cache\test_map\10-311-183\18\M24921471\18-079750-047074.png

Если VersionInCache=1 и Version={версия}:
cache\test_map\v{версия}\z17\47074\79750.jpg
cache\test_map\v{версия}\z18\77\x79750\45\y47074.png
cache\test_map\v{версия}\18\trtqssqssssttqqrsq.png
cache\test_map\v{версия}\10-311-183\18\M24921471\18-079750-047074.png

Ещё обращаю внимание на то, что обратный парсер, который по тайлопути определяет xyzv, знать не знает о том, писался конкретный тайл с версией или нет, когда он писался в кэш, так как настройка может меняться, да и сохранение тайла возможно без версии.
Поэтому надо избегать называть папки в кэше именами, начинающимися на 'v', если для карты возможно указание VersionInCache=1.