Integracja danych z różnych źródeł: Analiza zmian pokrycia terenu
1 Cel ćwiczenia
Celem ćwiczenia jest przeanalizowanie zmian w pokryciu terenu między dwoma latami.
2 Zadanie
Przeanalizuj zmiany w pokryciu terenu między latami 1990 a 2018.
- Jaką powierzchnię zajmowały obszary dla których nie zmieniło się pokrycie/użytkowanie terenu?
- Jaką procent powierzchni zajmowały obszary dla których zmieniło się pokrycie/użytkowanie terenu?
- Jaki typ zmian zajmował największą powierzchnię?
Ile osób zamieszkuje obszar w granicach powiatu poznańskiego oraz miasta Poznań, który zmienił typ pokrycia terenu z gruntów ornych na obszary zurbanizowane?
2.1 Raport końcowy
Wyniki rozwiązania zadania proszę przedstawić w formie pisemego raportu zawierającego:
- dane
- etapy analizy wraz ze schematem graficznym rozwiązania zadania.
- rozwiązanie zadania wraz z wynikowymi mapami oraz odpowiedziami na podstawione w zadaniu pytania.
- opis wyników.
Raport ma także zawierać
- kompozycję mapy składającą się z:
- map wejściowych (clc1990_rcl, clc2018_rcl),
- map wynikowych (mapa zmian pokrycia terenu między 1990-2018).
- kompozycję mapy składająca się z mapy rozmieszczenia ludności dla powiatu poznańskiego oraz powiatu Poznań wraz z nałożonymi w formie wektorowej granicami obszarów pokazujące kategorie zmian pokrycia terenu.
3 Dane
clc1990.tif, clc2018.tif - dane o pokryciu terenu o rozdzielczości 100m, EPSG: 3035.
- Dane CLC posiadają 45 klas odpowiadających klasyfikacji na poziomie 3. Każdej komórce przypisano wartość od 1 do 44 (oraz 48 dla kodu braku danych), zamiast oryginalnych kodów używanych w klasyfikacji CLC na poziomie 3. Po wczytaniu stylizacji dla warstwy clc1990 oraz clc2018 z pliku clc_legend_qgis_raster.qml będzie można uzyskać informację dotyczącą oryginalnych kodów CLC.
world_pop.tif - dane rastrowe o rozmieszczeniu ludności pochodzące z projektu World Pop https://www.worldpop.org/; WGS 84 (EPSG:4326), rozdzielczość: 3 sekundy kątowe (co odpowiada 100m na równiku).
- Dane zostały pobrane ze strony: https://hub.worldpop.org/geodata/listing?id=78
- Więcej na temat zbioru danych: https://hub.worldpop.org/geodata/summary?id=49862
4 Kryteria i etapy analizy
Kryterium | Dane | Narzędzia |
---|---|---|
Przed przystąpieniem do rozwiązania zadania w QGIS proszę wypisać etapy analizy oraz narysować graficzny schemat rozwiązania zadania.
5 Przygotowanie danych rastrowych
W ćwiczeniu zostaną wykorzystane 3 warstwy rastrowe:
- clc1990.tif
- clc2018.tif
- pop2020.tif
Wszystkie te warstwy trzeba sprowadzić do tej samej rozdzielczości (100m), zasięgu (zasięg warstw clc) oraz układu odniesienia (EPSG:3035).
Zmiana układu odniesienia warstwy pop2020
Raster - Projection - Warp (reproject)
- Input layer: pop2020
- Source CRS: EPSG: 4326
- Target CRS: EPSG:3035
- Resampling method to use: Bilinear
- Output file resolution in target georeferenced units: 100
- Output data type: Use Input Layer Data Type
- Georeferenced extents of output file to be created: Calculate from layer - clc1990
- CRS of the target raster extent: EPSG:3035
- Reprojected: pop2020_3035_clc.tif
Zapoznaj się z informacjami o warstwie clc1990 oraz pop2020_3035_clc. Czy obie warstwy mają ten sam zasięg, rozmiar oraz rozdzielczość?
Wyświetl warstwy clc1990 oraz pop2020_3035_clc. Sprawdź czy komórki na obu warstwach pokrywają się?
6 Zmiany pokrycia terenu
6.1 Reklasyfikacja danych CLC
Dane CLC (clc1990 oraz clc2018) zawierają kody na poziomie klasyfikacji na poziomie 3. Na potrzeby analizy należy przeklasyfikować obie warstwy używając poziomu 1 na 5 klas:
- obszary zurbanizowane (1)
- obszary rolnicze (2)
- obszary leśne (3)
- obszary bagienne (4)
- wody (5)
Tabela reklasyfikacyjna
Min | Max | Nowa wartość |
---|---|---|
1 | 11 | 1 |
12 | 22 | 2 |
23 | 34 | 3 |
35 | 39 | 4 |
40 | 44 | 5 |
Reklasyfikacja w QGIS
Processing Toolbox - Raster analysis - Reclassify by table
Range boundaries: min <= value <= max
Output type: Byte
Proszę wykonać reklasyfikację warstw clc1990 oraz clc2018 oraz zapisać je odpowiednio jako clc1990_rcl oraz clc2018_rcl
7 Analiza zmian.
Dla każdej komórki możemy przypisać kategorię odpowiadającą kategorii w roku 1990 oraz kategorii w roku 2018:
- Warstwie z roku 1990 nadajemy klasy 10,20,30,40,50.
- Warstwie z roku 2018 nadajemy klasy 1,2,3,4,5.
- Następnie obie zreklasyfikowane warstwy dodajemy. W wynikowej warstwie każdej klasie przypisujemy kod dwucyfrowy. Pierwsza cyfra w zakresie (1-5) odpowiada klasie w roku 1990, a druga w 2018. Np. kategoria 21 oznacza obszary, które w 1990 roku były sklasyfikowane jako obszary rolnicze (2), a w 2018 jako obszary zurbanizowane (1).
W poprzednim kroku przeklasyfikowaliśmy warstwy do 5 klas, przypisując każdej komórce wartość od 1 - 5 (warstwy clc1990_rcl oraz clc2018_rcl). Używając kalkulatora rastrów możemy otrzymać warstwę wynikową poprzez podanie wyrażenia:
(“clc1990_rcl@1” * 10) + “clc2018_rcl@1”
Warstwę wynikową proszę zapisać jako clc1990_2018_raster_calc
8 Powierzchnia poszczególnych klas
Processing Toolbox - Raster analysis - Raster layer unique value reports
W wyniku tej operacji otrzymamy tabelę zawierającą informacje dla poszczególnych kategorii warstwy rastrowej:
- value - wartość przypisana do każdej komórki, oznaczająca kategorię
- count - liczba komórek w danej kategorii.
- m2 - powierzchnia danej kategorii w \(m^2\) (wynikowa warstwa jest w układzie EPSG:3035 dla którego jednostką są metry).
Aby obliczyć powierzchnię w \(km2\) należy użyć kalkulatora pól dostępnego z poziomu tabeli atrybutów. Nowe pole w tabeli change_table należy nazwać km2 (typ zmiennoprzecinkowy), a jako wyrażenie podać: m2 / 10\^6
co pozwoli przeliczyć wartości z \(m^2\) na \(km^2\).
Posortuj wartości w tabeli change_table wg pola km2. Jaki typ zmian zajmował największą powierzchnię?
Jaką powierzchnię zajmowały obszary dla których nie zmieniło się pokrycie/użytkowanie terenu?
- W tabeli atrybutów change_table zaznaczyć kategorie oznaczające brak zmiany (11, 22, 33, 44, 55)
- Obliczyć staststyki podstawowe dla pola km2 tylko dla zaznaczonych obiektów. Suma oznacza sumaryczną powierzchnię tych kategorii. (
Vector - Analysis Tools - Basic statistics for field
) - Odpowiedź: 7887.16 \(km^2\)
Jaką procent powierzchni zajmowały obszary dla których zmieniło się pokrycie/użytkowanie terenu?
- W tabeli atrybtów change_table można odwrócić selekcję (ikona invert selection), a następnie używając narzędzia
Vector - Analysis Tools - Basic statistics for field
dla zaznaczonych obiektów obliczyć powierzchnię obszarów, które zmieniły swoją kategorię. - Powierzchnia tych obszarów wynosi: 442.769 \(km^2\).
- Z poprzedniego podpunktu znamy powierzchnię obszarów, które nie zmieniły swojej kategorii, zatem możemy obliczyć procent używając kalkulatora (poza QGIS): (442.769/(7887.16 + 442.769))*100 = 5.3.
- Odpowiedź: Obszary które zmieniły typ pokrycia terenu między 1990 a 2018 stanowią 5.3% powierzchni analizowanego obszaru.
- W tabeli atrybtów change_table można odwrócić selekcję (ikona invert selection), a następnie używając narzędzia
Zapisywanie tabeli atrybutów w formacie MS Excel.
- Tabelę atrybutów change_table można zapisać do pliku Excela. W tym celu należy kliknąć prawym klawiszem myszy na nazwę warstwy oraz wybrać Export - Save Feautures As (tak samo jak przy zapisie warstwy wektorowej). Otworzy się okno zapisu warstwy wektorowej, w którym jako format pliku trzeba wybrać MS Office Open XML Spreadsheet.
Następnie wszelkie podsumowania można wykonac w MS Excel.
9 Analiza zmian - zespół/crosstabulacja
Funkcja ta na podstawie dwóch lub większej liczby map rastrowych tworzy nowy raster, w którym każdej komórce przypisany jest niepowtarzalny identyfikator odpowiadający unikalnym kombinacjom wartości rastrów wejściowych.
Processing Toolbox w QGIS dostarcza wielu dodatkowych narzędzi do analizy danych geoprzestrzennych, w tym funkcje dostępne w innych bibliotekach (GDAL) oraz programach GIS (np. GRASS). Dostęp do tych funkcji w znacznym stopniu rozszerza możliwości wykorzystania oprogramowania QGIS.
Funkcja corsstabulacji jest dostępna w QGIS jako jeden z modułów programu GRASS.
Processing Toolbox - GRASS - Raster (r.*) - r.cross
Zastosowanie funkcji
r.cross
- Input layers: clc1990_rcl, clc2018_rcl
- Cross product: clc1990_2018_cross
Powierzchnia poszczególnych klas:
Processing Toolbox - Raster analysis - Raster layer unique value reports
- Zwróć uwagę, że mapa wynikowa składa się z 25 klas oznaczonych od 0 do 24. Nie wiemy jednak jakim typom zmian odpowiada dana klasa.
Powierzchnia poszczególnych klas:
r.report
Do obliczenia powierzchni poszczególnych klas zastosujemy narzędzie
r.report
z programu GRASS (Processing Toolbox - GRASS - Raster (r.*) - r.report
)- Rasters layers to report on: clc1990_2018_cross
- Units: k
- Name for output file to hold a report: clc1990_2018_report.txt
- Zwróć uwagę, że narzędzie `r.report` zwraca także informację o kategoriach danych wejściowych użytych przez narzędzie `r.cross`
10 Wykorzystanie warstwy pop2020.
Zadanie: Ile osób zamieszkuje obszar w granicach powiatu poznańskiego oraz miasta Poznań, który zmienił typ pokrycia terenu z gruntów ornych na obszary zurbanizowane?
10.1 Etapy rozwiązania zadania
Przygotowanie danych wektorowych
- Używając wtyczki Wtyczka GIS Support pobrać dane dla powiatu Poznańskiego. Następnie używając narzędzia
Processing Toolbox - Vector Geometry - Delete holes
“wypełnić dziurę” jaką stanowi w poligonie miasto Poznań. Zapisać waeswę jako poznan.shp w układzie odniesienia EPSG:3035.
- Używając wtyczki Wtyczka GIS Support pobrać dane dla powiatu Poznańskiego. Następnie używając narzędzia
Docięcie warstwy clc1990_2018_raster_calc.tif oraz pop2020_3035_clc.tif do granic powiatu poznańskiego oraz miasta Poznań (warstwa poznan.shp). Zapisać docięte warstwy jako clc1990_2018_poznan.tif oraz pop2020_poznan.tif
- Aby dociąć obie warstwy można zastosować opcję obliczeń wsadowych (Run as batch process).
Obliczenie liczby ludności w klasach warstwy clc1990_2018_poznan.tif
- Zastosowane zostanie narzędzie
Raster layer zonal statistics
, które służy do obliczania statystyk stref w przypadku gdy strefy są wyznaczone za pomocą danych rastrowych, a nie poligonów warstwy wektorowej Processing Toolbox - Raster analysis - Raster layer zonal statistics
- Zastosowane zostanie narzędzie
Wynikiem będzie tabela atrybutów:
- zone - strefa wyznaczona przez kategorie warstwy clc1990_2018_poznan.
- sum, min, max, mean - statystyki obliczone na podstawie warstwy pop2020_poznan w kategoriach warstwy clc1990_2018_poznan; sum to liczba ludności zamieszkująca daną strefę
- count - liczba komórek w danej strefie.
Odpowiedź: Obszar w granicach powiatu poznańskiego oraz miasta Poznań, który zmienił typ pokrycia terenu z gruntów ornych na obszary zurbanizowane zamieszkiwany jest przez 90820 osób.
Oblicz jaki procent ludności zamieszkującej cały analizowany obszar (wg danych z warstwy pop2020_poznan) stanowią osoby zamieszkałe w obszarach, które zmieniły typ pokrycia terenu z obszarów rolniczych na obszary zurbanizowane?