Instrukcja – jak stworzyć atlas zamiast wydruku mapy QGIS? 5


Atlas jest bardzo przydatną funkcją, którą znajdziemy w kreatorze wydruków QGIS. Umożliwia stworzenie zestawu map z jednego szablonu, bez konieczności tworzenia wielu wydruków. Jest to szczególnie przydatne, gdy potrzebujemy przedstawić jakiś obszar „w częściach” lub też różne, oddalone od siebie tereny. Podstawą dla stworzenia atlasu jest warstwa wektorowa (Warstwa opracowania), która zawiera obiekty definiujące obszary, jakie mają znaleźć się na poszczególnych kartach atlasu.

Do poniższego przykładu wykorzystałam dane o lasach, dostępne na stronie: Bank Danych o Lasach (administrowanej przez Dyrekcję Generalną Lasów Państwowych), a efekt końcowy wygląda tak:

Ale po kolei…

Włączenie opcji tworzenia atlasu

Najpierw, po wczytaniu i stylizacji warstw, stworzyłam nowy wydruk, do którego dodałam mapę.

Okno wydruku mapy w QGIS

Niezbędne czynności aby stworzyć atlas:

  • w zakładce Atlas zaznaczyłam opcję Generuj atlas oraz wskazałam warstwę opracowania, czyli warstwę, w której znajdują się obiekty określające zasięg mapy na kolejnych kartach atlasu.
  • W zakładce właściwości mapy zaznaczyłam, że będzie ona kontrolowana przez atlas.

Jak ustawić warstwę opracowania w atlasie QGIS  Jak ustawić opcje atlasu QGIS - kontrola przez atlas

Jako warstwę opracowania wybrałam tę z nadleśnictwami. Każde z nich jest osobnym obiektem (poligonem), zatem w centrum kolejnych kart atlasu będą się znajdowały kolejne nadleśnictwa. Opcje dotyczące kadrowania znajdziemy we właściwościach mapy. Możemy ustawić określony margines wokół każdego z obiektów (jedną wartość dla wszystkich lub inną dla każdego z obiektów – opartą na wartościach wpisanych do tabeli atrybutów ) lub stałą bądź zdefiniowaną skalę.

Podgląd atlasu

Aby podejrzeć, jak będą wyglądały kolejne karty, należy włączyć podgląd atlasu (w menu Atlas lub na pasku). Za pomocą strzałek można teraz przejrzeć kolejne karty:

Jak włączyć podgląd atlasu w QGIS

 

Aby uzyskać efekt końcowy, wykorzystałam następujące opcje QGIS:

Wyświetlenie tylko tego poligonu, który jest przedstawiany na danej karcie z atlasu

Aby to zrobić, dla warstwy wektorowej nadlesnictwa.shp zastosowałam styl oparty na regułach i jako regułę wyświetlania warstwy użyłam wyrażenia :

$id = $atlasfeatureid

Jak wyświetlić tylko główny poligon w atlasie QGIS

Dodatkowo, aby uzyskać efekt wybielenia obszaru wokół danego poligonu zduplikowałam warstwę z nadleśnictwami i ustawiłam białe, półprzezroczyste dopełnienie poligonów z zastosowaniem tej samej reguły, co wcześniej. Dzięki temu dopełnienie wyświetlane jest dla poligonu przedstawianego na danej karcie atlasu.

Jak wyświetlić tylko główny poligon w atlasie QGIS - dopełnienie poligonów

Podziałka i strzałka północy

Do mapy dodałam strzałkę północy z biblioteki symboli QGIS. Należy w tym celu dodać nowy obraz do wydruku, a następnie, we właściwościach obiektu, w sekcji Szukaj w katalogach, wskazać wybrany obraz svg. Aby mieć z czego wybierać, pobrałam wcześniej różne zestawy symboli, m.in. za pomocą wtyczki Resource sharing (możecie o tym przeczytać we wpisie: Zestawy symboli QGIS – skąd je wziąć?).

Jak dodać strzałkę północy na mapie

Następnie do mapy dodałam podziałkę. W przypadku atlasu mamy opcję dopasowania szerokości segmentu podziałki. QGIS sam dobiera jednostki w zależności od wielkości obiektu, określamy tylko zakres wielkości segmentu w milimetrach. Jest to bardzo przydatna funkcja, bo dzięki temu podziałki na kolejnych kartach atlasu mają podobną wielkość, choć skala map może być bardzo różna.

Jak dopasować podziałkę w atlasie QGIS

Automatyczny podpis na karcie atlasu i legenda

Aby na każdej z kart znalazła się nazwa prezentowanego na niej nadleśnictwa, wykorzystałam wyrażenie, które tworzy ciąg tekstu „sklejając” różne elementy. W tym przypadku złączyłam ciąg tekstu (Nadleśnictwo) z wartością pobraną z tabeli atrybutów warstwy, znajdującą się w kolumnie o nazwie „ins_name”. Wyrażenie to wygląda następująco:

concat('Nadleśnictwo ', "ins_name")

…a jego efekt widać poniżej:

Jak zrobić automatyczne podpisy w atlasie QGIS - funkcja concat

Mapa podglądu – lokalizacja prezentowanego obiektu

Ostatnim elementem, jaki dodałam, jest mapa podglądu, która pokazuje lokalizację mapy na wybranym obszarze (ja wyświetliłam granice Polski, ale równie dobrze może być to mniejszy obszar). Dodałam do wydruku nową mapę, a następnie w jej właściwościach dodałam (za pomocą plusa) nową mapę podglądu. Mapa podglądu wyświetla za pomocą prostokąta (którego styl możemy edytować) zasięg wskazanej mapy. Do legendy dodałam też symbol granicy państwa.

Jak zrobić mapę podglądu w QGIS

Eksport (drukowanie) atlasu

Atlas mamy już gotowy, Teraz wystarczy wyeksportować hurtowo wszystkie karty (będzie ich tyle, ile poligonów w warstwie opracowania). Możemy je zapisać jako obrazy, pliki svg lub pdf, albo od razu wydrukować. Opcje eksportu znajdziemy w menu Atlas. Jeśli użyjemy opcji eksportu z menu Wydruk, to otrzymamy wydruk tylko jednej, bieżącej karty z atlasu.


Jeśli ten wpis był dla Ciebie interesujący - pokaż go proszę komuś, kogo może zaciekawić, udostępnij w mediach społecznościowych:

  • Maciej Gembicki

    Na wstępie gratuluje wykonania poradnika, bardzo przejrzysty i dokładny. Mam tylko jedno pytanie. Czy wiesz jak sprawić , żeby poligon dopełniający przykrył tez etykiety?Jest na to jakiś sposób?

    • Alina Gerlée

      Dzięki! 🙂
      Jeśli chodzi o etykiety, to niestety nie ma obecnie możliwości umieszczenia ich pod jakąkolwiek warstwą. Można to zrobić jedynie eksportując mapę do formatu svg, a następnie zmieniając kolejność obiektów np. w programie Inkscape. Innym rozwiązaniem jest wyświetlanie tylko tych etykiet, które znajdują się w obrębie głównego poligonu atlasu. Można to zrobić za pomocą wyrażenia warunkowego, które wpisujemy w pole „Etykietuj z”, znajdujące się we właściwościach etykietowanej warstwy:
      CASE WHEN within($geometry, @atlas_geometry) THEN „kolumna-z-etykietą” END
      Zamiast ‚within’ można użyć też np. ‚intersects’.

    • Maciej Gembicki

      dzięki za odpowiedź metoda na pewno się przyda. Czy planujesz może zrobić poradnik z zastosowaniem wyrażeń w stylizacji warstw?

    • Alina Gerlée

      Ach, czego ja nie planuję! 😀
      A tak serio, to na pewno coś się pojawi na ten temat, ale nie wiem jeszcze kiedy 🙂

  • Rafał Kroker

    Bardzo fajna instrukcja, dziękuję :). Natrafiłem na mały problem z warstwą wybielającą obszar wokół danego polygonu – nie umiem nią wybielić etykiet. Da się tak w ogóle zrobić, żeby etykiety znalazły się pod polygonem?