Страница 1 из 1

Динамическая подгрузка растровых слоев

Добавлено: 21 авг 2017, 09:57
evgen_sobolev
Здравствуйте.
Подскажите, пожалуйста, можно ли как-то организовать динамическую подгрузку слоёв при помощи библиотеки qgis?
Задача следующая необходимо чтобы на разных мастера масштабах подгружались растровые слои разного разрешения.
Если это можно сделать подскажите как?

Re: Динамическая подгрузка растровых слоев

Добавлено: 21 авг 2017, 10:12
Denis Rykov
Добавить в проект все нужные слои и настроить для них видимость в пределах масштаба.

Re: Динамическая подгрузка растровых слоев

Добавлено: 21 авг 2017, 11:12
evgen_sobolev
И все они будут лежать в оперативной памяти?

Re: Динамическая подгрузка растровых слоев

Добавлено: 21 авг 2017, 14:53
Denis Rykov
Нет конечно.

Re: Динамическая подгрузка растровых слоев

Добавлено: 21 авг 2017, 15:03
evgen_sobolev
А вот это уже интересно! Т.е когда мы загружаем слой, до тех пор пока он не потребуется в оперативной памяти хранятся только пути до этих слоёв ну и ещё быть может бокс слоя?

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 10:24
evgen_sobolev
И как обстоят дела с тайловым деревом? При таком подходе оно и не нужно вовсе? На конкретном масштабе загружаются все тайны данного масштаба? Или те что в обромляющий прямоугольник только порождают?

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 10:33
trir
тайлово дерево как раз и позволяет не грузить все растры в память, а лишь те кусочки, которые видит пользователь

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 12:54
evgen_sobolev
Я имею ввиду самому с этим заморачиваться нет необходимости? Оно само строится по тем слоям которые мы загрузили?

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 13:02
trir
Оно само строится по тем слоям которые мы загрузили?
нет, если у вас они уже нарезаны - то молодцы
но обычно не стоит их резать ручками, а следует сделать пирамиду

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 13:35
evgen_sobolev
А грузить эту пирамиду сразу как говорил Денис Рыков?

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 13:36
evgen_sobolev
И из этой пирамид qgis сама будет выбирать необходимые тайлы соответствующие прямоугольнику и масштабу?

Re: Динамическая подгрузка растровых слоев

Добавлено: 22 авг 2017, 14:32
Denis Rykov
evgen_sobolev писал(а):
21 авг 2017, 09:57
Задача следующая необходимо чтобы на разных мастера масштабах подгружались растровые слои разного разрешения.
Видимо, не правильно понял ваш вопрос. Я понял так, что у вас есть отдельные слои (читай файлы) с растрами различного разрешения, но если вы пишите, что вам подходят пирамиды, то получается, что вы хотите отображать один и тот же растр, но с разным разрешением, тогда да - пирамиды вам в помощь (бывают как внутренние, так и внешние) и да - QGIS сам выбирает нужный экземпляр пирамиды в зависимости от текущего масштаба.

Re: Динамическая подгрузка растровых слоев

Добавлено: 23 авг 2017, 08:28
evgen_sobolev
А можно подробнее про внутриние и внешние пирамиды, что вы имеете ввиду? Вот например у меня есть тыйлы(файлы) одной местности в разных разрешениях. Файлы с одним разрешением хранятся в одной директории, файлы с более детальным разрешением в другой и т.д. Соответственно эти тайны нужно правильно использовать для того или иного масштаба( это можно явно указать во время первой загрузки тайлов). Это я так понимаю внешняя пирамида. А что есть внутренняя?

Re: Динамическая подгрузка растровых слоев

Добавлено: 23 авг 2017, 10:33
Denis Rykov
Тайлы и пирамиды - это вообще про разное. Внешние пирамиды - это копии исходного растра с меньшим разрешением, внутренние - это то же самое, только хранится внутри самого файла, поиграйтесь с gdaladdo и всё поймёте.

Re: Динамическая подгрузка растровых слоев

Добавлено: 23 авг 2017, 11:12
evgen_sobolev
Хорошо поиграюсь. Но пока мое представление такое есть основание пирамиды = слой максимально возможного разрешения, нарезанного на тайлы. Выше слой мене подробного разрешения он тоже нарезан на тайлы. И так далее. до самого неказистого разрешения по типу 256*256 пикселей на весь мир. Как эти слои получались особо не важно то ли путем упрощения основания, то ли отсниманием снимков спутником более крупного разрешения.
И к примеру у меня пирамида на 9 слоев(тайлов естественно больше) на весь мир занимает порядка 2 Гб и для использования этой пирамиды я их все должен загрузить просто в qgis и прописать масштабы отображения этих слоев и все. А QGIS затем сама разбирается какой тайл какого слоя пирамиды на данном масштабе отрисовать и при этом она не будет держать всю пирамиду в памяти.
Это я к тому что нет необходимости породить свой велосипед с тем какой слой и тайл подать на отрисовку qgis в данный момент и масштаб?