Как можно избежать неполных слоев WMS при экспорте больших карт в QGIS 2.6?

10

У меня есть проект QGIS 2.6 с около 20 векторными слоями и слоем WMS (работает на Ubuntu 14.04). Визуализация WMS работает хорошо, хотя и немного медленна, и экспорт карт формата A4 также работает правильно (как в jpg, так и в pdf), но при экспорте моей карты окончательного размера все становится сложнее, почти A0.

Большую часть времени некоторые из плиток WMS не появляются в результирующем PDF или JPG (см. Изображение ниже). Тем не менее, я экспортировал большую неделю назад. На самом деле карта, которую я не могу экспортировать сейчас, точно такая же, как я печатала раньше, после запроса одного из слоев.

Вот так выглядит полученный PDF

Я пробовал несколько «обходных путей»:
* Печать на PDF-принтер, а не экспортировать его. Тот же результат.
* Сотрите слой WMS и определите его заново, с нуля. * Удалили карту из композиции и определили ее снова. Без изменений.
* Наконец-то попробовал с новым проектом и определил карту аналогичного размера ... и проблема все еще там.
* Я попытался удалить и переустановить. Все выглядит так же (даже плагины все еще там).
* Я пытался экспортировать его в Windows QGIS (как в разделе Windows, так и в виртуальной машине Windows). Первая попытка с Windows работала нормально, но теперь я столкнулся с той же проблемой, что и в Ubuntu.

Пара идей:
* Может ли это быть проблема соединения с сервером WMS? Однако рендеринг WMS работает правильно.
* это может быть QGIS запускает нашу память? Если я оставлю системный монитор открытым, я пойму, что QGIS будет использовать только 2 из моих 8 ядер, а не одновременно, и ядро, которое используется, достигает 100% использования. Точно так же используемая память никогда не выходит за пределы 2 ГБ, но у меня есть 16 ГБ (и 3 ГБ в графической карте).

Надеюсь, что кто-то может дать мне подсказку ... так как у меня есть все мои проекты в QGIS, и теперь я не могу получить мой конечный результат.

Редактировать
Я также пытался ограничить размер тайла, но проблема осталась (хотя и с меньшими пустыми тайлами).
Затем я попытался удвоить параметры timeout и max-retries, как это было предложено. Это работало отлично ... по крайней мере, в то время ... Через месяц я снова столкнулся с той же проблемой. На этот раз с маленькой картой (размер DinA4, предыдущая была A0). Я установил тайм-аут на 50000 мс, а максимальное количество попыток на 20! Без изменений.
Две дополнительные детали могут помочь выяснить, откуда возникла проблема:
* Пустые плитки всегда одинаковы. Не с месяца назад до настоящего времени, но каждый раз, когда я сталкиваюсь с проблемой, пустые плитки остаются неизменными во время всех испытаний, которые я делаю, чтобы преодолеть эту проблему. Это не указывает на проблему с подключением к интернету, не так ли?
* Экспорт изображения создается за несколько секунд, но не более 30, что также предполагает, что параметр тайм-аута не задействован (или не работает).

Править
Я обнаружил, что когда возникает эта проблема, она остается там, независимо от того, что я делаю, при этом всегда остаются одни и те же плитки. Однако, если я позволю это в течение нескольких дней, это исчезнет. Я имею в виду, что как только это произойдет, это произойдет снова во всех испытаниях в течение нескольких дней; но если я забыл об этом и попробую два дня спустя, он снова отлично работает. Похоже, что у него есть какой-то вид или память ... Как только связь по какой-то причине не удалась, он запомнит это на пару дней ...

Asier
источник
У меня такая же проблема. Ни один из обходных путей не помог мне.
Крис
с той же проблемой в Qgis 3.4.2, перезапуск Qgis полностью ее решает.
user16032

Ответы:

7

Помимо размера плитки, как отмечает @Irssvt, вы также можете установить некоторые параметры тайм-аута и повторных попыток.

Время ожидания по умолчанию для каждого подключения - Settings->Options->network->Timeoutдля сетевых запросов

Повторите попытку в случае тайм-аута Settings->Options->network->Max retryв случае ошибок запроса плитки.

Я закодировал последние параметры повторов в QGIS, финансируемые Regione Toscana, именно для того, чтобы решить проблемы, подобные тем, которые вы выявили.

Луиджи Пирелли
источник
1
Ограничение размера плитки приводило к меньшим пропускам на моей карте (по сравнению с меньшими по размеру плитками), но все еще печально известным пропускам. Однако удвоение времени ожидания и максимальных значений повторных попыток решило проблему.
Asier
4

Иногда это может происходить при медленном соединении. Вы можете попытаться установить размер плитки для вашего слоя WMS. Измените размер плитки (например, 256x256) в диалоговом окне WMS Connecition, и вы увидите, работает ли он для вас:

введите описание изображения здесь

Когда-то это помогало мне в больших композициях. Надеюсь это поможет.

lrssvt
источник
1

Я смог обойти это, увеличив размер кэша ниже Settings > Options > Network > Cache Settings > Size.

По умолчанию он равен 0 и использует около 4 КБ на экспорт. Когда я увеличил размер кэша до 100 МБ, он использовал 14 МБ для хранения тайлов WMS.

Все плитки теперь отображаются последовательно в экспорте.

Джозеф Шварц
источник
0

Также может быть доступной оперативной памяти для QGIS ... посмотрите в Настройки для сети и кэш, увеличьте столько, сколько хотите. В настройках Print Composer также есть кэш.

Предполагается, что QGIS посмотрит, как они распределяют кэш, и увидит примеры очистки в Adobe Photoshop и т. Д., Которые действительно полезны.

Кэролайн Робинсон
источник