Rastergebied berekenen (QGIS3)

Vel toepassingen vereisen het kwantificeren van patronen van landgebruik in een regio. Gegevenssets van Land Use Land Cover (LULC) zijn rasterbestanden, waarin aan elke pixel een klassewaarde is toegewezen. GIS-analisten moeten vaak rapporten maken die zijn gebaseerd op deze gegevens door het berekenen van het gebied per klasse in een bepaalde regio. QGIS heeft vele ingebouwde gereedschappen om rastergebieden te berekenen en samen te vatten.

Notitie

Historisch was de voorgestelde benadering voor het berekenen van gebieden voor rasters om het raster te converteren naar een vectorlaag en technieken voor het berekenen van het vectorgebied te gebruiken. Deze benadering vereist intensieve berekeningen van de computer en foutgevoelig. De aanbevolen benadering is om het gereedschap van Processing Rasterlaag rapport unieke waarden te gebruiken, dat direct de pixelgebieden kan berekenen. Als u een laag heft met veel polygonen en gebieden voor elk daarvan nodig hebt, kunt u het gereedschap Zonehistogram gebruiken om tellingen van pixels te verkrijgen voor elke klasse en ze dan vermenigvuldigen met het gebied van elke pixel.

Overzicht van de taak

We zullen een rasterlaag gebruiken met 11 klassen voor landgebruik en het gebied van elke klasse berekenen binnen een nationaal park. We zullen ook achteraf de resultaten bewerken om een werkblad te maken met namen van klassen en hun gebieden.

Andere vaardigheden die u zult leren

  • Hoe symbologie toe te passen op een laag vanuit een stijlbestand in de indeling .qml.

  • Hoe expressies te schrijven met meerdere voorwaarden if/else met het argument CASE.

  • Hoe een tabel van QGIS te exporteren als een werkblad voor Excel.

De gegevens ophalen

We zullen de volgende gegevenssets downloaden

  1. World Database on Protected Areas (WDPA): We zullen het shapefile voor de grenzen van het Kaziranga National Park in India downloaden.

  2. ESA WorldCover 2020: Het product WorldCover 10 m 2020 van het Europese Ruimte Agentschap (ESA) verschaft een globale kaart met landgebruik over 2020 met 10 m resolutie. We zullen de tegel downloaden die ons gebied van interesse bedekt.

Park grenzen

  1. Ga naar de website Protected Planet en klik op de zoekbalk. Zoek naar Kaziranga National Park.

../../_images/data01.png
  1. De beschermde vectorgrenzen zullen worden weergegeven als zoekresultaat. Klik er op om de pagina voor het Kaziranga National Park te bekijken.

../../_images/data02.png
  1. Deze pagina zal aanvullende informatie bevatten, zoals totale gebied, gemaakte jaar, etc. Klik op de knop Download en klik op SHP om de gegevens in de indeling Shapefile te downloaden.

../../_images/data03.png
  1. Twee opties voor downloaden zullen worden aangeboden. Klik op continue onder Non Commercial Use. Nu zal een zip-bestand met de grenzen van het nationale park worden gedownload.

../../_images/data04.png

Gegevens over landgebruik

  1. Ga naar de website ESA WorldCover en klik op het menu DATA ACCESS.

../../_images/data113.png
  1. Scroll nar beneden naar het gedeelte DATA DOWNLOAD en klik op de link om de WorldCover viewer te openen.

../../_images/data122.png
  1. U zult een gratis account moeten maken om de gegevensset te kunnen downloaden. Klik op de link Register in de rechterbovenhoek. Volg de instructies om een nieuw account te maken.

../../_images/data131.png
  1. Na het maken van het account, log in met uw gegevens. Ons gebied van interesse voor deze handleiding is het Kaziranga National Park. Zoom in op de regio in het noordoosten van India. Als u eenmaal voldoende bent ingezoomd zal het begrenzingsvak voor de tegels voor het landgebruik verschijnen.

../../_images/data141.png
  1. Zoek en lokaliseer de tegelregio N24E093.

../../_images/data15.png
  1. Selecteer de tegel en klik op NEXT.

../../_images/data16.png
  1. Klik op de knop DOWNLOAD om een zip-bestand te downloaden met de informatie over het landgebruik in rasterindeling. Zorg er voor dat u de gegevens WorldCover Version 1 selecteert voor het downloaden.

../../_images/data17.png
  1. We will also download a symbology file provided by ESA. Visit the ESA WorldCover Data Access page., Scroll-down to the Symbology section. Click on the QGIS to download the ESAWorldCover_ColorLegend.qml file which can be used to style the raster layer with approproate colors and class labels.

../../_images/data18.png

Voor het gemak kunt u direct een kopie van de gegevensset downloaden vanaf de links hieronder:

Gegevensbron [WDPA] [WorldCover]

Procedure

  1. Pak alle gedownloade bestanden uit. In de Browser, lokaliseer de map die het bestand met de grenzen WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons.shp bevat en sleep het naar het kaartvenster van QGIS en zet het neer.

../../_images/013.png
  1. Lokaliseer nu de rastertegel van Worldcover ESA_WorldCover_10m_2020_v100_N24_E093_Map.tif en sleep die naar het kaartvenster van QGIS.

../../_images/023.png
  1. U hebt nu zowel de vectorgrenzen als de rasterlaag met landgebruik geladen in het paneel Lagen. Laten we de rasterlaag clippen tot de grenzen van het nationale park. Ga naar Processing ‣ Toolbox om de Toolbox van Processing te openen. Zoek naar en lokaliseer het algoritme GDAL ‣ Raster uitnemen ‣ Raster op maskerlaag clippen. Dubbelklik om het te starten.

../../_images/033.png
  1. Kies, in het dialoogvenster Raster op maskerlaag clippen, de laag ESA_WorldCover_10m_2020_v100_N24_E093_Map als de Invoerlaag en de laag WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons als Maskeerlaag. Voer -9999 in het gedeelte Wijs een specifieke waarde Geen data toe aan de uitvoerbanden in.

../../_images/043.png
  1. Open nu het gedeelte Gevorderde parameters en kies Hoge compressie in Profiel. Klik nu, onder Geclipt (masker), op de en selecteer Opslaan als bestand…. Voer als bestandsnaam in worldcover_clipped.tif. Klik op Uitvoeren.

../../_images/053.png
  1. Nu zal de laag worldcover_clipped worden geladen in het kaartvenster van QGIS. Klik met rechts op de laag ESA_WorldCover_10m_2020_v100_N24_E093_Map en selecteer Laag verwijderen…

../../_images/063.png
  1. Beide lagen zijn in het geografische CRS EPSG:4326. Dit CRS heeft graden als eenheden en is niet geschikt voor het berekenen van het gebied. We moeten eerst de lagen opnieuw projecteren naar een geprojecteerd CRS. Voor regionale analyses zoals deze is UTM een goede keuze voor een geprojecteerd CRS. We zullen de lagen opnieuw projecteren naar het CRS voor de lokale zone van UTM. Open de Toolbox van Processing en zoek naar het algoritme Vector algemeen ‣ Laag opnieuw projecteren. Dubbelklik om het te starten.

../../_images/073.png
  1. Kies, in het dialoogvenster Laag opnieuw projecteren, de laag WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons als de Invoerlaag, klik op de knop CRS selecteren onder Doel-CRS.

../../_images/083.png
  1. Ons gebied van interesse valt in de UTM Zone 46N. Zoek naar 46 N en selecteer het CRS WGS 84 / UTM zone 46N.

../../_images/093.png

Notitie

Bekijk de website What UTM Zone am I in om uit te vinden welke UTM zone voor uw regio van toepassing is.

  1. Klik, in het gedeelte Opnieuw geprojecteerd, op en selecteer Opslaan als bestand…. Voer als naam in nationalpark_reprojected.gpkg. Klik op Uitvoeren.

../../_images/1011.png
  1. Nu zal de laag nationalpark_reprojected worden geladen in het kaartvenster. Klik met rechts op de laag WDPA_WDOECM_Apr2022_Publicc_10744_shp-polygons en selecteer Laag verwijderen… om die te verwijderen. Nu zullen we de rasterlaag opnieuw projecteren. In de Toolbox van Processing, zoek n lokaliseer GDAL ‣ Rasterprojecties ‣ Warp (opnieuw projecteren)

../../_images/1114.png
  1. Kies, in het dialoogvenster Warp (opnieuw projecteren), worldcover_clipped als de Invoerlaag, selecteer CRS WGS 84 / UTM zone 46N in Doel-CRS. Open de Gevorderde parameters en kies Hoge compressie in Profiel.

../../_images/1212.png
  1. Klik nu onder Opnieuw geprojecteerd, op en selecteer Opslaan als bestand…. Voer als naam in worldcover_reprojected.tif. Klik op Uitvoeren.

../../_images/1310.png
  1. Nu zal de laag worldcover_reprojected worden geladen in het kaartvenster, verwijder de laag worldcover_clipped. Laten we de projectlaag instellen voor de UTM zone. Klik op een willekeurige layer en kies Laag-CRS ‣ Project CRS van laag overnemen.

../../_images/149.png
  1. Nu zal het project-CRS worden bijgewerkt. Laten we de symbologie van de rasterlaag instellen als per klassenaam en de kleuren van de ESA WorldCover-gegevensset. Klik met rechts op de laag worldcover_reprojected en klik op Eigenschappen…

../../_images/159.png
  1. Kies, in het dialoogvenster Laageigenschappen, Symbologie. U kunt zien dat de kleuren van de laag zijn gevisualiseerd in een wit-zwart toon. Klik, om dit te repareren, op Stijl ‣ Stijl laden…. Blader naar en selecteer het bestand ESAWorldCover_ColorLegend.qml.

../../_images/168.png
  1. Nu kunt u de bijgewerkte symboolkleuren en beschrijvingen van klassen zien. Klik op OK.

../../_images/179.png
  1. Vergroot de laag worldcover_reprojected in het paneel Lagen om de legenda met de juiste beschrijvingen van klassen te bekijken.

../../_images/187.png
  1. Laten we nu de gebieden voor elke klasse berekenen. In de Toolbox van Processing, zoek en lokaliseer het gereedschap Rasterlaag rapport unieke waarden. Dubbelklik om het te openen.

../../_images/196.png
  1. Kies, in het dialoogvenster Rasterlaag rapport unieke waarden, de Invoerlaag als worldcover_reprojected. Klik, onder de Tabel Unieke waarden op en kies Opslaan als bestand…. Voer als naam in class_areas.gpkg. Klik op Uitvoeren.

../../_images/206.png
  1. Nu zal de laag class_areas worden toegevoegd aan het paneel Lagen. Klik met rechts op de laag en klik op Attributentabel openen. De kolom m2 bevat het gebied voor elke klasse in vierkante meters.

../../_images/2111.png
  1. Laten we het gebied converteren naar vierkante kilometers. In de Toolbox van Processing, zoek en selecteer Vector tabel ‣ Veld calculator.

../../_images/226.png
  1. Selecteer, in het dialoogvenster Veld calculator, de laag class_areas in Invoerlaag. Voer de Veldnaam in als area_sqkm. Kies Float als het Type resultaatveld. In het venster Expressie, voer onderstaande expressie in. Dit zal de vierkante meters converteren naar vierkante kilometers en het resultaat afronden op 2 decimale plaatsen. Klik,onder Berekend op en kies Opslaan als bestand… . Voer als naam in class_area_sqkm.gpkg. Click Run.

round("m2"/ 1e6, 2)
../../_images/235.png
  1. Nu zal de laag class_area_sqkm worden geladen in het kaartvenster. Open de attributentabel en bekijk de nieuw toegevoegde kolom area_sqkm. U zult zien dat de kolom Value getallen bevat voor elke klasse. Laten we ook de beschrijving voor elk getal voor en klasse toevoegen om de resultaten eenvoudiger te interpreteren te maken. De beschrijvingen voor de klassen zijn beschikbaar in het ESA Product User Manual.

../../_images/246.png
  1. Open Veld calculator en selecteer de laag class_areas_sqkm in Invoerlaag. Voer de Veldnaam in als landcover, kies Tekst (string) in het Type resultaatveld. Voer in het venster Expressie de onderstaande expressie in. Deze expressie gebruikt het argument CASE om een waarde toe te wijzen, gebaseerd op meerdere voorwaarden. Klik, onder Berekend op …` en kies Opslaan als bestand…. Voer als naam in class_area_with_landcover.gpkg. Klik op Uitvoeren.

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. Nu zal de laag class_area_with_landcover worden geladen in het kaartvenster. Open de attributentabel. De kolom landcover zal de naam voor het landgebruk bevatten voor elke waarde van landgebruik.

../../_images/265.png
  1. Laten we dit resultaat exporteren als een Excel-bestand. Voordat we gaan exporteren zullen we ook de tabel reorganiseren en ongewenste velden verwijderen. In de Toolbox van Processing `, zoek en selecteer :menuselection:`Vector tabel –> Bijgewerkte velden.

../../_images/276.png
  1. Selecteer, in het dialoogvenster Bijgewerkte velden, de laag class_area_with_landcover in Invoerlaag. Selecteer alle kolommen, behalve area_sqkm en landcover, en klik dan op Geselecteerd veld verwijderen.

../../_images/286.png
  1. U kunt ook de volgorde van d velden in de tabel wijzigen met de knop Geselecteerd veld verplaatsen. Als u gereed bent met de bewerkingen, klik op de knop naast Bijgewerkt en kies Opslaan als bestand…. Selecteer XLSX-bestanden (*.xlsx) als de indeling. Vor als bestandsnaam in park_area_by_landcover.xlsx en klik op Opslaan. Klik, in het dialoogvenster van Velden bijwerken, op Uitvoeren om uw wijzigingen door te voeren.

../../_images/295.png
  1. Het resultaat zal een werkblad zijn met de kolommen landcover en area_sqkm.

../../_images/305.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)