Mapy W QGIS 3.4 Od Podstaw-Kartogram

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

bezpłatny rozdział z ebooka

MAPY W QGIS 3.4


OD PODSTAW

JAK STWORZYĆ KARTOGRAM


Z DANYCH STATYSTYCZNYCH GUS?

Alina Gerlée
Cieszę się,
że zainteresował Cię mój e-book.

Rozdział, który udostępniam bezpłatnie to tylko


fragment tego, co przygotowałam. Podręcznik to
ponad 100 stron treści i 155 ilustracji. Spis treści
e-booka zamieściłam poniżej.

Jestem biologiem i geografem, QGIS-a używam


od ponad 10 lat. Pomagam poznawać tajniki
tego programu studentom oraz osobom, które
potrzebują pomocy przy realizacji swoich
projektów. Mam nadzieję, że Tobie również
pomogę.

Pozdrawiam serdecznie!

Alina Gerlée
www.alinagerlee.pl
Spis treści:
1.WSTĘP

2. SZYBKIE WPROWADZENIE DO QGIS

2.1. INTERFACE PROGRAMU

2.1.1. PANELE

2.1.2. WYSZUKIWARKA

2.2. WTYCZKI

3. FORMATY DANYCH

3.1. MODELE ZAPISU DANYCH

3.2. ESRI SHAPEFILE (.SHP)

3.3. GEOPACKAGE (.GPKG)

4. UKŁADY WSPÓŁRZĘDNYCH

4.1. NAJCZĘŚCIEJ STOSOWANE UKŁADY

4.2. UKŁADY WSPÓŁRZĘDNYCH W QGIS

5. PRACA Z RÓŻNYMI TYPAMI DANYCH

5.1. GPS
yntałpzeb

5.2. DANE STATYSTYCZNE GUS I GRANICE


łaizdzor

ADMINISTRACYJNE

5.2.1. CHARAKTERYSTYKA DANYCH

5.2.2 ZŁĄCZENIA DANYCH

5.2.3 TWORZENIE KARTOGRAMU


5.3. INNE ŹRÓDŁA DANYCH

WEKTOROWYCH I RASTROWYCH

5.3.1. OSM

5.3.2. WMS/WMTS I WFS

5.3.3. NMT

5.3.4. URBAN ATLAS

6. STYLIZACJA WARSTW

6.1. WARSTWY RASTROWE

6.2. WARSTWY WEKTOROWE

6.3. ZARZĄDZANIE STYLAMI, DZIELENIE SIĘ

ZASOBAMI

7. ANALIZA DANYCH

7.1 SELEKCJA OBIEKTÓW

7.2. PRACA Z KALKULATOREM I TABELĄ

ATRYBUTÓW

7.3 STATYSTYKI

8. PRZYGOTOWANIE MAPY

8.1. PROSTY WYDRUK

8.2. ATLAS
Dane z granicami jednostek administracyjnych można pobrać ze strony GUGiK. Są
to dane bezpłatne, w układzie PUWG 1992. Korzystając z nich należy zwrócić uwagę na to,
że po wczytaniu warstwy z granicami administracyjnymi w tabeli atrybutów
najprawdopodobniej pojawią się „krzaczki” zamiast polskich znaków. Dzieje się tak dlatego,
że warstwy te są zakodowane w systemie UTF-8, który nie jest domyślnym systemem znaków
dla Windowsów. Aby w tabeli atrybutów pojawiły się polskie znaki, należy we właściwościach
warstwy (zakładka Źródło) zmienić kodowanie z domyślnego dla systemu operacyjnego
(System) na UTF-8 (ryc. 29).

Dane statystyczne można pobrać z Banku Danych Lokalnych prowadzonego przez


GUS (https://bdl.stat.gov.pl/). Dane GUS zbierane są na różnych poziomach szczegółowości.
Przykładowo: dane o szkołach ogólnokształcących są udostępniane dla poziomu gminy (oraz
jednostek wyższego rzędu), zaś informacje o stopniu wykorzystania hoteli według kategorii –
na poziomie regionu NUTS 2, czyli województw (od 2018 roku województwo mazowieckie
podzielone jest na dwa regiony NUTS 2: warszawski stołeczny oraz mazowiecki regionalny;
ryc. 30). Podczas pobierania danych można wybrać, dla których jednostek terytorialnych
chcemy pozyskać dane.
Złączenia danych polegają na powiązaniu odpowiednich wierszy dwóch tabel
na podstawie unikalnego klucza (kodu), który znajduje się w obu łączonych tabelach (w
naszym przypadku będą to wiersze tabeli atrybutów warstwy z granicami administracyjnymi
oraz wiersze arkusza kalkulacyjnego – pliku .xls). W przypadku warstw z granicami
administracyjnymi oraz danych GUS takim kodem jest TERYT, czyli kod jednostki
administracyjnej, który znajduje się w obu tych tabelach. W przypadku warstw z granicami
jednostek kod ten znajdziemy w kolumnie o nazwie JPT_KOD_JE, z kolei w danych GUS jest
to kolumna o nazwie Kod.

Jeśli spojrzymy na kody TERYT w danych GUS, to okaże się, że tylko w przypadku
gmin są one identyczne z tymi zawartymi w tabeli atrybutów warstw pobranych z GUGiK.
W przypadku powiatów i województw ciąg znaków jest dłuższy – poza właściwym kodem
znajdują się tam dodatkowe zera. Należy pamiętać zatem o odpowiedniej modyfikacji tego
kodu w przypadku dokonywania złączeń na poziomie innym niż gmina.

ZADANIE

1. Pobierz ze strony GUGiK dane z jednostkami administracyjnymi w formacie


Shapefile. Rozpakuj plik jednostki_administracyjne.zip do nowego folderu, a następnie
wczytaj do QGIS warstwę Powiaty. Możesz to zrobić, przeciągając plik do głównego okna
mapy lub do panelu warstw3.

2. Otwórz tabelę atrybutów warstwy (znajdziesz ją w menu, po kliknięciu prawym


klawiszem myszy w nazwę warstwy oraz wśród ikon na pasku narzędzi – ryc. 31). Sprawdź
w tabeli, czy polskie znaki w nazwach powiatów wyświetlają się prawidłowo. Jeśli nie – zmień
kodowanie warstwy na UTF-8 (jeśli nie pamiętasz, jak to zrobić, zajrzyj na początek tego
rozdziału).

3. Pobierz ze strony GUS dane o gęstości zaludnienia w formie pliku .xls (znajdziesz
je w dziale Ludność → Stan ludności → Gęstość zaludnienia oraz wskaźniki; ryc. 32).
Następnie wybierz wskaźnik Ludność na 1 km2.

4. W kolejnym kroku zaznacz wszystkie powiaty, a następnie za pomocą strzałki


przenieś je do okna Wybrane (dane są dostępne dla wszystkich poziomów jednostek
terytorialnych, wybierz tylko powiaty – ryc. 33). Kliknij w Dalej.

5. Dane można pobrać w różnych formatach, jednak najłatwiej przystosować


do wczytania do QGIS dane w formie tablicy wielowymiarowej (ryc. 34). Wybierz zatem ten
format i wyeksportuj dane do pliku.

3Pamiętaj, że warstwa w formacie ESRI Shapefile składa się z kilku plików (por. rozdział 3. Formaty danych). Aby
warstwa się wczytała, należy przeciągnąć plik o rozszerzeniu SHP, SHX lub DBF.
Otwórz pobrany plik .xls w arkuszu kalkulacyjnym (np. za pomocą programu
Microsoft Excel lub OpenOffice Calc). Aby można go było prawidłowo wczytać do QGIS,
należy najpierw sprowadzić nagłówki tabeli do jednego wiersza (ryc. 35). Pamiętaj, aby nie
tworzyć zbyt długich nagłówków kolumn – jeśli potem chcesz je na stałe złączyć z plikiem
Shapefile (dodać do tabeli atrybutów), nie powinny mieć więcej niż osiem znaków (por.
rozdział 3. Formaty danych). Zapisz wprowadzone zmiany.

7. Tak przygotowany plik można już wczytać do QGIS. Wystarczy przeciągnąć go


do głównego okna mapy (lub panelu warstw). Program zapyta, który arkusz chcemy wczytać –
należy wybrać ten, w którym są dane, czyli TABLICA (ryc. 36).

Zwróć uwagę, że wczytane dane mają inną ikonkę niż warstwa


Powiaty – wskazuje ona, iż są to dane tabelaryczne, bez odniesień przestrzennych.

8. Aby złączyć dane o zagęszczeniu ludności z warstwą zawierającą granice


powiatów, należy w pierwszej kolejności dostosować format kodu-klucza TERYT, który
w danych z GUS zawiera dodatkowe zera (czyli np. powiat bolesławiecki jest oznaczony
kodem 0201000 zamiast 0201). W tym celu utworzymy w tabeli atrybutów dodatkową
kolumnę z poprawnym kodem.

Zaznacz tabelę z ludnością (ludnosc TABLICA) jako aktywną warstwę – kliknij w jej
nazwę w panelu warstw.
Otwórz kalkulator pól (znajdziesz go na pasku narzędzi oraz na pasku tabeli
atrybutów warstwy – ryc. 37). Stwórz nowe pole wirtualne typu tekstowego o nazwie teryt.
Tworzymy pole wirtualne, gdyż QGIS nie ma możliwości edycji plików .xls i dodania do pliku
„prawdziwego” pola (kolumny) z danymi. Jako typ pola wyjściowego ustaw tekst (string).
Dzięki temu nie znikną znaczące zera na początku ciągu znaków. W przypadku ustawienia
pola numerycznego program automatycznie je usunie.

Aby wpisać w tworzone pole cztery pierwsze cyfry z pola Kod, użyjemy funkcji
substr(), którą znajdziesz wśród funkcji tekstowych (można też użyć okienka filtra, aby ją
odnaleźć). Jest to funkcja, która zwraca określony przez użytkownika fragment ciągu znaków.
Zwróć uwagę, że po prawej stronie okna kalkulatora wyświetli się opis funkcji (i jej składni)
wraz z przykładami. Kliknij dwukrotnie w nazwę funkcji – pojawi się ona w oknie, w którym
tworzymy wyrażenie.

W nawiasie należy umieścić trzy wartości (argumenty funkcji) – pierwsza to


kolumna, z której pobieramy dane (ciąg znaków), czyli kolumna Kod. Można wpisać ją
ręcznie (pamiętając o podwójnym cudzysłowie4) lub odnaleźć nazwę kolumny w sekcji Pola
i wartości, a następnie kliknąć w nią dwukrotnie (ryc. 38).

Druga wartość po przecinku to pozycja pierwszego znaku ciągu, który ma być


zwrócony, a kolejna – to długość tego ciągu. W naszym przypadku (dla powiatów)
interesujący nas ciąg znaków to cztery pierwsze cyfry z kolumny Kod. Zatem wyrażenie
powinno wyglądać następująco: substr( "Kod", 1, 4 ); (ryc. 39).

4 Nazwy kolumn oznaczone są podwójnym cudzysłowem, a wartości w kolumnach, które są ciągami znaków –
cudzysłowem pojedynczym (wartości liczbowych nie oznaczamy cudzysłowem).
Prawidłowość składni możesz zweryfikować dzięki podglądowi wyniku, który
znajduje się pod polem edycji wyrażenia (jest to przykładowy wynik). W przypadku
nieprawidłowej składni znajdzie się tam informacja o błędzie. Porównaj, czy opcje w oknie
kalkulatora wyglądają jak na ryc. 39. Jeśli tak – kliknij w OK, aby stworzyć nową kolumnę
wirtualną. Zajrzyj do tabeli atrybutów i sprawdź, czy została utworzona.

Pole wirtualne5 nie jest zapisywane w warstwie źródłowej, tylko w pliku projektu.
Dlatego teraz warto zapisać nasz projekt. W projekcie zapisują się mi. in.: układ warstw, style
wyświetlania, wirtualne warstwy i pola. Aby zapisać projekt wejdź w menu Projekt i znajdź
opcję Zapisz projekt jako… lub poszukaj odpowiedniej ikony na pasku narzędzi projektu
(ryc. 40). Zapisz projekt pod nazwą ludnosc.qgz.

9. Mamy już wszystko przygotowane, możemy zatem wykonać złączenie danych.


Otwórz okno Właściwości warstwy Powiaty (możesz to zrobić klikając dwukrotnie w nazwę
warstwy lub wybierając je z menu kontekstowego warstwy pod prawym klawiszem myszy).
Przejdź do zakładki Złączenia. na dole karty zakładki znajdziesz przyciski (+) i (-) służące
do dodawania i usuwania złączeń oraz ikonkę ołówka do edycji złączeń. Kliknij (+), aby dodać

5 Pole to jest wyliczane w locie, na podstawie wyrażenia, dlatego zarówno w naszym przypadku jak
i w edytowalnych formatach (np. SHP) nie ma możliwości edycji poszczególnych komórek pola wirtualnego.
Nie trzeba za to przeliczać go po zmianie źródłowych danych, gdyż wartości są wyliczane „na bieżąco”.
nowe złączenie danych, a następnie wskaż dane do dołączenia i pola zawierające klucze
(wirtualne pole teryt w warstwie z danymi GUS oraz pole JPT_KOD_JE w warstwie Shapefile
z granicami powiatów).

10. Poniżej wybierz do przyłączenia tylko kolumny z danymi z poszczególnych lat


oraz wpisz przedrostek nazwy pola (powinien być on krótki – pamiętaj o ograniczeniu liczby
znaków w nagłówkach, można też skasować domyślny przedrostek i zostawić pole puste);
(ryc. 42). Zatwierdź, klikając w OK. Zajrzyj do tabeli atrybutów warstwy Powiaty i sprawdź,
czy dane o zagęszczeniu ludności w kolejnych latach zostały dodane.
Złączenia danych zapisywane są w pliku projektu. Jeśli chcemy zapisać na stałe
złączone dane (dodać je do tabeli atrybutów), musimy zapisać plik jako nową warstwę
(prawym klawiszem klikamy na warstwę, następnie wybieramy opcję Eksportuj → Zapisz
warstwę jako...).

Pobrane dane GUS o gęstości zaludnienia, po złączeniu z warstwą granic powiatów,


możemy przedstawić w formie kartogramu prostego. na początku wyświetlimy dane
z wybranego roku, używając symbolu stopniowego.

Aby to zrobić, otwórz okno właściwości warstwy Powiaty i przejdź do zakładki Styl.
z rozwijanej listy na samej górze okna wybierz Symbol stopniowy, poniżej wskaż kolumnę
z danymi, które chcesz wyświetlić (ja wybrałam zagęszczenie ludności w roku 2013). Kliknij
w przycisk Klasyfikuj, aby wyświetlić klasy. Możesz zmieniać ich liczbę (po prawej pod oknem
z klasami) oraz przedziały (ręcznie lub automatycznie – z rozwijanej listy Tryb, po lewej
stronie pod oknem z klasami); (ryc. 43).

Dobierz odpowiednie klasy i skalę barwną (paletę kolorów). Zwróć uwagę, aby
przedziały były dobrane w sposób umożliwiający wyświetlenie wszystkich klas
kolorystycznych. W przypadku danych o zagęszczeniu ludności w powiatach dobrze sprawdza
się tryb Kwantyle (równa liczba). Tworzy on automatycznie równoliczne klasy.

Reguły kartograficzne mówią, że legenda kartogramu powinna mieć na górze


wartości najwyższe, na dole zaś najniższe. Częstym błędem jest odwrotna kolejność, która
wynika nie tylko z niewiedzy na ten temat, lecz także z domyślnych ustawień programu
(widocznych w oknie powyżej). Aby odwrócić kolejność tych wartości, należy kliknąć
na nagłówek Wartości w oknie klas stylu – możemy w ten sposób sortować wartości
w kolejności od najwyższej do najniższej (ryc. 44).
Zwróć uwagę, że QGIS automatycznie tworzy przedziały wyświetlając „wartość
wspólną”, czyli np. 19-51, 51-70. To, do którego przedziału wpadnie obiekt z wartością
atrybutu równą 51, zależy od sortowania (kolejności) klas. Zawsze włączany jest on do tego
„wyżej położonego”. Przykładowo – w naszym przypadku oznacza to, że jeśli klasy są
posortowane w kolejności od najniższych wartości (na górze) do najwyższych (na dole), to
gminy z gęstością zaludnienia wynoszącą 51 os./km2 znajdą się w przedziale 19-51. Gdy zaś
posortujemy klasy odwrotnie (wyższe wartości na górze legendy), to te same gminy znajdą się
w przedziale 51-70. Zmodyfikuj zatem ręcznie wartości przedziałów w legendzie tak, aby nie
„zachodziły na siebie”. Możesz to zrobić klikając dwukrotnie na wartości w oknie stylu
(ryc. 44). Efekt można zobaczyć na ryc. 45. Zwróć uwagę, że zmieniając wartości graniczne
przedziałów oraz legendy możesz bezpiecznie wpisać liczby całkowite (gdyż nasze dane
wyrażone są przez liczby całkowite). Jeśli dane miałyby większą dokładność pamiętaj, aby
dobrać granice przedziałów tak, żeby obiekty nie mogły znaleźć się pomiędzy klasami.
Zauważ, że dokładność wyświetlania liczb w legendzie możesz zmieniać niezależnie od
wartości granicznych przedziałów (opcja Dokładność w ustawieniach Format legendy;
ryc. 43).
To, co udało się nam uzyskać, nie jest jednak jeszcze gotową mapą. Należy do niej
dodać przynajmniej podziałkę i legendę. Więcej o tworzeniu map przeczytasz w rozdziale
. Tymczasem, w ramach rozgrzewki, zrobimy najprostszą mapę.

Do tworzenia kompozycji map w QGIS służy osobne okno – okno układu wydruku.
Aby je otworzyć, w menu Projekt wybierz Nowy wydruk... (ryc. 46).
Pojawi się „czysta kartka”, na której możemy układać poszczególne elementy mapy,
wybierając je z paska po lewej stronie. do naszej mapy (oprócz samego kartogramu) dodamy
podziałkę, legendę oraz tytuł. Domyślny układ wydruku to format A4 (można go oczywiście
dowolnie zmieniać). Po umieszczeniu wszystkich elementów na mapie można również
jednym kliknięciem dopasować obszar wydruku do zawartości. Opcja ta jest dostępna
w zakładce Układ wydruku widocznej na ryc. 47.
Do wydruku mapy dodałam takie elementy, jak:

Mapa – w opcjach mapy można m.in. ręcznie wpisać skalę, co czasem ułatwia
dopasowanie jej zawartości do wielkości wydruku (ryc. 48). Widok okna mapy można
również przesuwać/przybliżać/oddalać za pomocą narzędzia Przesuń zawartość obiektu,
które znajduje się pod ikonką przedstawiającą cztery strzałki na „kartce” (czwarta od góry
na pionowym pasku z lewej strony, widoczna na ryc. 48).

Etykieta – oznacza w tym przypadku po prostu pole tekstowe, w którym można


umieścić tytuł mapy albo dowolny inny tekst (ryc. 49). Mamy tu możliwość używania
znaczników HTML.

Legenda – aby ręcznie dodawać bądź usuwać poszczególne elementy legendy,


należy odznaczyć opcję Aktualizuj automatycznie (ryc. 50). Możemy też edytować opisy
grupy elementów lub opisy sygnatur, a także określić znak, który użyty w opisie będzie
przenosił do nowego wiersza.

Podziałka – w przypadku gdy mapa nie jest przeznaczona do druku na papierze


w ściśle określonym formacie, tylko jest „obrazkiem”, który można dowolnie skalować, należy
stosować podziałkę liniową (ryc. 51). Zapisanie skali w formie liczbowej (np. 1: 10000)
prowadzi do przekłamań.
Więcej informacji na temat tworzenia wydruków oraz parametrów poszczególnych
jego elementów znajdziesz w rozdziale 8.1. Prosty wydruk.

Pozostaje nam już tylko wyeksportowanie stworzonej mapy do pliku. Opcje eksportu
znajdują się w menu Układ wydruku. Możemy wyeksportować mapę do trzech formatów,
w tym do obrazu w formacie PNG (ryc. 52). W kolejnym kroku określamy zasięg eksportu,
rozdzielczość i inne parametry. Efektem pracy jest kartogram znajdujący się na ryc. 53.

You might also like