Jak mogę uniknąć niepełnych warstw WMS podczas eksportowania dużych map w QGIS 2.6?


10

Mam projekt QGIS 2.6 z około 20 warstwami wektorowymi i warstwą WMS (działającą na Ubuntu 14.04). Renderowanie WMS działa OK, chociaż jest trochę powolne, a eksportowanie map w formacie A4 działa również poprawnie (zarówno do formatu jpg, jak i pdf), ale problem staje się trudny, gdy próbuję wyeksportować moją mapę ostatecznego rozmiaru, prawie A0.

Przez większość czasu niektóre kafelki WMS nie pojawiają się w wynikowym pliku pdf lub jpg (patrz zdjęcie poniżej). Jednak eksportowałem duży tydzień temu. W rzeczywistości mapa, której nie mogę teraz wyeksportować, jest dokładnie taka sama, jak wcześniej wydrukowana po zapytaniu o jedną z warstw.

Tak wygląda wynikowy plik pdf

Wypróbowałem kilka „obejść”:
* Drukuj na drukarce pdf, zamiast eksportować. Ten sam wynik.
* Usuń warstwę WMS i zdefiniuj ją od nowa. * Usunąłem mapę ze składu i zdefiniowałem ją ponownie. Bez zmiany.
* W końcu próbowałem z nowym projektem i zdefiniowaniem mapy podobnej wielkości ... i problem nadal występuje.
* Próbowałem odinstalować i zainstalować ponownie. Wszystko wydaje się takie samo (nawet wtyczki nadal tam są).
* Próbowałem wyeksportować go w systemie Windows QGIS (zarówno na partycji Windows, jak i na maszynie wirtualnej Windows). Pierwsza próba z Windows działała OK, ale teraz mam ten sam problem, co w Ubuntu.

Kilka pomysłów:
* czy może to być problem z połączeniem z serwerem WMS? Renderowanie WMS działa jednak poprawnie.
* czy to może być QGIS uruchamia naszą pamięć? Jeśli zostawię monitor systemu otwarty, zdaję sobie sprawę, że QGIS użyłby tylko 2 z moich 8 rdzeni, a nie jednocześnie, a używany rdzeń osiąga 100% wykorzystania. Podobnie, używana pamięć nigdy nie wykracza poza 2 Gb, ale mam 16 Gb (i 3Gb na karcie graficznej).

Mam nadzieję, że ktoś może mi podpowiedzieć ... ponieważ mam cały mój projekt w QGIS, a teraz nie mogę uzyskać końcowego wyniku.

Edycja
Próbowałem również z ograniczeniem wielkości kafelków, ale problem nie został rozwiązany (jednak z mniejszymi pustymi kafelkami).
Następnie próbowałem podwoić parametry limitu czasu i maksymalnej liczby ponownych prób, zgodnie z sugestią. Działa idealnie ... przynajmniej w tym czasie ... Miesiąc później znów napotkałem ten sam problem. Tym razem z małą mapą (rozmiar DinA4, poprzednia była A0). Ustawiłem limit czasu na 50000 ms i maksymalną liczbę ponownych prób na 20 !! Bez zmian.
Dwa dodatkowe szczegóły mogą pomóc dowiedzieć się, skąd pochodzi problem:
* Puste kafelki są zawsze takie same. Nie od miesiąca temu, ale za każdym razem, gdy napotykam problem, puste kafelki pozostały naprawione podczas wszystkich prób, które podejmowałem, aby rozwiązać problem. To nie wskazuje na problem z połączeniem internetowym, prawda?
* Eksportowany obraz jest tworzony w ciągu kilku sekund, nie więcej niż 30, co sugeruje również, że parametr limitu czasu nie jest zaangażowany (lub nie działa).

Edytuj
Odkryłem, że gdy pojawia się ten problem, pozostaje tam bez względu na to, co robię, zawsze brakuje tych samych kafelków. Jeśli jednak pozwolę na to kilka dni, zniknie. Mam na myśli, że kiedy to się stanie, powtórzy się to we wszystkich próbach w ciągu kilku dni; ale jeśli zapomnę o tym i spróbuję dwa dni później, to znowu działa idealnie. Wygląda na to, że ma jakieś wspomnienia ... Gdy komunikacja z jakiegoś powodu nie powiedzie się, zapamięta ją przez kilka dni ...


Mam ten sam problem. Żadne z obejść nie działało dla mnie.
Chris

mając ten sam problem w Qgis 3.4.2, restart Qgis całkowicie go rozwiązuje.
user16032,

Odpowiedzi:


7

Innym niż rozmiar kafelka, jak zauważył @Irssvt, można również ustawić pewne parametry limitu czasu i ponownej próby kafelka.

Domyślny limit czasu dla każdego połączenia jest ustawiony na Settings->Options->network->Timeoutżądania sieciowe

Ponów próbę w przypadku przekroczenia limitu czasu Settings->Options->network->Max retryw przypadku błędów żądania kafelka.

Ostatnie parametry ponownej próby zakodowałem w QGIS, finansowanym przez Regione Toscana, właśnie po to, aby rozwiązać takie problemy, jakie ujawniłeś.


1
Ograniczenie rozmiaru kafelków skutkowało mniejszymi przerwami na mojej mapie (mniejszych kafelków), ale nadal notorycznymi lukami. Jednak podwojenie wartości limitu czasu i maksymalnej liczby ponownych prób rozwiązało problem.
Asier

4

Czasami może wystąpić powolne połączenie. Możesz spróbować ustawić rozmiar kafelka dla warstwy WMS. Zmień rozmiar kafelka (np. 256 x 256) w oknie dialogowym WMS Connecition, a zobaczysz, czy to działa:

wprowadź opis zdjęcia tutaj

Kiedyś pomogło mi to przy dużych kompozycjach. Mam nadzieję że to pomoże.


1

Byłem w stanie to obejść, zwiększając rozmiar pamięci podręcznej poniżej Settings > Options > Network > Cache Settings > Size.

Domyślnie wygląda na 0 i wykorzystuje około 4KB na eksport. Kiedy zwiększyłem rozmiar pamięci podręcznej do 100 MB, użyłem 14 MB do przechowywania kafelków WMS.

Wszystkie kafelki pojawiają się teraz konsekwentnie w eksporcie.


0

Może być także dostępna pamięć RAM dla QGIS ... poszukaj w Ustawieniach sieci i pamięci podręcznej, zwiększ do dowolnej liczby. Dostępna jest także pamięć podręczna w Ustawieniach programu Print Composer.

Sugerowałbym, aby QGIS sprawdził, w jaki sposób przydzielają pamięć podręczną, i zobaczył przykłady Adobe Cleanhop Purge itp., Które są naprawdę przydatne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.