SASGIS

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

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

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

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

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

Сообщение AlexWhiter » 15 фев 2017, 21:05

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

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

Есть ли простой и, главное, быстрый способ узнать, что кэш для некоторого карто-источника хранит отдельные файлы для тайлов?
AlexWhiter
Соображающий
 
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.

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

Сообщение garl » 15 фев 2017, 23:27

А если смотреть тип кэша для конкретно выбранной карты? в zmp например
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз.
Поблагодарили: 245 раз.

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

Сообщение vdemidov » 15 фев 2017, 23:31

Увы никакого. Только по совокупности zmp и maps.ini можно определить тип кэша, формат файлов и проекцию. А без этой информации гарантировано правильно интерпретировать папку с кэшем невозможно. Я давно думаю добавить запись в папку с кэшем ини файл с этой информацией, но пока не сделал, потому что не определился с форматом.
ЗЫЖ Но вообще, вся эта информация есть в самой САС.Планете. Так что проще всего просто сделать еще один экспорт.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

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

Сообщение AlexWhiter » 16 фев 2017, 08:16

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

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

Сообщение vdemidov » 16 фев 2017, 12:22

AlexWhiter писал(а):Понятно, значит, пока оставлю так как есть.

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

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

Сообщение Gma » 16 фев 2017, 13:40

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

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

Сообщение vdemidov » 16 фев 2017, 13:49

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

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

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

Сообщение Gma » 16 фев 2017, 15:23

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

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

Сообщение AlexWhiter » 21 фев 2017, 13:18

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

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

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

Сообщение AlexWhiter » 21 фев 2017, 13:38

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

За это сообщение автора AlexWhiter поблагодарил:
Gma (22 фев 2017, 10:34)
Рейтинг: 5.26%
 
AlexWhiter
Соображающий
 
Сообщения: 63
Зарегистрирован: 12 янв 2012, 16:55
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.

След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0