Izračun površine rastra (QGIS3)

Številne aplikacije zahtevajo kvantifikacijo vzorca rabe tal v regiji. Zbirke podatkov o rabi tal in pokrovnosti (LULC) so na voljo v obliki rastrskih datotek, v katerih je vsakemu pikslu dodeljena vrednost razreda. Analitiki GIS morajo na podlagi teh podatkov pogosto pripraviti poročila, tako da izračunajo površino razreda v določeni regiji. QGIS je opremljen s številnimi vgrajenimi orodji za izračunavanje in povzemanje rastrskih površin.

Opomba

V preteklosti je bil predlagani pristop za izračun površin rastra pretvorba rastrskega sloja v vektorski in uporaba tehnik izračuna vektorskega območja. Ta pristop je računsko zahteven in nagnjen k napakam. Priporočeni pristop je uporaba orodja za obdelavo Raster layer unique values report, ki lahko neposredno izračuna površine pikslov. Če imate sloj z veliko poligoni in potrebujete površine za vsakega od njih, lahko uporabite orodje Zonal histogram, kjer dobite število pikslov posameznega razreda in ga nato pomnožite s površino vsakega piksla.

Pregled naloge

Uporabili bomo rastrski sloj z 11 razredi pokrovnosti tal in izračunali površino vsakega razreda v nacionalnem parku. Rezultate bomo tudi naknadno obdelali in ustvarili preglednico z imeni razredov in površinami.

Česa se bomo še naučili

  • Kako uporabiti simbologijo v sloju iz slogovne datoteke v formatu .qml.

  • Kako zapisati izraze z več pogoji if/else z uporabo stavka CASE.

  • Kako izvoziti tabelo QGIS kot Excelovo preglednico.

Pridobivanje podatkov

Prenesli bomo naslednje nabore podatkov

  1. Svetovna zbirka podatkov o zavarovanih območjih (WDPA): V Indiji bomo prenesli shapefile meje nacionalnega parka Kaziranga National Park.

  2. ESA WorldCover 2020: WorldCover 10 m 2020 Evropske vesoljske agencije (ESA) zagotavlja globalni zemljevid pokritosti tal za leto 2020 z ločljivostjo 10 m. Prenesli bomo del, ki pokriva naše interesno območje.

Meja parka

  1. Pojdite na spletno mesto Protected Planet in kliknite na iskalnik. Poiščite Kaziranga National Park.

../../_images/data01.png
  1. Kot rezultat iskanja bo prikazana vektorska meja zaščitenega območja. Kliknite, da si ogledate stran Kaziranga National Park.

../../_images/data02.png
  1. Ta stran bo vsebovala dodatne informacije, kot so skupna površina, leto nastanka itd. Kliknite na Download in kliknite SHP za prenos podatkov v obliki Shapefile.

../../_images/data03.png
  1. Pojavita se dve možnosti za prenos. Kliknite continue pod Non Commercial Use. Zdaj se bo prenesla datoteka zip, ki vsebuje mejo nacionalnega parka.

../../_images/data04.png

Podatki o pokrovnosti tal

  1. Pojdite na spletno stran ESA WorldCover in kliknite na meni DATA ACCESS.

../../_images/data112.png
  1. Pomaknite se navzdol do razdelka DATA DOWNLOAD in kliknite na povezavo, da odprete pregledovalnik WorldCover

../../_images/data121.png
  1. Za prenos podatkov morate ustvariti brezplačen račun. Kliknite na povezavo Register v zgornjem desnem kotu. Pri ustvarjanju novega računa sledite navodilom.

../../_images/data13.png
  1. Ko ustvarite račun, se prijavite s poverilnicami. V tej vadnici nas zanima nacionalni park Kaziranga. Povečajte na območje severovzhodne Indije. Ko boste dovolj povečali, se bo začelo prikazovati omejitveno območje dela pokrovnosti tal.

../../_images/data14.png
  1. Poiščite in poiščite območje ploščic N24E093.

../../_images/data15.png
  1. Izberite ploščico in kliknite NEXT.

../../_images/data16.png
  1. Kliknite na DOWNLOAD, da prenesete datoteko zip, ki vsebuje podatke o pokrovnosti tal v rastrski obliki.

../../_images/data17.png
  1. Prenesli bomo tudi datoteko za prikaz simbolov, ki jo je zagotovila ESA. Obiščite stran ESA WorldCover Data Access. Pomaknite se navzdol do razdelka Symbology. Kliknite na QGIS, da prenesete datoteko ESAWorldCover_ColorLegend.qml, ki jo lahko uporabite za oblikovanje rastrskega sloja z ustreznimi barvami in oznakami razredov.

../../_images/data18.png

Kopijo podatkovnih nizov lahko neposredno prenesete s spodnjih povezav:

Vir podatkov [WDPA] [WorldCover]

Postopek

  1. Razpakirajte vse prenesene datoteke. V Browser-ju poiščite mapo z mejno datoteko WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons.shp in jo povlecite ter spustite na delovno površino QGIS.

../../_images/013.png
  1. Zdaj poiščite rastrski sloj Worldcover ESA_WorldCover_10m_2020_v100_N24_E093_Map.tif in ga spustite na delovno površino QGIS.

../../_images/023.png
  1. Na plošči Layers bosta zdaj naložena vektorski sloj meje in rastrski sloj pokrovnosti tal. Pripnimo raster pokrovnosti tal na mejo nacionalnega parka. Pojdite na Processing ‣ Toolbox, da odprete orodjarno Processing. Poiščite in najdite algoritem GDAL ‣ Raster extraction ‣ Clip raster by mask layer. Z dvoklikom ga zaženite.

../../_images/033.png
  1. V pogovornem oknu Clip Raster by Mask Layer` izberite sloj ESA_WorldCover_10m_2020_v100_N24_E093_Map kot Input layer in sloj WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons kot Mask Layer. Vnesite -9999 v razdelek Assign a specified nodata value to output bands.

../../_images/043.png
  1. Zdaj odprite razdelek Advanced Parameters in v razdelku Profile izberite High Compression. V razdelku Clipped (mask) kliknite na ... in izberite Save To File…. Vnesite ime datoteke kot worldcover_clipped.tif. Kliknite Run.

../../_images/053.png
  1. Zdaj bo sloj worldcover_clipped naložena na delovno površino QGIS. Z desno tipko miške kliknite na sloj ESA_WorldCover_10m_2020_v100_N24_E093_Map in izberite Remove Layer…

../../_images/063.png
  1. Oba sloja sta v geografskem sistemu CRS EPSG:4326. Ta CRS ima enote stopinj in ni primeren za izračun območja. Sloje moramo najprej transformirati v predvideni CRS. Za regionalne analize, kot je ta, je UTM dobra izbira kot projektni CRS. Sloje bomo preslikali v CRS za lokalno območje UTM. Odprite orodjarno Processing in poiščite algoritem Vector general ‣ Reproject layer. Z dvojnim klikom ga zaženite.

../../_images/073.png
  1. V pogovornem oknu Reproject Layer izberite sloj WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons kot Input layer, kliknite Select CRS kot Target CRS.

../../_images/083.png
  1. Naše interesno območje spada v območje UTM 46N. Poiščite 46 N in izberite CRS WGS 84 / UTM zone 46N.

../../_images/093.png

Opomba

Če želite ugotoviti, katero območje UTM je v vaši regiji, si oglejte spletno mesto What UTM Zone am I in.

  1. V razdelku Reprojected kliknite ... in izberite Save To File…`. Vnesite ime nationalpark_reprojected.gpkg. Kliknite Run.

../../_images/1010.png
  1. Zdaj bo sloj nationalpark_reprojected naložen na delovno površino. Z desno tipko miške kliknite sloj WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons in izberite Remove Layer…, da ga odstranite. Zdaj bomo ponovno transformirali rastrsko plast. V orodjarni Processing Toolbox poiščite GDAL ‣ Raster projections ‣ Warp (reproject)

../../_images/1113.png
  1. V pogovornem oknu Warp (Reproject) izberite worldcover_clipped kot Input layer`, kot Target CRS` izberite WGS 84 / UTM zone 46N CRS. Odprite Advanced Parameters in v Profile izberite High Compression.

../../_images/1211.png
  1. Zdaj v razdelku Reprojected kliknite na ... in izberite Save To File…`. Vnesite ime worldcover_reprojected.tif. Kliknite Run.

../../_images/139.png
  1. Zdaj bo na delovno površino naložen sloj worldcover_reprojected, odstranite sloj worldcover_clipped. Nastavimo sloj projekta na območje UTM. Kliknite na kateri koli sloj in izberite Layer CRS ‣ Set Project CRS from Layer.

../../_images/148.png
  1. Zdaj bo projektni CRS posodobljen. Nastavimo simboliko rastrskega sloja v skladu z imeni razredov in barvami podatkovnega niza ESA WorldCover. Z desno tipko miške kliknite na sloj worldcover_reprojected in kliknite Properties…

../../_images/158.png
  1. V pogovornem oknu Layer Properties izberite Symbology. Opazite lahko, da so barve sloja prikazane v belo-črnem tonu. Če želite to popraviti, kliknite na Style ‣ Load Style…. Poiščite in izberite datoteko ESAWorldCover_ColorLegend.qml.

../../_images/167.png
  1. Zdaj si lahko ogledate posodobljene barve simbolov in opise razredov. Kliknite OK.

../../_images/178.png
  1. Razširite sloj worldcover_reprojected na plošči Layers`, da si ogledate legendo s pravilnimi opisi razredov.

../../_images/186.png
  1. Zdaj izračunajmo površino za vsak razred. V orodjarni za obdelavo poiščite orodje Raster layer unique values report. Dvakrat kliknite nanj, da ga odprete.

../../_images/196.png
  1. V pogovornem oknu Raster Layer Unique Values Report izberite Input layer kot worldcover_reprojected. Pod tabelo Unique values table kliknite na ... in izberite Save to File…`. Vnesite ime class_areas.gpkg. Kliknite Run.

../../_images/206.png
  1. Zdaj bo sloj``class_areas`` dodan na delovno površino Layers. Z desno tipko miške kliknite na sloj in kliknite Open Attribute Table. Stolpec m2 vsebuje površino za vsak razred v kvadratnih metrih.

../../_images/2110.png
  1. Pretvorimo površino v kvadratne kilometre. V Processing Toolbox poiščite in izberite Vector table ‣ Field Calculator.

../../_images/226.png
  1. V pogovornem oknu Kalkulator polj izberite sloj class_areas` v polju :guilabel:`Input Layer. Vnesite Field name kot area_sqkm. V polju Result field type izberite Float. V okno Expression vnesite spodnji izraz. Ta bo pretvoril m2 v km2 in zaokrožil rezultat na 2 decimalni mesti. Pod oknom Calculated kliknite na ... in izberite Save To File…. Vnesite ime class_area_sqkm.gpkg. Kliknite Run.

round("m2"/ 1e6, 2)
../../_images/235.png
  1. Zdaj bo plast class_area_sqkm naložena na delovno površino. Odprite atributno tabelo in preverite novo dodani stolpec area_sqkm. Opazili boste, da stolpec Value vsebuje številke za vsak razred. Za lažjo razlago rezultatov dodajmo tudi opis za vsako številko razreda. Opisi razredov so na voljo v ESA Product User Manual.

../../_images/246.png
  1. Odprite aplikacijo Field Calculator in izberite sloj class_areas_sqkm v polju Input Layer. Vnesite Field name kot landcover, v Result field type` izberite String. V okno Expression vnesite spodnji izraz. Ta izraz uporablja izjavo CASE za dodelitev vrednosti na podlagi več pogojev. Pod oknom Calculated kliknite na ... in izberite Save To File… . Vnesite ime class_area_with_landcover.gpkg. Kliknite Run.

CASE
WHEN "value" = 10 THEN 'Tree cover'
WHEN "value" = 20 THEN 'Shrubland'
WHEN "value" = 30 THEN 'Grassland'
WHEN "value" = 40 THEN 'Cropland'
WHEN "value" = 50 THEN 'Built-up'
WHEN "value" = 60 THEN 'Bare / sparse vegetation'
WHEN "value" = 70 THEN 'Snow and Ice'
WHEN "value" = 80 THEN 'Permanent water bodies'
WHEN "value" = 90 THEN 'Herbaceous wetland'
WHEN "value" = 95 THEN 'Moss and lichen'
WHEN "value" = 100 THEN 'Mangroves'
END
../../_images/256.png
  1. Zdaj bo sloj``class_area_with_landcover`` naložen na delovno površino. Odprite atributno tabelo. Stolpec landcover bo vseboval ime pokrovnosti ob vsaki vrednosti.

../../_images/265.png
  1. Izvozimo ta rezultat kot datoteko Excel. Pred izvozom bomo tabelo tudi uredili in odstranili neželena polja. V orodjarni Processing Toolbox poiščite in izberite Vector table ‣ Refactor fields.

../../_images/276.png
  1. V pogovornem oknu Refactor Fields` izberite sloj class_area_with_landcover v polju Input Layer`. Izberite vse stolpce razen area_sqkm in landcover, nato kliknite Delete selected field.

../../_images/286.png
  1. Vrstni red polj v tabeli lahko spremenite tudi z gumbom Move Selected Fields. Ko končate z urejanjem, kliknite na gumb ... poleg Refactored in izberite Save To File…. Kot obliko izberite XLSX datoteke (*.xlsx). Vnesite ime datoteke kot park_area_by_landcover.xlsx in kliknite Save. V pogovornem oknu Refactor Fields kliknite Run, da uporabite svoje spremembe.

../../_images/295.png
  1. Rezultat bo preglednica s stolpcema landcover in area_sqkm.

../../_images/305.png
comments powered by Disqus