Страница 1 из 3
Определение типа кэша
Добавлено:
15 фев 2017, 21:05
AlexWhiter
Приветствую!
В процессе реализации экспорта в растровый IMG столкнулся с необходимостью проверить, хранятся ли тайлы в кэше в виде отдельных файлов, или же свалены в базу данных.
В качестве временного решения вытаскиваю путь до тайла и сравниваю размер этого файла с размером TileData для этого тайла. Если размеры не совпадают, считаю, что тайлы хранятся в базе.
Однако, такой вариант мне не очень нравится, так как похож на велосипед с костылями.
Есть ли простой и, главное, быстрый способ узнать, что кэш для некоторого карто-источника хранит отдельные файлы для тайлов?
Re: Определение типа кэша
Добавлено:
15 фев 2017, 23:27
garl
А если смотреть тип кэша для конкретно выбранной карты? в zmp например
Re: Определение типа кэша
Добавлено:
15 фев 2017, 23:31
vdemidov
Увы никакого. Только по совокупности zmp и maps.ini можно определить тип кэша, формат файлов и проекцию. А без этой информации гарантировано правильно интерпретировать папку с кэшем невозможно. Я давно думаю добавить запись в папку с кэшем ини файл с этой информацией, но пока не сделал, потому что не определился с форматом.
ЗЫЖ Но вообще, вся эта информация есть в самой САС.Планете. Так что проще всего просто сделать еще один экспорт.
Re: Определение типа кэша
Добавлено:
16 фев 2017, 08:16
AlexWhiter
Понятно, значит, пока оставлю так как есть.
Re: Определение типа кэша
Добавлено:
16 фев 2017, 12:22
vdemidov
AlexWhiter писал(а):Понятно, значит, пока оставлю так как есть.
На всякий случай на помню, что кроме того файловое это тайлохранилище или какое-то другое, есть еще разные типы файловых тайлохранилищ. В них могут лежать тайлы в разных форматах. И самое главное, чего определить по самим файлам нельзя вообще никак это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Re: Определение типа кэша
Добавлено:
16 фев 2017, 13:40
Gma
vdemidov писал(а):... это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Возможно, в выборе проекции следует исходить не из желаний пользователя, а из возможностей гарминовских приборов, для которых, сопсно, это всё и делается. Помнится, там не
такой большой выбор был ))
Re: Определение типа кэша
Добавлено:
16 фев 2017, 13:49
vdemidov
Gma писал(а):vdemidov писал(а):... это используемая в тайлохранилище проекция. Так что советую просто дать пользователю все это выбрать, а не пытаться угадать самому, если уж не хочется интегрироваться в саму Планету.
Возможно, в выборе проекции следует исходить не из желаний пользователя, а из возможностей гарминовских приборов, для которых, сопсно, это всё и делается. Помнится, там не
такой большой выбор был ))
В таком случае пользователя нужно или предупредить, что поддерживаются не все исходные проекции, или заниматься перепроецированием растров в процессе экспорта.
Re: Определение типа кэша
Добавлено:
16 фев 2017, 15:23
Gma
vdemidov писал(а):... или заниматься перепроецированием растров в процессе экспорта.
Этот вариант мне кажется более разумным. При экспорте в jnx тоже самое происходит? Вот аналогично и надо делать.
Re: Определение типа кэша
Добавлено:
21 фев 2017, 13:18
AlexWhiter
Речь не о координатах тайлов, а всего лишь о том, где физически находится JPEG-файл.
Похоже, нужно объяснить, для чего это потребовалось.
В том случае, если одновременно выполняются условия:
* не используется цветокоррекция;
* TileInfo.ContentType.GetContentType вернул 'image/jpg';
* файл с тайлом в кэше имеет расширение '.jpg';
* кэш источника карт находится на том же диске, что и временный каталог %temp%;
* до папки кэша можно построить относительный путь, не длиннее 200 символов (ограничение компилятора)
при построении скрипта для компилятора вместо того, чтобы сохранять копии файлов с тайлами, используются относительные пути до файлов в кэше.
Re: Определение типа кэша
Добавлено:
21 фев 2017, 13:38
AlexWhiter
А вот и тестовая сборка SAS.Планеты с экспортом в IMG:
https://yadi.sk/d/LuPK5haN3EL8Sk.
Распаковать в папку с уже установленной SAS.