Notes |
|
(0014272)
|
vdemidov
|
28-05-2014 18:01
(edited on: 28-05-2014 18:02) |
|
Опиши как это реализовать в интерфейсе? В смысле как это для пользователя должно выглядеть.
|
|
|
(0014273)
|
Garl
|
28-05-2014 18:30
|
|
а если у меня перекрытие лоскутками? максимум пересекаются внахлёст 4 версии (снимка) ведь для конкретной точки карты версии будут разные.
И достать все версии с карты будет не быстро?
чегойто даже не представлю как изобразить эту настройку. |
|
|
|
Я представляю это так: возле каждого названия версии есть своя галка. Сейчас можно установить только одну из них. А надо, чтобы можно было установить любое количество. Сколько и каких галок пользователь установил, столько и таких версий будут отображаться.
Пункт "Отображать предыдущие версии" должен остаться, где был.
Установка более чем одной галки на названиях версий отменяет отображение предыдущих версий. Повторная установка галки на отображении предыдущих версий возможна только при единственной выбранной версии. |
|
|
(0014289)
|
Garl
|
29-05-2014 12:04
|
|
а сортировка этих версий?
они ж сейчас без сортировки выводятся.... |
|
|
|
Насчёт сортировки я спрашивал на форуме. Сортируются названия по алфавиту. Если не давать версиям заумных названий, а либо номера, либо даты в хорошем формате, то всегда можно и отсортировать, и понять, что откуда. |
|
|
|
А при чем тут это? Вопрос какой из тайлов выбирать, если есть несколько попадающих в этот список. |
|
|
|
Примерно происходит так:
Предпочтение отдаётся тайлам выбранной версии. Если тайл выбранной версии отсутствует, проверяется предыдущая версия (сортировка по алфавиту), если в ней тоже нет, предпредыдущая и т. д. до исчерпания списка версий.
Такой же алгоритм должен применяться и при выборочном отображении, но проверяться должны не все версии, а только те, у которых стоят галки. |
|
|
|
Какой из выбранных? Хотелка ж состоит, в том что бы можно было выбирать несколько версий. |
|
|
|
Блин, не пойму, я что, как-то косноязычно излагаю? По пунктам:
1. Программа составила список версий, у которых тайлы на данном месте ЕСТЬ. Допустим, их там пять, их номера (названия) - 1, 2, 3, 4 и 5.
2. Если ВЫБРАТЬ любую из этих пяти версий, например, номер 3, для отображения, то есть поставить против неё галку, то отобразятся тайлы только версии номер 3.
3. Если выбрать опцию "Отображать предыдущие версии", то отобразится преимущественно ВЫБРАННАЯ версия номер 3, а там, где у неё тайлов нет, могут отобразиться тайлы оставшихся четырёх версий (алгоритм был рассмотрен ранее).
4. Я хочу, чтобы у меня отображались только версии номер 2 и номер 4, а версии 1, 3, 5 не отображались. Для этого я ставлю напротив названий версий 2 и 4 галки, а напротив названий 1, 3 и 5 - галок не ставлю.
5. При отображении тайлов (алгоритм был рассмотрен ранее) будут учитываться только версии номер 2 и 4, остальных как будто бы вообще нет.
6. Если нужно вернуться к отображению "предыдущих версий", снимаем галку с версии, например, 2, остаётся одна ВЫБРАННАЯ версия номер 4, ставим галку на "Отображать предыдущие версии" и профит.
PS Перечитал три раза то, что написал. Всё понял. |
|
|
(0014295)
|
Garl
|
29-05-2014 13:19
(edited on: 29-05-2014 13:22) |
|
сейчас текущая отображаемая версия сохраняется в Maps.ini
как и где хранить наш список с галками включенных версий?
это я к чему:
включив один раз на севере отображение 1-ой версии и удалив все тайлы этой версии (или работая только с югом) я больше никогда не увижу версию 1 в списке версий и соответственно не смогу её выключить(снять галку)...
|
|
|
|
>никогда не увижу версию 1 в списке версий и соответственно не смогу её выключить
Это не очень страшно, так как при отсутствии тайлов этой версии они мешать работе не будут, разве что процессор и диск будут грузиться проверкой их наличия.
Но здесь появляется дополнительная проблема. Это невозможность посмотреть полный список имеющихся версий кэша. Это не позволяет выполнить задачу "найти тайлы такой-то версии", указав её и построив карту заполнения.
К тому же список имеющихся версий определяется для одного тайла, на котором стоит курсор, а изображение строится на весь экран и далее, если двигать карту или менять масштаб. Указав "не тот" тайл, получаем совсем другую картину.
Так не лучше ли всегда показывать весь список версий, независимо от того, есть под курсором тайлы этих версий или нет?
Понимаю, что в этом случае несколько усложнится выбор нужной версии. Но ведь такая же ситуация существует и для самих карт. Пока не выберешь какую-нибудь карту, не узнаешь, покрыта данная местность ей на этом масштабе, или нет.
Можно сделать опциональный выбор, показывать все версии в списке, или только те, для которых есть тайлы. |
|
|
|
>Так не лучше ли всегда показывать весь список версий, независимо от того, есть под курсором тайлы этих версий или нет?
Ты готов ждать полного сканирования всех тайлов всех зумов карты? На несколько гигабайтном кэше на это пол дня уйдет. |
|
|
(0014298)
|
Garl
|
29-05-2014 18:26
|
|
>Так не лучше ли всегда показывать весь список версий, независимо от того, есть под курсором тайлы этих версий или нет?
тыдыжь:
http://sasgis.org/mantis/view.php?id=2176 |
|
|
|
Ну так вот, ходим, значит, по кругу. В той теме меня раскритиковали за тупость, да, мне на сервере не нужно, мне нужно в программе обычного применения. Да, я хочу, чтобы список версий хранился в zmp или maps.ini, или в самом кэше. Сканировать весь кэш тогда не надо.
Всё равно рано или поздно такое придётся вводить. Количество версий будет всё время расти, как растёт количество zmp. Без нормального интерфейса, который даёт информацию о наличии версий, не обойтись. |
|
|
|
>Без нормального интерфейса, который даёт информацию о наличии версий, не обойтись.
Ты готов выбросить весь свой старый кэш в БерклиДБ (ну или заняться полным копированием его) из-за того что новая версия полностью несовместима со старым но поддерживает список версий без полного обхода всех тайлов всех баз? |
|
|
(0014310)
|
zed
|
02-06-2014 09:56
|
|
Не нужно выбрасывать старый кэш беркли. Там зарезервирована структура для метаданных (сейчас там хранится только EPSG код проекции) и при желании туда же можно сохранять и список версий. Логика работы с кэшем ещё более усложнится, но фича в принципе реализуема. А если не сильно заботиться об актуальности этого списка и сделать отдельный "актуализатор", что обсуждалось в 0001984, то доработка кэша Беркли представляется не сильно сложной, причём, без потери какой-либо совместимости. |
|
|
|
|