Детали реализации хотелки №11 и рядом

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

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

Детали реализации хотелки №11 и рядом

Сообщение Dima2000 » 13 сен 2012, 03:28

Vdemidov, поделитесь секретами? А то сделать сделали, а как работает понятно не совсем.
Что при совпадении тайла с пустышкой получается как бы сервер ответил "нет тайла" - понятно, так и задумывалось.
А вот это "gettext_NoOp('Tile is recognized as empty')" куда должно/может выводиться? Уж не на место ли тайла на экране?! :shock:
Что тайлы удаляются из кэша в момент записи в кэш tne тоже разобрались.
Осталось понять в каких случаях будет генериться этот самый tne, точнее при каких именно ошибках сервера и не может ли получится что при каком глюке на сервере вся качаемая область в кэше погибнет?
И что будет с тайлами в кэше если запись tne отключена в настройках? Ведь удаляться не будут (т.к. не вызовется .SaveTNE)?
И не надо ли аналогично удалять старый tne при записи нового тайла?
И что за папочка BanTiles в пару к EmptyTiles? Задел на будущее? Вроде не видел обработку этого списка...
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение vdemidov » 13 сен 2012, 09:14

Dima2000 писал(а):Осталось понять в каких случаях будет генериться этот самый tne, точнее при каких именно ошибках сервера и не может ли получится что при каком глюке на сервере вся качаемая область в кэше погибнет?

Если качаем с заменой и сервер возвращает пустые тайлы область погибла бы в любом случае. Просто сейчас будут сохранены не тайлы, а tne. Более того, если выключено сохранение tne, то ничего сохраняться вообще не будет.
Dima2000 писал(а):А вот это "gettext_NoOp('Tile is recognized as empty')" куда должно/может выводиться? Уж не на место ли тайла на экране?!

Да. Именно это будет выведено на экран. Только еще и локализованное.
Dima2000 писал(а):И не надо ли аналогично удалять старый tne при записи нового тайла?

Уже удаляется.
Dima2000 писал(а):И что за папочка BanTiles в пару к EmptyTiles? Задел на будущее? Вроде не видел обработку этого списка...

Обработка есть. Просто я не уверен в дальнейшей обработке бана в программе, она не тестировалась. Нужно проверять.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.

За это сообщение автора vdemidov поблагодарил:
Dima2000 (13 сен 2012, 14:56)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение Dima2000 » 13 сен 2012, 16:13

Ну и где детектор пустышек? Скачал последнюю ночнушку (любезно выложенную Garl, версия 120118), включил карту Bing, зум z15, пошёл по тайловым координатам (10223,5045), весь экран пустой, тайлов не было и нет, при нажатой Ins кликаю мышой по данному тайлу, получаю пустышку, закрываю САС, иду в папку с тайлом \cache\VEsat\z15\9\x10223\4\, беру файл y5045.jpg размером 2309 (это действительно он, пустышка), копирую в созданную папку \Maps\VirtualEarth\VESat.zmp\EmptyTiles\, снова запускаю САС, на экране те же координаты, с одним тайлом-пустышкой, при нажатой Ins кликаю мышкой ниже пустышки (по тайлу 10223,5046), он появляется на экране точно таким же пустым. Проверяю папку \cache\VEsat\z15\9\x10223\4\, да файл y5046.jpg есть, абсолютно идентичный 10223,5045. Включение/отключение сохранения TNE не влияет, сохраняются пустышки идентичные первой. Что я сделал не так?
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение vdemidov » 13 сен 2012, 16:18

Такое может быть если сервер отдает png например, а в базу сохраняются jpg. Сравнивает то оно до преобразования, а образец вы взяли уже сконвертированный.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение Tolik » 13 сен 2012, 16:27

Точно! Это png. Сохранил его браузером, получился файл a120111113233110.jpeg.png
http://ecn.t0.tiles.virtualearth.net/ti ... jpeg?g=952
Закинул его в Maps\sas.maps\VirtualEarth\VESat.zmp\EmptyTiles\ - работает! Tile is recognized as empty:)
Tolik
Гуру
 
Сообщения: 1624
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 68 раз.
Поблагодарили: 242 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение Dima2000 » 13 сен 2012, 16:28

Да, так и есть. С сервера идёт png размером 1033. Что делать? Как запретить конвертацию нафик? Параметр Ext из zmp вычистил, не помогло, как заставить сохранять тайл в том формате, что пришёл с сервера? А то какое-то недоделанное решение выходит.
В zmp тип указан двойной: "ContentType=image/png; ContentType=image/jpeg".
Если в папочку сохранить исходный тайл из браузера, то фильтрация работает на ура. 8-)
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение vdemidov » 13 сен 2012, 16:34

Dima2000 писал(а):Как запретить конвертацию нафик?

Никак. В существующих тайлохранилищах все тайлы должны быть одного формата. Разные форматы в одном хранилище прогрмма пока не очень хорошо поддерживает, точне, скорее всего, вообще не поддерживает. Нужно долго допиливать.
Dima2000 писал(а): А то какое-то недоделанное решение выходит.

Увы. САС поддерживает операции над скачанными данными перед сохранением в КЭШ, а проверка на пустоту происходит до этих преборазований. Поэтому в общем случае, только по одному тайлу хранящемуся в тайлохранилище получить образец для фильтрации нельзя, нужно спрашивать сервер. Это одна из причин, почему я ограничился именно таким недоделанным решением без всяких добавлений по правой кнопке мыши.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.

За это сообщение автора vdemidov поблагодарил:
Dima2000 (13 сен 2012, 16:51)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1166
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 92 раз.
Поблагодарили: 52 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение Dima2000 » 13 сен 2012, 16:51

Угу, кривовато. Но всё равно прекрасно! 8-)
Только надо бы это корректно где-то описать, а то такие вопросы будут плодиться чуть ли не каждым кто попробует воспользоваться.
А с ПКМ полечить не трудно будет, если кто возьмётся - снова запросить сервер и прихватить файл до конвертации. Костыль, но наверное не слишком сложный и думаю рабочий ...

PS. Заведу две хотелки (про ПКМ и про удаление пустышек по выделенной области), чтобы не забыть, смело ставьте им дату 2020г, как грозились. :)
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

Re: Детали реализации хотелки №11 и рядом

Сообщение vdemidov » 13 сен 2012, 17:05

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

Re: Детали реализации хотелки №11 и рядом

Сообщение Dima2000 » 13 сен 2012, 17:15

Угу, добавил туда. Кстати, для удаления из кэша надо хранить и образец преобразованного тайла. Что совсем не страшно. Тоже не забыть документировать где-то.
Dima2000
Соображающий
 
Сообщения: 70
Зарегистрирован: 01 апр 2012, 18:20
Откуда: Россия, Москва
Благодарил (а): 22 раз.
Поблагодарили: 5 раз.

След.

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

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

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

cron