Wie kann ich unvollständige WMS-Layer beim Exportieren großer Karten in QGIS 2.6 vermeiden?


10

Ich habe ein QGIS 2.6-Projekt mit ungefähr 20 Vektorebenen und einer WMS-Ebene (arbeitet unter Ubuntu 14.04). Das WMS-Rendering funktioniert einwandfrei, obwohl es etwas langsam ist, und das Exportieren von Karten im A4-Format funktioniert ebenfalls einwandfrei (sowohl in JPG als auch in PDF), aber die Sache wird schwierig, wenn ich versuche, meine Karte im endgültigen Format zu exportieren, fast eine A0.

Meistens erscheinen einige der Kacheln des WMS nicht im resultierenden PDF oder JPG (siehe Abbildung unten). Allerdings habe ich vor einer Woche eine große exportiert. Tatsächlich ist die Karte, die ich jetzt nicht exportieren kann, genau die gleiche, die ich zuvor gedruckt habe, nachdem ich einen der Layer abgefragt habe.

So sieht das resultierende PDF aus

Ich habe mehrere "Workarounds" ausprobiert:
* Drucken auf einem PDF-Drucker, anstatt ihn zu exportieren. Gleiches Ergebnis.
* Löschen Sie die WMS-Ebene und definieren Sie sie erneut von Grund auf neu. * Haben Sie die Karte aus der Komposition gelöscht und erneut definiert. Keine Änderung.
* Habe es endlich mit einem neuen Projekt versucht und eine Karte ähnlicher Größe definiert ... und das Problem ist immer noch da.
* Ich habe versucht, zu deinstallieren und neu zu installieren. Alles scheint gleich zu sein (auch die Plugins sind noch da).
* Ich habe versucht, es in ein Windows QGIS zu exportieren (sowohl in eine Windows-Partition als auch in eine virtuelle Windows-Maschine). Der erste Versuch mit Windows hat gut funktioniert, aber jetzt habe ich das gleiche Problem wie in Ubuntu.

Ein paar Ideen:
* Könnte es ein Problem mit der Verbindung zum WMS-Server sein? Das WMS-Rendering funktioniert jedoch ordnungsgemäß.
* Könnte es sein, dass QGIS unser Gedächtnis ausführt? Wenn ich den Systemmonitor offen lasse, wird mir klar, dass QGIS nur 2 meiner 8 Kerne und nicht gleichzeitig verwenden würde und der verwendete Kern zu 100% ausgelastet ist. Ebenso geht der verwendete Speicher nie über 2 GB hinaus, aber ich habe 16 GB (und 3 GB in der Grafikkarte).

Hoffe, jemand kann mir einen Hinweis geben ... da ich mein gesamtes Projekt in QGIS habe und jetzt nicht mein endgültiges Ergebnis erzielen kann.

Bearbeiten
Ich habe auch versucht, die Kachelgröße zu begrenzen, aber das Problem blieb bestehen (allerdings mit kleineren leeren Kacheln).
Dann habe ich versucht, die Parameter timeout und max-retries zu verdoppeln, wie von vorgeschlagen. Es hat perfekt funktioniert ... zumindest zu dieser Zeit ... Einen Monat später hatte ich wieder das gleiche Problem. Diesmal mit einer kleinen Karte (DinA4-Größe, die vorherige war eine A0). Ich habe das Timeout auf 50000 ms und die maximalen Wiederholungsversuche auf 20 eingestellt !! Keine Änderungen.
Zwei zusätzliche Details können helfen, herauszufinden, woher das Problem kommt:
* Die leeren Kacheln sind immer gleich. Nicht von vor einem Monat bis jetzt, aber jedes Mal, wenn ich auf das Problem stoße, bleiben die leeren Kacheln während aller Versuche, die ich zur Überwindung des Problems mache, repariert. Das deutet nicht auf ein Problem mit der Internetverbindung hin, oder?
* Das Exportbild wird in wenigen Sekunden erstellt, nicht länger als 30, was auch darauf hindeutet, dass der Timeout-Parameter nicht beteiligt ist (oder nicht funktioniert).

Bearbeiten
Ich habe festgestellt, dass wenn dieses Problem auftritt, es dort bleibt, egal was ich tue, wobei immer die gleichen Kacheln fehlen. Wenn ich es jedoch ein paar Tage lang lasse, verschwindet es. Ich meine, sobald es passiert, wird es in ein paar Tagen in allen Versuchen wieder passieren. aber wenn ich es vergessen habe und es zwei Tage später versuche, funktioniert es wieder perfekt. Scheint, als ob es irgendeine Art oder Erinnerung hat ... Sobald die Kommunikation aus irgendeinem Grund fehlgeschlagen ist, wird sie sich ein paar Tage daran erinnern ...


Ich habe das gleiche Problem. Keine der Problemumgehungen hat bei mir funktioniert.
Chris

Mit dem gleichen Problem in Qgis 3.4.2 löst ein Neustart von Qgis das Problem vollständig.
user16032

Antworten:


7

Abgesehen von der Kachelgröße, wie von @Irssvt angegeben, können Sie auch einige Timeout- und Kachelwiederholungsparameter festlegen.

Das Standardzeitlimit pro Verbindung gilt Settings->Options->network->Timeoutfür Netzwerkanforderungen

Ein erneuter Versuch im Falle einer Zeitüberschreitung erfolgt Settings->Options->network->Max retryim Falle von Kachelanforderungsfehlern.

Ich habe die letzten Wiederholungsparameter in QGIS, finanziert von Regione Toscana, genau codiert, um Probleme zu lösen, die Sie aufgedeckt haben.


1
Die Begrenzung der Kachelgröße führte zu kleineren Lücken in meiner Karte (bei kleineren Kacheln), aber immer noch zu berüchtigten Lücken. Das Problem wurde jedoch durch Verdoppeln des Timeouts und der maximalen Wiederholungswerte behoben.
Asier

4

Manchmal kann dies bei langsamer Verbindung auftreten. Sie können versuchen, eine Kachelgröße für Ihre WMS-Ebene festzulegen. Ändern Sie die Kachelgröße (z. B. 256 x 256) im Dialogfeld "WMS-Verbindung", und Sie sehen, ob es für Sie funktioniert:

Geben Sie hier die Bildbeschreibung ein

Irgendwann hat es mir bei großen Kompositionen geholfen. Hoffe das hilft.


1

Ich konnte dies umgehen, indem ich die Cache-Größe unter erhöhte Settings > Options > Network > Cache Settings > Size.

Es scheint standardmäßig 0 zu sein und verwendet ungefähr 4 KB pro Export. Als ich die Cache-Größe auf 100 MB erhöhte, wurden 14 MB zum Speichern der WMS-Kacheln verwendet.

Alle Kacheln erscheinen jetzt konsistent in den Exporten.


0

Könnte auch RAM für QGIS verfügbar sein ... siehe Einstellungen für Netzwerk und Cache, erhöhen Sie auf so viel, wie Sie möchten. Es gibt auch einen Cache in den Einstellungen für Print Composer.

Ich würde QGIS empfehlen, sich die Zuweisung des Caches anzusehen und Adobe Photoshop-Beispiele für Bereinigung usw. zu sehen, die wirklich nützlich sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.