.

Integratie van GRASS GIS

De plug-in GRASS verschaft toegang tot GRASS GIS-databases en functionaliteiten (zie GRASS-PROJECT in Verwijzingen naar literatuur en web). Dit omvat het visualiseren van GRASS raster- en vectorlagen, digitaliseren van vectorlagen, bewerken van attributen van vectors, maken van nieuwe vectorlagen en analyseren van GRASS 2D- en 3D-gegevens met meer dan 400 modules voor GRASS.

In dit gedeelte zullen we de functionaliteiten van de plug-in introduceren en enkele voorbeelden geven van het beheren en werken met gegevens voor GRASS. De volgende belangrijkste mogelijkheden worden verschaft door het menu van de werkbalk als u de plug-in GRASS start, zoals beschreven in het gedeelte sec_starting_grass:

  • grass_open_mapset Mapset openen

  • grass_new_mapset Nieuwe mapset

  • grass_close_mapset Mapset sluiten

  • grass_add_vector GRASS–Vectorlaag toevoegen

  • grass_add_raster GRASS–Rasterlaag toevoegen

  • grass_new_vector_layer Nieuwe GRASS vector maken

  • grass_edit GRASS–Vectorlaag bewerken

  • grass_tools GRASS–gereedschap openen

  • grass_region Huidige GRASS-regio weergeven

  • grass_region_edit Huidige GRASS-regio bewerken

De plug-in GRASS starten

U moet de plug-in GRASS selecteren en laden met Plug-ins beheren en installeren om functionaliteiten van GRASS te kunnen gebruiken en/of om GRASS vector- en rasterlagen in QGIS te visualiseren. Ga daarom naar het menu Plug-ins ‣ mActionShowPluginManager Plug-ins beheren en installeren ..., selecteer checkbox GRASS en klik op [OK].

U kunt nu beginnen met het laden van raster- en vectorlagen vanuit een bestaande GRASS LOCATION (zie gedeelte sec_load_grassdata). Of u kunt een nieuwe GRASS LOCATION maken met QGIS (zie gedeelte Maken van een nieuwe GRASS LOCATION) en enkele raster- en vectorgegevens importeren (zie gedeelte Importeren van gegevens in een GRASS LOCATION) voor verdere analyse met de Toolbox voor GRASS (zie gedeelte De Toolbox voor GRASS).

GRASS raster- en vectorlagen laden

Met de plug-in GRASS kunt u vector- of rasterlagen laden met behulp van de toepasselijke knop in het menu van de werkbalk. Als een voorbeeld zullen we de gegevensset Alaska van QGIS gebruiken (zie gedeelte Voorbeeldgegevens). Het omvat een klein voorbeeld van een GRASS LOCATION met drie vectorlagen en één raster hoogtekaart.

  1. Maak een nieuwe map genaamd grassdata, download de gegevensset QGIS ‘Alaska’ qgis_sample_data.zip vanaf http://download.osgeo.org/qgis/data/ en pak het bestand uit in grassdata.

  2. Start QGIS.
  3. Indien dat nog niet in een eerdere sessie van QGIS is gedaan, laad de plug-in GRASS door te klikken op Plug-ins ‣ mActionShowPluginManager Plug-ins beheren en installeren ... en activeer checkbox GRASS. De werkbalk voor GRASS verschijnt in het hoofdvenster van QGIS.

  4. Klik, op de werkbalk van GRASS, op het pictogram grass_open_mapset Mapset openen om de assistent MAPSET te laten verschijnen.

  5. Voor Gisdbase: blader en selecteer of voer het pad in naar de nieuw gemaakte map grassdata.

  6. U zou nu in staat moeten zijn om LOCATION selectstring alaska en MAPSET selectstring demo te selecteren.

  7. Klik op [OK]. Merk op dat enkele eerder nog uitgeschakelde gereedschappen op de werkbalk van GRASS nu zijn ingeschakeld.

  8. Klik op grass_add_raster GRASS–Rasterlaag toevoegen, kies de kaartnaam gtopo30 en klik op [OK]. De hoogtelaag zal worden gevisualiseerd.

  9. Klik op grass_add_vector GRASS–Vectorlaag toevoegen, kies de map alaska en klik op [OK]. De vectorlaag met grenzen van Alaska zal bovenop de kaart gtopo30 worden gelegd. U kunt nu de eigenschappen voor de laag aanpassen, zoals beschreven in het hoofdstuk Het dialoogvenster Vectoreigenschappen (bijv., de transparantie wijzigen, kleuren voor de vulling en randen).

  10. Laad ook de andere twee vectorlagen, rivers en airports, en pas hun eigenschappen aan.

Zoals u ziet is het zeer eenvoudig om raster- en vectorlagen uit GRASS te laden in QGIS. Bekijk de volgende gedeelten voor het bewerken gegevens van GRASS en maak een nieuwe LOCATION. Meer voorbeelden van GRASS LOCATION's zijn beschikbaar op de website van GRASS op http://grass.osgeo.org/download/sample-data/.

Tip

GRASS–Laden van gegevens

Als u problemen hebt met het laden van gegevens of QGIS breekt abnormaal af, controleer dan om er zeker van te zijn dat u de plug-in GRASS juist heeft geladen, zoals beschreven in het gedeelte De plug-in GRASS starten.

GRASS LOCATION en MAPSET

Gegevens voor GRASS worden opgeslagen in een map waarnaar wordt verwezen als GISDBASE. Deze map, vaak grassdata genaamd, moet worden gemaakt vóórdat u met de plug-in GRASS gaat werken in QGIS. Binnen deze map zijn de GIS-gegevens van GRASS georganiseerd in projecten die zijn opgeslagen in submappen, genaamd LOCATION's. Elke LOCATION wordt gedefinieerd door zijn coördinatensysteem, kaartprojectie en geografische grenzen. Elke LOCATION kan verscheidene MAPSET's (submappen van LOCATION) hebben, die worden gebruikt om het project op te delen in verschillende onderwerpen of subregio’s, of als werkruimte voor individuele teamleden (zie Neteler & Mitasova 2008 in Verwijzingen naar literatuur en web). , U moet, om vector- en rasterlagen met modules van GRASS te analyseren, ze importeren in een GRASS LOCATION. (Dit is niet helemaal waar – met de modules voor GRASS r.external en v.external kunt u koppelingen maken die alleen-lezen zijn naar externe gegevenssets, die door GDAL/OGR ondersteund worden, zonder ze te importeren. maar omdat dat niet de normale manier voor beginners is om te werken met GRASS, zal deze functionaliteit hier niet worden beschreven.)

Figure GRASS location 1:

../../../_images/grass_location1.png

Gegevens voor GRASS op de LOCATION alaska

Maken van een nieuwe GRASS LOCATION

Als voorbeeld is hier hoe het voorbeeld GRASS LOCATION alaska, wat is geprojecteerd in de projectie Albers Equal Area met de eenheid feet werd gemaakt voor de voorbeeldset voor QGIS. Dit voorbeeld GRASS LOCATION alaska zal worden gebruikt voor alle voorbeelden en oefeningen in de volgende aan GRASS gerelateerde gedeelten. Het is nuttig om de gegevensset naar uw computer te downloaden en te installeren (zie Voorbeeldgegevens).

  1. Start QGIS en zorg er voor dat de plug-in GRASS is geladen.

  2. Visualiseer het shapefile alaska.shp (zie gedeelte Het laden van een shapefile) uit de gegevensset Alaska van QGIS (zie Voorbeeldgegevens).

  3. Klik, op de werkbalk van GRASS, op het pictogram grass_new_mapset Nieuwe mapset om de assistent MAPSET te laten verschijnen.

  4. Selecteer een bestaande GRASS-database (GISDBASE) map grassdata, of maak een nieuwe LOCATION met behulp van een bestandsbeheerder op uw computer. Klik dan op [Next].

  5. We kunnen deze assistent gebruiken om een nieuwe MAPSET binnen een bestaande LOCATION te maken (zie het gedeelte Toevoegen van een nieuwe MAPSET) of om een geheel nieuwe LOCATION te maken. Selecteer radiobuttonon Nieuwe locatie maken (zie figure_grass_location_2).

  6. Voer een naam in voor de LOCATION – wij gebruikten ‘alaska’ – en klik op [Next].

  7. Definieer de projectie door te klikken op de optieknop radiobuttonon Projectie om de lijst met projecties in te schakelen.

  8. We gebruiken de projectie Albers Equal Area Alaska (feet). Omdat wij weten dat die wordt weergegeven door de EPSG ID 2964, voeren we die in het zoekvak in. (Opmerking: Als u dit proces wilt herhalen voor een andere LOCATION en projectie en vergeten bent het EPSG ID te onthouden, klik op het pictogram mIconProjectionEnabled CRS Status in de rechter benedenhoek van de statusbalk (zie gedeelte Werken met projecties)).

  9. In Filter, voer 2964 in om de projectie te selecteren.

  10. Klik op [Next].

  11. We moeten de grenzen voor de LOCATION in de richtingen Noord, Zuid, Oost en West invoeren, om de standaard regio te definiëren. Hier klikken we eenvoudigweg op de knop [Gebruik huidige QGIS -bereik], om het bereik van de geladen laag alaska.shp als bereik voor de standaard regio in GRASS toe te passen.

  12. Klik op [Next].

  13. We moeten ook een MAPSET definiëren binnen onze nieuwe LOCATION (dit is nodig bij het maken van een nieuwe LOCATION). U mag het de naam geven die u wilt - wij gebruikten ‘demo’. GRASS maakt automatisch een speciale MAPSET, genaamd PERMANENT, ontworpen om de brongegevens voor het project op te slaan, het standaard ruimtelijke bereik en de definities van het coördinatensysteem (zie Neteler & Mitasova 2008 in Verwijzingen naar literatuur en web).

  14. Controleer de samenvatting om te zien of die juist is en klik op [Finish].

  15. De nieuwe LOCATION, ‘alaska’, en de twee MAPSETs, ‘demo’ en ‘PERMANENT’, zijn gemaakt. De momenteel geopende werkset is ‘demo’, zoals u heeft gedefinieerd.

  16. Merk op dat enkele gereedschappen op de werkbalk van GRASS, die uitgeschakeld waren, nu zijn ingeschakeld.

Figure GRASS location 2:

../../../_images/create_grass_location.png

Maken van een nieuwe GRASS LOCATION of een nieuwe MAPSET in QGIS

Als dat veel stappen lijken te zijn, het is eigenlijk niet zo slecht en een hele snelle manier om een LOCATION te maken. De LOCATION ‘alaska’ is nu gereed voor het importeren van gegevens (zie gedeelte Importeren van gegevens in een GRASS LOCATION). U kunt ook de reeds bestaande vector- en rastergegevens gebruiken uit het voorbeeld van GRASS LOCATION ‘alaska’, opgenomen in de gegevensset ‘Alaska’ van QGIS Voorbeeldgegevens, en doorgaan naar het gedeelte Het GRASS vectorgegevensmodel.

Toevoegen van een nieuwe MAPSET

Een gebruiker heeft alleen schrijfrechten voor een MAPSET van GRASS die hij of zij zelf heeft gemaakt. Dit betekent dat, naast toegang tot uw eigen MAPSET, u mappen in MAPSET's van andere gebruikers kunt lezen (en zij kunnen die van u lezen), maar u kunt alleen mappen aanpassen of verwijderen vanuit uw eigen MAPSET.

Alle MAPSET's bevatten een bestand WIND dat de huidige waarden voor coördinaten voor de grenzen opslaat en de huidige geselecteerd rasterresolutie (zie Neteler & Mitasova 2008 in Verwijzingen naar literatuur en web, en het gedeelte Het GRASS–gereedschap regio).

  1. Start QGIS en zorg er voor dat de plug-in GRASS is geladen.

  2. Klik, op de werkbalk van GRASS, op het pictogram grass_new_mapset Nieuwe mapset om de assistent MAPSET te laten verschijnen.

  3. Selecteer de GRASS database (GISDBASE)-map grassdata met de LOCATION ‘alaska’, waar we nog een MAPSET zullen toevoegen, genaamd ‘test’.

  4. Klik op [Next].

  5. We kunnen deze assistent gebruiken om een nieuwe MAPSET binnen een bestaande LOCATION te maken of om een geheel nieuwe LOCATION te maken. Klik op de optieknop radiobuttonon Selecteer een locatie (zie figure_grass_location_2) en klik op [Next].

  6. Voer de naam text in voor de nieuwe MAPSET. Onder in de assistent ziet u een lijst van bestaande MAPSET's en corresponderende eigenaren.

  7. Klik op [Next], controleer de samenvatting om te zien of die juist is en klik op [Finish].

Importeren van gegevens in een GRASS LOCATION

Dit gedeelte geeft een voorbeeld van hoe raster- en vectorgegevens te importeren in de ‘alaska’ GRASS LOCATION verschaft door de gegevensset ‘Alaska’ van QGIS. Daarom gebruiken we de rasterkaart voor landbedekking landcover.img en het vector GML-bestand lakes.gml uit de gegevensset ‘Alaska’ van QGIS (zie Voorbeeldgegevens).

  1. Start QGIS en zorg er voor dat de plug-in GRASS is geladen.

  2. Klik, op de werkbalk van GRASS, het pictogram grass_open_mapset Mapset openen om de assistent MAPSET te laten zien.

  3. Selecteer als database van GRASS de map grassdata in de gegevensset Alaska van QGIS, als LOCATION ‘alaska’, als MAPSET ‘demo’ en klik op [OK].

  4. Klik nu op het pictogram grass_tools GRASS–gereedschap openen. het dialoogvenster van de Toolbox van GRASS (zie gedeelte De Toolbox voor GRASS) verschijnt.

  5. Klik op de module r.in.gdal op de tab Modulen Boom om de rasterkaart landcover.img te importeren. Deze module voor GRASS stelt u in staat GDAL-ondersteunde rasterbestanden te importeren in een LOCATION van GRASS. Het dialoogvenster voor de module r.in.gdal verschijnt.

  6. Blader naar de map raster in de gegevensset ‘Alaska’ van QGIS en selecteer het bestand landcover.img.

  7. Definieer, als naam voor het raster-uitvoerbestand, landcover_grass en klik op [Uitvoeren]. Op de tab Output ziet u de momenteel uitgevoerde opdracht voor GRASS r.in.gdal -o input=/pad/naar/landcover.img output=landcover_grass.

  8. Klik, wanneer het zegt Succesvol geëindigd, op [Uitvoer bekijken]. De rasterlaag landcover_grass is nu geïmporteerd in GRASS en zal worden gevisualiseerd in het kaartvenster van QGIS.

  9. Klik op de module v.in.ogr op de tab Modulen Boom om het vector GML-bestand lakes.gml te importeren. Deze module voor GRASS stelt u in staat OGR-ondersteunde vectorbestanden te importeren in een LOCATION van GRASS. Het dialoogvenster voor de module v.in.ogr verschijnt.

  10. Blader naar de map gml in de gegevensset ‘Alaska’ van QGIS en selecteer het bestand lakes.gml als OGR-bestand.

  11. Definieer, als naam voor het vector-uitvoerbestand, lakes_grass en klik op [Uitvoeren]. U hoeft zich in dit voorbeeld geen zorgen te maken over de andere opties. Op de tab Output ziet u de momenteel uitgevoerde opdracht van GRASS v.in.ogr -o dsn=/pad/naar/lakes.gml output=lakes\_grass.

  12. Klik, wanneer het zegt Succesvol geëindigd, op [Uitvoer bekijken]. De vectorlaag lakes_grass is nu geïmporteerd in GRASS en zal worden gevisualiseerd in het kaartvenster van QGIS.

Het GRASS vectorgegevensmodel

Het is belangrijk om, voorafgaande aan het digitaliseren, het GRASS vectorgegevensmodel te begrijpen.

In het algemeen gebruikt GRASS een topologisch vectormodel.

Dit betekent dat gebieden niet worden weergegeven als gesloten polygonen, maar door één of meer grenzen. Een grens tussen twee aaneengesloten gebieden wordt slechts één maal gedigitaliseerd, en het wordt gedeeld door beide gebieden. Grenzen moeten zijn verbonden en zonder gaten zijn gesloten. Een gebied wordt geïdentificeerd (en gelabeld) door het zwaartepunt van het gebied.

Naast grenzen en zwaartepunten kan een vectorkaart ook punten en lijnen bevatten. Al deze elementen voor geometrie kunnen worden gemixt in één vector en zullen worden weergegeven in verschillende, zogenaamde ‘lagen’, binnen één vectorkaart van GRASS. Dus in GRASS, is een laag geen vector- of rasterkaart, maar een niveau binnen een vectorlaag. Het is belangrijk om dit verschil zorgvuldig te onderscheiden. (Hoewel het mogelijk is om elementen voor geometrie te mixen, het is ongebruikelijk en, zelfs in GRASS, alleen gebruikt in speciale gevallen, zoals vector netwerkanalyses. Normaal gesproken zou u de voorkeur hebben voor het opslaan van verschillende elementen voor geometrie in verschillende lagen.)

Het is mogelijk om verscheidene ‘lagen’ op te slaan in één vector-gegevensset. Bijvoorbeeld: velden, bossen en meren kunnen worden opgeslagen in één vector. Een aansluitend bos en meer kunnen dezelfde grens delen, maar zij hebben afzonderlijk attributentabellen. Het is ook mogelijk attributen te verbinden aan grenzen. Een voorbeeld zou kunnen zijn het geval waar de grens tussen een meer en een bos een weg is, dus kan het een verschillende attributentabel hebben.

De ‘laag’ van het object wordt gedefinieerd door de ‘laag’ binnen GRASS. ‘Laag’ is het getal dat definieert of er meer dan één laag binnen de gegevensset is (bijv., als de geometrie bos of meer is). Momenteel mag het alleen een getal zijn. In de toekomst zal GRASS ook namen als velden in de gebruikersinterface ondersteunen.

Attributen kunnen binnen de LOCATION van GRASS worden opgeslagen als dBase of SQLite3 of in externe databasetabellen, bijvoorbeeld PostgreSQL, MySQL, Oracle, etc.

Attributen in databasetabellen worden aan elementen van geometrie gekoppeld door middel van een waarde ‘categorie’.

‘Category’ (sleutel, ID) is een integer die is verbonden met geometrie-primitieven, en het wordt gebruikt als de koppeling naar één sleutelkolom in de databasetabel.

Tip

Het GRASS vectorgegevensmodel leren

De beste manier om het vectormodel van GRASS en de mogelijkheden daarvan is om één van de vele handleidingen voor GRASS te downloaden waar het vectormodel dieper wordt beschreven. Zie http://grass.osgeo.org/documentation/manuals/ voor meer informatie, boeken en handleidingen in verschillende talen.

Maken van een nieuwe GRASS vectorlaag

Klik, om een nieuwe vectorlaag voor GRASS met de plug-in GRASS te maken, op het pictogram van de werkbalk grass_new_vector_layer Nieuwe GRASS vector maken. Voer in het tekstvak een naam in en u kunt beginnen met het digitaliseren van geometrieën punt, lijn of polygoon, volgens de procedure die is beschreven in het gedeelte Digitaliseren en bewerken van een GRASS vectorlaag.

In GRASS is het mogelijk alle soorten typen geometrie (punt, lijn en gebied) te beheren in één laag, omdat GRASS een topologisch vectormodel gebruikt, dus hoeft u niet het type geometrie te selecteren bij het maken van een nieuwe vector in GRASS. Dit verschilt van het maken van een shapefile met QGIS, omdat shapefiles het vectormodel Eenvoudig object gebruiken (zie het gedeelte Nieuwe vectorlagen maken).

Tip

Een attributentabel maken voor een nieuwe GRASS vectorlaag

Als u attributen wilt toewijzen aan uw gedigitaliseerde geometrie-objecten, zorg er dan voor dat u een attributentabel met kolommen hebt gemaakt vóórdat u begint met digitaliseren (zie figure_grass_digitizing_5).

Digitaliseren en bewerken van een GRASS vectorlaag

Het gereedschap voor het digitaliseren van GRASS vectorlagen is toegankelijk met behulp van het pictogram grass_edit GRASS–Vectorlaag bewerken op de werkbalk. Zorg er voor dat u een GRASS vector heeft geladen en dat het de geselecteerde laag in de legenda is vóórdat u op het gereedschap voor bewerken klikt. Afbeelding figure_grass_digitizing_2 geeft het dialoogvenster GRASS Bewerken weer dat wordt weergegeven wanneer u op het gereedschap voor bewerken klikt. Het gereedschap en de instellingen worden in de volgende gedeelten besproken.

Tip

Digitaliseren van polygonen in GRASS

Wanneer u een polygoon wilt maken in GRASS, digitaliseert u eerst de grens van de polygoon en stelt de modus in op ‘Geen categorie’. Dan voegt u een zwaartepunt (labelpunt) in de gesloten begrenzing in en stelt de modus in op ‘Volgende niet gebruikt’. De reden hiervoor is dat een topologisch vectormodel de informatie voor het attribuut van een polygoon altijd koppelt aan het zwaartepunt en niet aan de grens.

Werkbalk

In figure_grass_digitizing_1, ziet u de pictogrammen voor de werkbalk Digitaliseren voor GRASS, die worden verschaft door de plug-in GRASS. Tabel table_grass_digitizing_1 verklaart de beschikbare functionaliteiten.

Figure GRASS digitizing 1:

../../../_images/grass_digitizing_toolbar.png

GRASS Werkbalk Digitaliseren

Pictogram

Gereedschap

Doel

grass_new_point

Nieuw punt

Nieuw punt digitaliseren

grass_new_line

Nieuwe lijn

Nieuwe lijn digitaliseren

grass_new_boundary

Nieuwe grens

Nieuwe grens digitaliseren (voltooien door nieuw gereedschap te kiezen)

grass_new_centroid

Nieuw zwaartepunt

Nieuw zwaartepunt digitaliseren (label bestaand gebied)

grass_move_vertex

Punt verplaatsen

Verplaats één punt of bestaande lijn of grens en identificeer de nieuwe positie

grass_add_vertex

Punt toevoegen

Voeg een nieuw punt toe aan bestaande lijn

grass_delete_vertex

Punt verwijderen

Verwijder punt uit bestaande lijn (bevestig te verwijderen punt door nog een klik)

grass_move_line

Element verplaatsen

Verplaats geselecteerde grens, lijn, punt of zwaartepunt en klik op de nieuwe positie

grass_split_line

Lijn splitsen

Een bestaande lijn in twee delen splitsen

grass_delete_line

Element verwijderen

Verwijder bestaande grens, lijn, punt of zwaartepunt (bevestig geselecteerde element door nog een klik)

grass_edit_attributes

Attributen bewerken

Bewerk attributen van het geselecteerde element (onthoud dat één element meerdere objecten kan weergeven, zie boven)

grass_close_edit

Sluiten

Sluit de sessie af en sla de huidige status op (bouwt topologie nadien nogmaals op)

Tabel GRASS Digitaliseren 1: GRASS Gereedschap Digitaliseren

Tab Category

De tab Category stelt u in staat de manier te definiëren waarop de waarden van de categorie zullen worden toegewezen aan het nieuwe geometrie-element.

Figure GRASS digitizing 2:

../../../_images/grass_digitizing_category.png

GRASS Digitaliseren tab Categorie

  • Modus: De waarde voor de categorie die zal worden toegepast op nieuwe elementen van geometrie.

    • Volgende niet gebruikt - Toepassen van de categorie Volgende niet gebruikt op element van geometrie.

    • Handmatige invoer - Definieer handmatig de waarde voor de categorie voor het element van geometrie in het invoerveld ‘Categorie’.

    • Geen categorie - Pas geen waarde voor de categorie toe op het element van geometrie. Dit wordt, bijvoorbeeld, gebruikt voor gebiedsgrenzen, omdat de waarden voor de categorie worden verbonden via het zwaartepunt.

  • Categorie - Het getal (ID) dat is gekoppeld aan elk gedigitaliseerd element van geometrie. Het wordt gebruikt om elk element van geometrie met zijn attributen te verbinden.

  • Laag - Elk element van geometrie kan worden verbonden met verscheidene attributentabellen door middel van verschillende geometrielagen van GRASS. Het standaard laagnummer is 1.

Tip

Een aanvullende ‘laag’ van GRASS maken met QGIS

Als u meer lagen zou willen toevoegen aan uw gegevensset, voeg dan gewoon een nieuw nummer in in het invoervak ‘Laag’ en druk op Return. Op de tab Tabel kunt u uw nieuwe tabel maken die wordt verbonden met uw nieuwe laag.

Tab Extra

De tab Extra stelt u in staat om het ‘snappen’ in te stellen op schermpixels. De drempelwaarde definieert op welke afstand nieuwe punten of einden van lijnen zullen worden ‘gesnapt’ aan bestaande knopen. Dit helpt om gaten of hangende uiteinden tussen grenzen te voorkomen. De standaard is ingesteld op 10 pixels.

Figure GRASS digitizing 3:

../../../_images/grass_digitizing_settings.png

GRASS Digitaliseren tab Extra

Tab Symbologie

De tab Symbologie stelt u in staat instellingen voor symbologie en kleur te bekijken en in te stellen voor verschillende typen geometrie en hun topologische status (bijv., gesloten / geopende grens).

Figure GRASS digitizing 4:

../../../_images/grass_digitizing_symbology.png

GRASS Digitaliseren tab Symbologie

Tab Tabel

De tab Tabel verschaft informatie over de databasetabel voor een opgegeven ‘laag’. Hier kunt u nieuwe kolommen toevoegen aan een bestaande attributentabel, of een nieuwe databasetabel maken voor een nieuwe vectorlaag in GRASS (zie gedeelte Maken van een nieuwe GRASS vectorlaag).

Figure GRASS digitizing 5:

../../../_images/grass_digitizing_table.png

GRASS Digitaliseren tab Tabel

Tip

GRASS Rechten voor bewerken

U moet de eigenaar zijn van de MAPSET van GRASS die u wilt bewerken. Het is onmogelijk om gegevenslagen te bewerken in een MAPSET die niet van u is, zelfs niet als u schrijfrechten heeft.

Het GRASS–gereedschap regio

De definitie van een regio (instellen van een ruimtelijk werkvenster) in GRASS is belangrijk voor het werken met rasterlagen. Vectoranalyses zijn standaard niet beperkt tot definities van gedefinieerde regio´s. Maar alle nieuwe gemaakte rasters zullen de ruimtelijke extensie en resolutie van de huidige gedefinieerde regio in GRASS hebben, ongeacht hun originele extensie en resolutie. De huidige regio van GRASS is opgeslagen in het bestand $LOCATION/$MAPSET/WIND, en het definieert de grenzen voor Noord, Zuid, Oost en West, aantal kolommen en rijen, horizontale en verticale ruimtelijke resolutie.

Het is mogelijk de visualisatie van de regio van GRASS in het kaartvenster van QGIS in of uit te schakelen met behulp van de knop grass_region Huidige GRASS-regio tonen.

Met het pictogram grass_region_edit Huidige GRASS-regio bewerken kunt u een dialoogvenster openen om de huidige regio en de symbologie van de rechthoek van de regio van GRASS in het kaartvenster van QGIS te wijzigen. Typ de nieuwe grenzen voor de regio en resolutie in en klik op [OK]. Het dialoogvenster stelt u ook in staat, interactief met uw muis, een nieuwe regio te selecteren in het kaartvenster van QGIS. Klik daarom met de linker muisknop in het kaartvenster van QGIS, open een rechthoek, sluit die met opnieuw de linker muisknop en klik op [OK].

De module voor GRASS g.region verschaft nog veel meer parameters om een toepasselijk bereik voor een regio en resolutie voor uw rasteranalyses te definiëren. U kunt deze parameters gebruiken met de Toolbox voor GRASS, beschreven in het gedeelte De Toolbox voor GRASS.

De Toolbox voor GRASS

Het vak grass_tools GRASS-gereedschap openen verschaft functionaliteiten voor modules van GRASS om met gegevens binnen een geselecteerde LOCATION en MAPSET voor GRASS te werken. U dient een LOCATION en MAPSET te openen waarvoor u schrijfrechten heeft toegekend gekregen (gewoonlijk toegekend als u de MAPSET zelf maakte) om de Toolbox voor GRASS te kunnen gebruiken. Dit is nodig omdat nieuwe raster- of vectorlagen die worden gemaakt gedurende analyses moeten worden weggeschreven naar de momenteel geselecteerde LOCATION en MAPSET.

Figure GRASS Toolbox 1:

../../../_images/grass_toolbox_moduletree.png

GRASS Toolbox en Moduleboom nix

Werken met modules van GRASS

De GRASS-shell binnen de Toolbox voor GRASS verschaft toegang tot bijna alle (meer dan 300) modules voor GRASS in een interface voor de opdrachtregel. Ongeveer 200 van de beschikbare modules en functionaliteiten voor GRASS zijn ook voorzien van grafische dialoogvensters binnen de Toolbox van de plug-in GRASS om een meer gebruikersvriendelijker werkomgeving te bieden.

Een volledige lijst van modules voor GRASS die beschikbaar zijn in de grafische Toolbox in QGIS versie 2.8 is beschikbaar op de wiki van GRASS op http://grass.osgeo.org/wiki/GRASS-QGIS_relevant_module_list.

Het is ook mogelijk de inhoud van de Toolbox van GRASS aan te passen. Deze procedure wordt beschreven in het gedeelte Aanpassen van de Toolbox van GRASS.

Zoals weergegeven in figure_grass_toolbox_1 kunt u naar de toepasselijke module voor GRASS zoeken met behulp van de thematisch gegroepeerde Modulen Boom of de te doorzoeken tab Modulen Lijst.

Door te klikken op een grafisch pictogram voor een module zal een nieuwe tab worden toegevoegd aan het dialoogvenster van de Toolbox, die drie nieuwe sub-tabs verschaft: Opties, Output en Handleiding.

Opties

De tab Opties verschaft een vereenvoudigd dialoogvenster voor de module waar u gewoonlijk een raster- of vectorlaag, die is gevisualiseerd in het kaartvenster van QGIS, kunt selecteren en meer module-specifieke parameters kunt invullen om de module uit te voeren.

Figure GRASS module 1:

../../../_images/grass_module_option.png

GRASS Toolbox Module-opties nix

De verschafte parameters voor de module zijn vaak niet compleet om het dialoogvenster duidelijk te houden. Als u meer parameters en vlaggen voor de module wilt gebruiken, dient u de GRASS-shell te starten en de module uit te voeren op de opdrachtregel.

Een nieuwe mogelijkheid sinds QGIS 1.8 is de ondersteuning voor een knop Geavanceerde opties tonen onder het vereenvoudigde dialoogvenster voor de module op de tab Opties. Op dit moment is het alleen toegevoegd aan de module v.in.ascii als gebruiksvoorbeeld, maar het zal waarschijnlijk deel gaan uitmaken van de meeste of alle modules in de Toolbox voor GRASS in toekomstige versies van QGIS. Dit stelt u in staat de volledige opties voor de module voor GRASS te gebruiken zonder dat u hoeft over te schakelen naar de GRASS-shell.

Output

Figure GRASS module 2:

../../../_images/grass_module_output.png

GRASS Toolbox Module Output nix

De tab Output verschaft informatie over de uitvoerstatus van de module. Wanneer u klikt op de knop [Uitvoeren], schakelt de module naar de tab Output en ziet u informatie over het analyseproces. Als alles goed werkt ziet u uiteindelijk een bericht Succesvol geëindigd.

Handleiding

Figure GRASS module 3:

../../../_images/grass_module_manual.png

GRASS Toolbox Module Handleiding nix

De tab Handleiding geeft de HTML Help-pagina van de module voor GRASS weer. U kunt die gebruiken om te controleren op meer parameters en vlaggen voor de module of om een beter inzicht te krijgen over het doel van de module. Aan het einde van elke pagina met de handleiding van de module zult u verder koppelingen zien naar de Main index, de Thematische index en de Full index. Deze koppelingen verschaffen dezelfde informatie als de module g.manual.

Tip

Resultaten onmidellijk weergeven

Als u uw resultaten van de berekeningen direct wilt weergeven in uw kaartvenster, kunt u de knop ‘Uitvoer bekijken’ onder op de tab van de module gebruiken.

GRASS voorbeelden van modules

De volgende voorbeelden zullen de kracht van enkele van de modules van GRASS demonstreren.

Contourlijnen maken

Het eerste voorbeeld maakt een vector contourenkaart uit een hoogteraster (DEM). Hier wordt aangenomen dat u de LOCATION Alaska heeft ingesteld zoals uitgelegd in het gedeelte Importeren van gegevens in een GRASS LOCATION.

  • Open eerst de locatie door te klikken op de knop grass_open_mapset Mapset openen en de locatie Alaska te kiezen.

  • Laad nu het hoogteraster gtopo30 door te klikken op grass_add_raster GRASS–Rasterlaag toevoegen en het raster gtopo30 vanaf de locatie demo te selecteren.

  • Open nu de Toolbox met de knop grass_tools GRASS-gereedschap openen.

  • In de lijst met categorieën gereedschap, dubbelklik op Raster ‣ ‘Surface management’ ‣ Genereer vector contourlijnen.

  • Nu zal een enkele klik op het gereedschap r.contour het dialoogvenster voor het gereedschap openen zoals boven uitgelegd (zie Werken met modules van GRASS). Het raster gtopo30 zou moeten verschijnen als Name of input raster.

  • Typ in het vak Increment between Contour levels selectnumber de waarde 100. (Dit zal contourlijnen maken met een interval van 100 meter.)

  • Typ in het vak Name for output vector map de naam ctour_100.

  • Klik op [Uitvoeren] om het proces te beginnen. Wacht even totdat het bericht Succesvol geëindigd verschijnt in het uitvoervenster. Klik dan op [Uitvoer bekijken] en [Sluiten].

Omdat dit een grote regio is zal het even duren voordat alles wordt weergegeven. Nadat het renderen is voltooid, kunt u het venster Laageigenschappen openen om de lijnkleur te wijzigen zodat de contouren duidelijk over het hoogteraster te zien zijn, zoals in Het dialoogvenster Vectoreigenschappen.

Zoom vervolgens in op een klein bergachtig gebied in het midden van Alaska. Bij het veel inzoomen zult u opmerken dat de contouren scherpe hoeken hebben. GRASS biedt het gereedschap v.generalize om vectorkaarten lichtjes te wijzigen met behoud van hun overall-vorm. Het gereedschap gebruikt verscheidene verschillende algoritmen met verschillende doeleinden. Sommig algoritmen (d.i., Douglas Peuker en Vertex Reduction) vereenvoudigen de lijn door enkele punten te verwijderen. De resulterende vector zal sneller laden. Dit proces is nuttig als u een vector met veel detail heeft, maar u maakt een kaart op zeer kleine schaal, dus detail is niet nodig.

Tip

Het gereedschap Vereenvoudigen

Onthoud dat de plug-in fTools voor QGIS een gereedschap Geometrieën vereenvoudigen ‣ heeft dat net zo werkt als het GRASS v.generalize Douglas-Peuker algoritme.

Echter, het doel van dit voorbeeld is anders. De contourlijnen die zijn gemaakt door r.contour hebben scherpe hoeken die gladder zouden moeten. Tussen de algoritmen voor v.generalize staat Chaiken’s, wat precies dat doet (ook Hermite-splines). Onthoud dat deze algoritmen aanvullende hoeken kunnen toevoegen aan de vector, waardoor het nog langzamer is te laden.

  • Open de Toolbox voor GRASS en dubbelklik op categorieën Vector ‣ Develop map ‣ Generaliseren, klik dan op de module v.generalize om het venster Opties daarvan te openen.

  • Controleer of de vectorlaag ‘ctour_100’ verschijnt in het vak Name of input vector.

  • Kies Chaiken’s Algorithm uit de lijst met algoritmen. Laat alle andere opties op hun standaard staan en scroll naar beneden naar de laatste rij om in het veld Name for output vector map ‘ctour_100_smooth’ in te vullen en klik op [Uitvoeren].

  • Het proces duurt enige tijd. Als eenmaal Succesvol geëindigd verschijnt in het uitvoervenster, klik dan op [Uitvoer bekijken] en dan op [Sluiten].

  • U zou de kleur van de vectorlaag kunnen wijzigen om die duidelijk weer te geven tegen de achtergrond van het raster en om contrast te krijgen met de originele contourlijnen. Het zal u opvallen dat de nieuwe contourlijnen gladdere hoeken hebben dan de originele terwijl zij nog voldoen aan de originele overall-vorm.

Figure GRASS module 4:

../../../_images/grass_toolbox_vgeneralize.png

GRASS module v.generalize om een vectorkaart gladder te maken nix

Tip

Ander gebruik voor r.contour

De hierboven beschreven procedure kan in equivalente andere situaties worden gebruikt. Als u een rasterkaart heeft met gegevens over neerslag, bijvoorbeeld, dan kan dezelfde methode worden gebruikt om een vectorkaart met isohyetale (constante neerslag) lijnen te maken.

Een 3D heuvels met schaduw-effect maken

Verscheidene methoden worden gebruikt om hoogtelagen weer te geven en een 3D-effect aan kaarten te geven. Het gebruiken van contourlijnen, zoals hierboven weergegeven, is een populaire methode die vaak gekozen wordt om topografische kaarten te produceren. Een andere manier om een 3D-effect weer te geven is door schaduw op heuvels. Het effect van schaduw op heuvels wordt gemaakt vanuit een DEM (hoogte)raster door eerst de helling en aspect van elke cel te berekenen, dan de positie van de zon in de lucht te simuleren en een waarde van reflectie te geven aan elke cel. U krijgt dus lichte hellingen in de zon; de hellingen die uit de zon liggen (in de schaduw) worden donkerder.

  • Begin dit voorbeeld met het laden van het hoogteraster gtopo30. Start de Toolbox voor GRASS en onder de categorie Raster, dubbelklik om Ruimtelijke analyse ‣ Terrain analysis te openen.

  • Klik dan op r.shaded.relief om de module te openen.

  • Wijzig azimuth angle selectnumber 270 naar 315.

  • Voer gtopo30_shade in voor het nieuwe raster met schaduw voor de heuvels en klik op [Uitvoeren].

  • Wanneer het proces voltooid is, voeg dan het raster met schaduw voor de heuvels toe aan de kaart. U zou die nu moeten zien weergegeven in grijswaarden.

  • Verplaats de kaart met schaduw op de heuvels naar onder de kaart gtopo30 in de inhoudsopgave, open dan het venster Properties van gtopo30, schakel naar de tab Transparantie en stel het niveau voor transparantie in op ongeveer 25% om zowel de schaduw op de heuvels als de kleuren van gtopo30 tezamen te zien.

U zou nu de hoogte gtopo30 moeten hebben met zijn kleurenkaart en transparante instelling weergegeven boven de kaart van de heuvels met schaduw in grijswaarden. Schakel, om de visuele effecten van de schaduw op de hevels te zien, de kaart gtopo30_shade uit en schakel die dan weer in.

Gebruiken van de GRASS-shell

De plug-in GRASS in QGIS is ontworpen voor gebruikers voor wie GRASS nieuw is en die niet bekend zijn met alle modules en opties. Daarom geven sommige modules in de Toolbox niet alle beschikbare opties weer, en sommige modules verschijnen in het geheel niet. De GRASS-shell (of console) geeft de gebruiker toegang tot deze aanvullende modules van GRASS die niet in de boom van Toolbox verschijnen en ook tot enkele aanvullende opties voor de modules die in de Toolbox staan met de eenvoudigste standaard parameters. Dit voorbeeld demonstreert het gebruiken van een aanvullende optie in de module r.shaded.relief die hierboven werd weergegeven.

Figure GRASS module 5:

../../../_images/grass_toolbox_shell.png

De GRASS-shell, r.shaded.relief module nix

De module r.shaded.relief mag een parameter zmult hebben, die de waarden voor hoogte relatief vermenigvuldigt ten opzichte van de eenheden van de XY-coördinaten zodat het effect van schaduw op de heuvels nog meer geprononceerd is.

  • Laad het hoogteraster gtopo30 zoals hierboven en start dan de Toolbox voor GRASS en klik op de GRASS-shell. Type, in het venster van de shell, de opdracht r.shaded.relief map=gtopo30 shade=gtopo30_shade2 azimuth=315 zmult=3 en druk op [Enter].

  • Schakel, nadat het proces is voltooid, over naar de tab Browser en dubbelklik op het nieuwe raster gtopo30_shade2 om het weer te geven in QGIS.

  • Zoals hierboven uitgelegd, verplaats het raster met het schaduw-reliëf tot onder het raster gtopo30 in de inhoudsopgave en controleer de transparantie van de gekleurde laag gtopo30. U zou moeten zien dat het 3D-effect sterker naar voren komt vergeleken met de eerste kaart met schaduw-reliëf.

Figure GRASS module 6:

../../../_images/grass_toolbox_shadedrelief.png

Weergeven van reliëf met schaduw, gemaakt met de module van GRASS r.shaded.relief nix

Rasterstatistieken in een vectorkaart

Het volgende voorbeeld laat zien hoe een module van GRASS rastergegevens kan aggregeren en kolommen voor statistieken voor elke polygoon in een vectorkaart kan toevoegen.

  • Gebruik opnieuw de gegevens voor Alaska, bekijk Importeren van gegevens in een GRASS LOCATION om het shapefile trees te importeren vanuit de map shapefiles in GRASS.

  • Nu is een tussenstap vereist: zwaartepunten moeten worden toegevoegd aan de geïmporteerde kaart trees om het een volledige gebiedsvector voor GRASS te maken (inclusief beide grenzen en zwaartepunten).

  • Kies, vanuit de Toolbox, Vectorlaag ‣ Develop map ‣ Objecten beheren en open de module v.centroids.

  • Voer als output vector map in ‘forest_areas’ en voer de module uit.

  • Laad vervolgens de forest_areas laag en visualiseer de karakteristieken - naaldbos (evergreen), loofbos (deciduous) of gemengd (mixed) - in verschillende kleuren. Selecteer in de tab laag Eigenschappen window, Symbologie en selecteer uit Legenda type selectstring ‘Unieke waarde’ vervolgens het Classificatie veld ‘VEGDESC’. Uitleg over symbologie vindt u in Menu Stijl van de vector sectie.

  • Vervolgens, open de Toolbox voor GRASS opnieuw en open Vectorlaag ‣ Vector updaten o.b.v. andere kaarten.

  • Klik op de module v.rast.stats. Voer gtopo30 en forest_areas in.

  • Er is slechts één aanvullende parameter nodig: Voer column prefix elev in en klik op [Uitvoeren]. Dit is een qua berekeningen zware bewerking die geruime tijd zal vergen (waarschijnlijk meer dan twee uur).

  • Tenslotte, open de attributentabel van forest_areas en verifieer dat verschillende nieuwe kolommen zijn toegevoegd, inclusief elev_min, elev_max, elev_mean, etc., voor elk polygoon bos.

Werken met de LOCATION-browser van GRASS

Een andere nuttige mogelijkheid binnen de Toolbox is de browser LOCATION voor GRASS. In figure_grass_module_7 ziet u de huidige werk- LOCATION met zijn MAPSET's.

In het linker venster van de browser kunt u door alle MAPSET's bladeren binnen de huidige LOCATION. Het rechter venster van de browser geeft enige meta-informatie weer voor geselecteerde raster- of vectorlagen (bijv., resolutie, vak voor begrenzingen, gegevensbron, verbonden attributentabel voor vectorgegevens en een historie van opdrachten).

Figure GRASS module 7:

../../../_images/grass_mapset_browser.png

GRASS LOCATION-browser nix

De werkbalk op de tab Browser biedt de volgende gereedschappen voor het beheren van de geselecteerde LOCATION:

  • grass_add_map Geselecteerde kaart toevoegen aan kaartvenster

  • grass_copy_map Geselecteerde kaart kopiëren

  • grass_rename_map Geselecteerde kaart hernoemen

  • grass_delete_map Geselecteerde kaart verwijderen

  • grass_set_region Huidige regio instellen op geselecteerde kaart

  • grass_refresh Venster van browser vernieuwen

grass_rename_map Geselecteerde kaart hernoemen en grass_delete_map Geselecteerde kaart verwijderen werken alleen met kaarten binnen uw momenteel geselecteerde MAPSET. Alle andere gereedschappen werken ook met raster- en vectorlagen in een andere MAPSET.

Aanpassen van de Toolbox van GRASS

Nagenoeg alle modules voor GRASS kunnen worden toegevoegd aan de Toolbox voor GRASS. Een XML-interface wordt verschaft voor het parsen van de vrij eenvoudige XML-bestanden die het uiterlijk en parameters van de module binnen de Toolbox configureren.

Een voorbeeld XML-bestand voor het maken van de module v.buffer (v.buffer.qgm) ziet er uit zoals dit:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE qgisgrassmodule SYSTEM "http://mrcc.com/qgisgrassmodule.dtd">

<qgisgrassmodule label="Vector buffer" module="v.buffer">
        <option key="input" typeoption="type" layeroption="layer" />
        <option key="buffer"/>
        <option key="output" />
</qgisgrassmodule>

De parser leest deze definitie en maakt een nieuwe tab binnen de Toolbox wanneer u de module selecteert. Een meer gedetailleerde beschrijving voor het toevoegen van nieuwe modules, wijzigen van een groep van een module, etc., is te vinden op de wiki van QGIS op http://hub.qgis.org/projects/quantum-gis/wiki/Adding_New_Tools_to_the_GRASS_Toolbox.