Определение типа кэша

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

AlexWhiter
Соображающий
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раза
Поблагодарили: 35 раз

Определение типа кэша

Сообщение AlexWhiter »

Приветствую!

В процессе реализации экспорта в растровый IMG столкнулся с необходимостью проверить, хранятся ли тайлы в кэше в виде отдельных файлов, или же свалены в базу данных.
В качестве временного решения вытаскиваю путь до тайла и сравниваю размер этого файла с размером TileData для этого тайла. Если размеры не совпадают, считаю, что тайлы хранятся в базе.
Однако, такой вариант мне не очень нравится, так как похож на велосипед с костылями.

Есть ли простой и, главное, быстрый способ узнать, что кэш для некоторого карто-источника хранит отдельные файлы для тайлов?
Аватара пользователя
garl
Гуру
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз
Поблагодарили: 272 раза

Re: Определение типа кэша

Сообщение garl »

А если смотреть тип кэша для конкретно выбранной карты? в zmp например
Russian NDN Team
QIP NightlyTester
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: Определение типа кэша

Сообщение vdemidov »

Увы никакого. Только по совокупности zmp и maps.ini можно определить тип кэша, формат файлов и проекцию. А без этой информации гарантировано правильно интерпретировать папку с кэшем невозможно. Я давно думаю добавить запись в папку с кэшем ини файл с этой информацией, но пока не сделал, потому что не определился с форматом.
ЗЫЖ Но вообще, вся эта информация есть в самой САС.Планете. Так что проще всего просто сделать еще один экспорт.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
AlexWhiter
Соображающий
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раза
Поблагодарили: 35 раз

Re: Определение типа кэша

Сообщение AlexWhiter »

Понятно, значит, пока оставлю так как есть.
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: Определение типа кэша

Сообщение vdemidov »

AlexWhiter писал(а):Понятно, значит, пока оставлю так как есть.
На всякий случай на помню, что кроме того файловое это тайлохранилище или какое-то другое, есть еще разные типы файловых тайлохранилищ. В них могут лежать тайлы в разных форматах. И самое главное, чего определить по самим файлам нельзя вообще никак это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Gma
Советчик
Сообщения: 427
Зарегистрирован: 10 апр 2011, 23:10
Благодарил (а): 35 раз
Поблагодарили: 89 раз

Re: Определение типа кэша

Сообщение Gma »

vdemidov писал(а):... это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Возможно, в выборе проекции следует исходить не из желаний пользователя, а из возможностей гарминовских приборов, для которых, сопсно, это всё и делается. Помнится, там не такой большой выбор был ))
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: Определение типа кэша

Сообщение vdemidov »

Gma писал(а):
vdemidov писал(а):... это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Возможно, в выборе проекции следует исходить не из желаний пользователя, а из возможностей гарминовских приборов, для которых, сопсно, это всё и делается. Помнится, там не такой большой выбор был ))
В таком случае пользователя нужно или предупредить, что поддерживаются не все исходные проекции, или заниматься перепроецированием растров в процессе экспорта.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Gma
Советчик
Сообщения: 427
Зарегистрирован: 10 апр 2011, 23:10
Благодарил (а): 35 раз
Поблагодарили: 89 раз

Re: Определение типа кэша

Сообщение Gma »

vdemidov писал(а):... или заниматься перепроецированием растров в процессе экспорта.
Этот вариант мне кажется более разумным. При экспорте в jnx тоже самое происходит? Вот аналогично и надо делать.
AlexWhiter
Соображающий
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раза
Поблагодарили: 35 раз

Re: Определение типа кэша

Сообщение AlexWhiter »

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

В том случае, если одновременно выполняются условия:
* не используется цветокоррекция;
* TileInfo.ContentType.GetContentType вернул 'image/jpg';
* файл с тайлом в кэше имеет расширение '.jpg';
* кэш источника карт находится на том же диске, что и временный каталог %temp%;
* до папки кэша можно построить относительный путь, не длиннее 200 символов (ограничение компилятора)
при построении скрипта для компилятора вместо того, чтобы сохранять копии файлов с тайлами, используются относительные пути до файлов в кэше.
AlexWhiter
Соображающий
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раза
Поблагодарили: 35 раз

Re: Определение типа кэша

Сообщение AlexWhiter »

А вот и тестовая сборка SAS.Планеты с экспортом в IMG: https://yadi.sk/d/LuPK5haN3EL8Sk.
Распаковать в папку с уже установленной SAS.
Ответить

Вернуться в «Раздел для разработчиков программы SAS.Планета»