Comment éviter les couches WMS incomplètes lors de l'exportation de grandes cartes dans QGIS 2.6?


10

J'ai un projet QGIS 2.6 avec environ 20 couches vectorielles et une couche WMS (travaillant sur Ubuntu 14.04). Le rendu WMS fonctionne bien, bien qu'un peu lent, et l'exportation de cartes au format A4 fonctionne également correctement (à la fois en jpg et pdf), mais la chose devient délicate lorsque j'essaie d'exporter ma carte de taille finale, presque un A0.

La plupart du temps, certaines tuiles du WMS n'apparaissent pas dans le pdf ou le jpg résultant (voir l'image ci-dessous). Cependant, j'en ai exporté une grande il y a une semaine. En fait, la carte que je ne peux pas exporter maintenant est exactement la même que celle que j'ai imprimée auparavant, après avoir interrogé l'une des couches.

Voici à quoi ressemble le pdf résultant

J'ai essayé plusieurs "solutions":
* Imprimer sur une imprimante pdf, au lieu de l'exporter. Même résultat.
* Effacez la couche WMS et redéfinissez-la à partir de zéro. * Ont supprimé la carte de la composition et l'ont redéfinie. Pas de changement.
* J'ai finalement essayé avec un nouveau projet et défini une carte de taille similaire ... et le problème est toujours là.
* J'ai essayé de désinstaller et de réinstaller. Tout semble le même (même les plugins sont toujours là).
* J'ai essayé de l'exporter dans un QGIS Windows (à la fois dans une partition Windows et dans une machine virtuelle Windows). Le premier essai avec Windows a bien fonctionné, mais maintenant je suis confronté au même problème que dans Ubuntu.

Quelques idées:
* pourrait-il s'agir d'un problème de connexion avec le serveur WMS? Cependant, le rendu WMS fonctionne correctement.
* Serait-ce que QGIS gère notre mémoire? Si je laisse le moniteur système ouvert, je me rends compte que QGIS n'utiliserait que 2 de mes 8 cœurs, et pas simultanément, et le cœur qui est utilisé arrive à 100% d'utilisation. De même, la mémoire utilisée ne dépasse jamais 2 Go, mais j'ai 16 Go (et 3 Go dans la carte graphique).

J'espère que quelqu'un pourra me donner un indice ... car j'ai tout mon projet dans QGIS et maintenant je ne peux pas obtenir mon résultat final.

Modifier
J'ai également essayé de limiter la taille des carreaux, mais le problème persistait (avec des carreaux vierges plus petits, cependant).
Ensuite, j'ai essayé de doubler les paramètres de timeout et de max-retries, comme suggéré par. Cela a fonctionné parfaitement ... au moins à ce moment-là ... Un mois plus tard, j'ai de nouveau rencontré le même problème. Cette fois avec une petite carte (taille DinA4, la précédente était un A0). J'ai défini le délai d'expiration à 50000 ms et le nombre maximal de tentatives à 20 !! Aucun changement.
Deux détails supplémentaires pourraient aider à comprendre d'où vient le problème:
* Les tuiles vierges sont toujours les mêmes. Pas il y a un mois à maintenant, mais chaque fois que je fais face au problème, les tuiles vierges resteraient fixes pendant tous les essais que je fais pour surmonter le problème. Cela ne pointe pas vers un problème avec la connexion Internet, n'est-ce pas?
* L'image d'exportation est créée en quelques secondes, pas plus de 30, ce qui suggère également que le paramètre de délai d'attente n'est pas impliqué (ou ne fonctionne pas).

Modifier
J'ai trouvé que lorsque ce problème se pose, il reste là, quoi que je fasse, avec toujours les mêmes tuiles manquantes. Cependant, si je le laisse passer quelques jours, il disparaît. Je veux dire, une fois que cela se produira, cela se reproduira dans tous les procès pendant quelques jours; mais si je l'ai oublié et que j'essaie deux jours plus tard, cela fonctionne à nouveau parfaitement. On dirait qu'il a une sorte de mémoire ... Une fois que la communication a échoué pour une raison quelconque, il s'en souviendra pendant quelques jours ...


J'ai ce même problème. Aucune des solutions de contournement n'a fonctionné pour moi.
Chris

ayant le même problème dans Qgis 3.4.2, redémarrer Qgis le résout complètement jusqu'à présent.
user16032

Réponses:


7

Outre la taille des tuiles, comme indiqué par @Irssvt, vous pouvez également définir des paramètres de délai d'attente et de nouvelle tentative de tuile.

Délai d'expiration par défaut par connexion Settings->Options->network->Timeoutpour les requêtes réseau

Réessayer en cas d'expiration est Settings->Options->network->Max retryen cas d'erreurs de demande de tuile.

J'ai codé les derniers paramètres de nouvelle tentative dans QGIS, financé par Regione Toscana, exactement pour résoudre des problèmes comme celui que vous avez exposé.


1
La limitation de la taille des tuiles a entraîné des écarts plus petits dans ma carte (ceux des petites tuiles), mais des écarts notoires. Cependant, doubler les valeurs de délai d'attente et de nouvelle tentative a résolu le problème.
Asier

4

Parfois, cela peut se produire avec une connexion lente. Vous pouvez essayer de définir une taille de tuile pour votre couche WMS. Modifiez la taille des tuiles (par exemple 256x256) dans la boîte de dialogue de connexion WMS et vous voyez si cela fonctionne pour vous:

entrez la description de l'image ici

Parfois, cela m'a aidé pour de grandes compositions. J'espère que cela t'aides.


1

J'ai pu contourner cela en augmentant la taille du cache sous Settings > Options > Network > Cache Settings > Size.

Il semble par défaut à 0 et utilise environ 4 Ko par exportation. Lorsque j'ai augmenté la taille du cache à 100 Mo, il a utilisé 14 Mo pour stocker les tuiles WMS.

Toutes les tuiles apparaissent désormais de manière cohérente dans les exportations.


0

Il pourrait également y avoir de la RAM disponible pour QGIS ... regardez dans Paramètres pour le réseau et le cache, augmentez autant que vous le souhaitez. Il existe également un cache dans les paramètres de Print Composer.

Suggère que QGIS regarde comment ils allouent le cache et voit des exemples d'Adobe Photoshop de Purge, etc., qui sont vraiment utiles.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.