SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002124SAS.ПланетаРефакторингpublic28-08-2013 19:5415-08-2019 15:29
Reporterzed 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version131111 
Target Version160606Fixed in Version160606 
Summary0002124: Переделать прямое (direct) чтение из кэша GeoCacher-а
DescriptionВвиду появления libge.dll и переделки чтения тайлов из кэша GoogleEarth, нужно сделать аналогичную модернизацию и для кэша GeoCacher-а.
Tagsgoogle earth, VIP
Attached Files

- Relationships
related to 0001871resolvedzed Добавить возможность прямого чтения кэша GoogleEarth 7.xx (включая исторические снимки) 
related to 0002539resolvedzed Вылет программы или окошко с ошибкой при выборе версии кеша GC 
child of 0002538resolvedzed При наличии в кеше GC подпапки "Others" перестает работать чтение этого кеша планетой. 

-  Notes
(0012669)
Papazol (reporter)
29-08-2013 12:58

А локал версия 7-го GE будет?
(0012706)
zed (manager)
31-08-2013 06:13

А зачем оффтопить? Всё что касается GE.local спрашивайте вот >>тут<<
(0012709)
vasketsov (manager)
31-08-2013 07:13

Может проще будет тайлохранилище геокэшера сразу загнать в один из напрямую поддерживаемых кэшей саса?
Тогда и либа не нужна будет совсем.
Требование к хранилищу - параллельная запись из одного приложения, чтение из других, тот же беркли же должен справиться. А вообще при соблюдении интерфейса и SQLite подойдёт и любая СУБД тоже.
(0012710)
zed (manager)
31-08-2013 07:45

>Тогда и либа не нужна будет совсем.
Ну а собственно GeoCacher как сможет писать в эти хранилища? Либу писать всё-равно нужно, а вот уже потом можно будет подключить её и к SAS и к кэшеру.

Поэтому для начала, я сделаю тайловый кэш (только для чтения), подключу его к SAS, а потом буду смотреть, как это вкорячить в кэшер в режиме RW (ещё же надо учесть, что там кроме картинок да рельефа, есть кучка специфических типов данных).
(0012711)
vasketsov (manager)
31-08-2013 08:10

>GeoCacher как сможет писать в эти хранилища?
Точно также как сас сейчас - через интерфейс тайлохранилища.
Или там сасового API не хватит?

>есть кучка специфических типов данных
Так вроде же Tilestorage-у же пофигу, что хранить, лишь бы запросы в него шли с одинаковым ContentType-ом (можно даже бредовым)? Понаделать базок под каждый "специфический тип данных" (в смысле, под каждый разный запрос, одну под terrain, одну под историю,...) и в каждой базке версией рулить.

Сейчас, как я понял, ты хочешь обучить сас работать с хранилищем GC. А я предлагаю ровно обратную процедуру. Выгода будет неоспорима. Правда вот насколько это сложно - тебе конечно виднее.

Ты ж как-то сам уже приходил к выводу, что кэш CG не оптимален с точки зрения хранения гигабайтов данных. Вот я и предлагаю оперативное вмешательство в неоптимальное место, а не в то, что работает с неоптимальным местом.
(0012712)
zed (manager)
31-08-2013 08:25

>Или там сасового API не хватит?
У САС-а нету публичного API для тайлохранилищ. Поэтому нужна либа с этим API, которую я уже смогу юзать в GC.
(0012713)
vasketsov (manager)
31-08-2013 08:44

>нету публичного API
Я про ITileStorage сотоварищи.
Разве нельзя их напрямую залинковать в GC, как это делается в сасе? Ну может с микродопиливаниями?
(0012714)
zed (manager)
31-08-2013 08:47
edited on: 31-08-2013 08:48

>Я про ITileStorage сотоварищи.
Я понимаю. А ты смотрел, сколько ещё сопутствующих интерфейсов оно за собой тянет? Там половину САС-а нужно прилинковать. Причём, САС-овские интерфейсы могут юзать и строки и всё что хочешь. И никаких safecall вызовов по большому счёту.

(0012715)
vasketsov (manager)
31-08-2013 09:25

>смотрел, сколько ещё сопутствующих интерфейсов оно за собой тянет?
Разумеется.
В проекте sas_to_gme именно это и делается )))
Только там ещё и zmp и maptype и рисовалка линкуются - суммарный размер DLL 2 мега. У тебя с хранилищем будет скорее всего сильно меньше 1 мегабайта довесок. Причём сами интерфейсы сильно много же не жрут, если реализация не залинкуется.

>никаких safecall вызовов
Разумеется.
(0012716)
zed (manager)
31-08-2013 09:40

>В проекте sas_to_gme именно это и делается
Ну так с MapEdit-ом ты общаешься по его API, а внутри dll ты просто имеешь урезанную копию САС. И ты предлагаешь мне точно так же встроить в GC урезанный САС, чтобы была возможность юзать его хранилища? Что-то не нравится мне эта идея.
(0012717)
vasketsov (manager)
31-08-2013 10:09

>внутри dll ты просто имеешь урезанную копию САС
Так точно.

А почему идея не нравится?
1. Новое хранилище - пересборка GC и всё.
2. Либа не нужна, так как сас и GC живут в одном хранилище.
3. Любые хранилища доступны, включая СУБД, где работают быстрые операции по диапазону xy.
...

Если сравнивать задачу написания нового хранилища и либы для саса, и замены интерфейса ФС для GC на интерфейс саса - я бы заведомо выбрал второе. По умолчанию даже можно обычный файлокэш держать, и работать вообще не отсвечивая хвостами саса наружу. Ну а коли есть ini и карты (буквально - если GC сложили в папку саса - значит все настройки всех хранилищ доступны как есть, даже terrain-ы) - настроить в GC, что куда падает. Ну или иначе сделать (тоже просто сасову ini-шку надо будет подсунуть), детали тут несущественны. Важно что делается это один раз, и работает с любым версионным кэшем. В том числе и будущими реализациями. За всё время существования dll, там один раз была существенная правка из-за того что рисовалку пописали, остальное - только в свойства проекта добавляю новые подпапки. Если бы столько же жил сас в GC - пришлось бы только подпапку добавить в свойства проекта с новым типом кэша и пересобрать.
(0012724)
vasketsov (manager)
31-08-2013 12:50

Там только будет одна загвоздка: я когда давным-давно начинал это, сделал под проверкой, что мы внутри DLL. Дурень был. По уму надо заменить это условной компиляцией (одна лишь робкая попытка - это vsasas rev. 715). Это я про GlobalState.pas.
(0017081)
zed (manager)
16-03-2016 10:11

Переделал. Все подробности тут: http://www.sasgis.org/forum/viewtopic.php?f=61&t=2824&start=10#p42270

Всех заинтересованных приглашаю к тестированию.

- Users who viewed this issue
User List Anonymous (4801x), kirill747 (1x), WarioR (1x), ygorigor (3x), aflexus (46x), zed (12x), vdemidov (4x), VMatveev (2x), bk99 (2x), Parasite (1x), gma (2x)
Total Views 4875
Last View 31-10-2024 23:12

- Issue History
Date Modified Username Field Change
28-08-2013 19:54 zed New Issue
28-08-2013 19:54 zed Status new => assigned
28-08-2013 19:54 zed Assigned To => zed
28-08-2013 20:12 zed Relationship added related to 0001871
29-08-2013 12:58 Papazol Note Added: 0012669
31-08-2013 06:13 zed Note Added: 0012706
31-08-2013 07:13 vasketsov Note Added: 0012709
31-08-2013 07:45 zed Note Added: 0012710
31-08-2013 08:10 vasketsov Note Added: 0012711
31-08-2013 08:25 zed Note Added: 0012712
31-08-2013 08:44 vasketsov Note Added: 0012713
31-08-2013 08:47 zed Note Added: 0012714
31-08-2013 08:48 zed Note Edited: 0012714 View Revisions
31-08-2013 09:25 vasketsov Note Added: 0012715
31-08-2013 09:40 zed Note Added: 0012716
31-08-2013 10:09 vasketsov Note Added: 0012717
31-08-2013 12:50 vasketsov Note Added: 0012724
04-11-2013 13:56 vdemidov Target Version 131111 => 24xxxx
22-11-2013 22:33 vdemidov Product Version .Nightly => 131111
11-11-2014 19:43 zed Relationship added child of 0002538
11-11-2014 19:44 zed Target Version 24xxxx => 150915
11-11-2014 19:45 zed Relationship added child of 0002539
21-01-2015 10:39 vdemidov Target Version 150915 => 151010
02-02-2015 08:46 vdemidov Relationship replaced related to 0002539
04-10-2015 15:30 vdemidov Target Version 151010 => 151111
06-11-2015 08:20 vdemidov Target Version 151111 => 191221
16-03-2016 10:10 zed Tag Attached: google earth
16-03-2016 10:10 zed Tag Attached: VIP
16-03-2016 10:11 zed Note Added: 0017081
21-04-2016 18:52 zed Status assigned => resolved
21-04-2016 18:52 zed Fixed in Version => 160606
21-04-2016 18:52 zed Resolution open => fixed
21-04-2016 18:52 zed Target Version 191221 => 160606



Copyright © 2007 - 2024 SAS.Planet Team