.

Integrarea GRASS GIS

Plugin-ul GRASS oferă acces bazei de date GRASS GIS și funcționalităților (vedeți GRASS-PROJECT în Literatură și Referințe Web). Aceasta include vizualizarea straturilor GRASS raster și vectoriale, digitalizarea straturilor vectoriale, editarea atributelor vectoriale, crearea de noi straturi vectoriale și analiza datelor GRASS 2-D și 3-D, cu mai mult de 400 de module GRASS.

În această secțiune, vom introduce funcționalitățile plugin-ului și vom da câteva exemple de gestionare și de lucru cu datele GRASS. Următoarele caracteristici principale sunt prevăzute în meniul barei de instrumente, atunci când lansați plugin-ul GRASS, așa cum este descris în secțiunea sec_starting_grass:

  • grass_open_mapset Deschidere set de hărți

  • grass_new_mapset Nou set de hărți

  • grass_close_mapset Închidere set de hărți

  • grass_add_vector Adăugare strat vectorial GRASS

  • grass_add_raster Adăugare strat raster GRASS

  • grass_new_vector_layer Creare nou vector GRASS

  • grass_edit Editare strat vectorial GRASS

  • grass_tools Deschidere instrumente GRASS

  • grass_region Afișare regiune curentă GRASS

  • grass_region_edit Editare regiune curentă GRASS

Startarea plugin-ului GRASS

Pentru a utiliza funcționalitățile GRASS, și/sau pentru a vizualiza vectorii GRASS și straturile raster în QGIS, trebuie să selectați și să încărcați plugin-ul GRASS cu ajutorul Managerului de Plugin-uri. Prin urmare, mergeți la meniul Plugins ‣ mActionShowPluginManager Manage Plugins, selectați checkbox GRASS și faceți clic pe [OK].

Puteți începe, de acum, încărcarea straturilor raster și vectoriale dintr-o LOCAȚIE GRASS existentă (v. secțiunea sec_load_grassdata). Sau, puteți crea un nouă LOCAȚIE GRASS din QGIS (v. secțiunea Crearea unei noi LOCAȚII GRASS), apoi să importați unele date raster și vectoriale (a se vedea secțiunea Importați datele într-o LOCAȚIE GRASS) pentru analize ulterioare cu Instrumentele GRASS (parcurgeți secțiunea Bara de instrumente GRASS).

Încărcarea straturilor raster și vectoriale GRASS

Cu ajutorul plugin-ului GRASS puteți încărca straturi vectoriale sau de tip raster, acționând butonul corespunzător din meniul barei de instrumente. Ca exemplu, vom utiliza setul de date Alaska din QGIS (a se vedea secțiunea Date eșantion). Acesta include un mic eșantion GRASS LOCATION cu trei straturi vectoriale și o hartă raster a elevației.

  1. Creați un nou folder denumit grassdata, descărcați setul de date ‘Alaska’ al QGIS, qgis_sample_data.zip, de la http://download.osgeo.org/qgis/data/, apoi dezarhivați fișierul în grassdata.

  2. Start QGIS.
  3. Încărcați plugin-ul GRASS, în cazul în care nu ați efectuat deja acest lucru într-o sesiune QGIS anterioară, dând clic pe Plugin-uri ‣ mActionShowPluginManager Gestiune Plugin-uri și activând checkbox GRASS. În fereastra principală a QGIS va apărea bara de instrumente GRASS.

  4. În bara de instrumente GRASS, faceți clic pe pictograma grass_open_mapset Deschidere set de hărți pentru a deschide wizard-ul MAPSET.

  5. Pentru Gisdbase, răsfoiți și selectați, sau introduceți, calea către directorul nou creat grassdata.

  6. Ar trebui să aveți acum posibilitatea de a selecta LOCATION selectstring alaska și MAPSET selectstring demo.

  7. Clic [OK]. Observați că unele instrumente din bara de instrumente GRASS, dezactivate anterior, sunt acum activate.

  8. Clic pe grass_add_raster Add GRASS raster layer, denumiți harta gtopo30, apoi faceți clic pe [OK]. Stratul de elevație va fi vizualizat.

  9. Efectuând click pe grass_add_vector Adăugare strat vectorial GRASS, alegeți numele alaska pentru hartă, apoi apăsați [OK]. Stratul vectorial cu granița zonei Alaska se va suprapune peste partea de sus a hărții gtopo30. Acum, puteți configura proprietățile straturilor conform descrierii din capitolul Dialogul Proprietăților Vectoriale (ex.: schimbarea opacității și a culorilor de umpere și de contur).

  10. De asemenea, lansați QGIS și încărcați straturile vectoriale, rivers și airports, și adaptați proprietățile sale.

După cum vedeți, încărcarea în QGIS a rastererelor GRASS și a straturilor vectoriale este foarte simplă. Parcurgeți secțiunile următoare pentru editarea datelor GRASS și crearea unei noi LOCAȚII. Mai multe exemple de LOCAȚII GRASS sunt disponibile pe site-ul web GRASS, la http://grass.osgeo.org/download/sample-data/.

Tip

Încărcarea Datelor GRASS

Dacă aveți probleme de încărcare a datelor, sau QGIS se oprește anormal, asigurați-vă că ați încărcat plugin-ul GRASS corespunzător, așa cum este descris în secțiunea ref:sec_starting_grass.

GRASS LOCATION și MAPSET

Datele GRASS sunt stocate într-un director de tip GISDBASE. Acest director, denumit adesea grassdata, trebuie să existe înainte de a începe lucrul cu plugin-ul GRASS din QGIS. În interiorul acestui director, datele GRASS GIS sunt organizate în proiecte stocate, la rândul lor, în subdirectoare denumite LOCAȚII. Fiecare LOCAȚIE este definită prin sistemul de coordonate, proiecția hărții și limitele geografice. Fiecare LOCAȚIE poate avea mai multe SETURI DE HĂRȚI (subdirectoare ale LOCAȚIILOR) care sunt utilizate pentru a subdiviza un proiect în diferite teme sau subregiuni, ori în spații de lucru pentru membrii individuali ai unei echipe (v. Neteler & Mitasova 2008 în Literatură și Referințe Web). Pentru a analiza straturile vectoriale și raster cu ajutorul modulelor GRASS, trebuie să le importați într-o LOCAȚIE GRASS. (Acest lucru nu este complet adevărat - cu ajutorul modulelor GRASS r.external și v.external puteți crea numai link-uri read-only către seturile de date GDAL/OGR externe acceptate, fără să fie necesar importul lor. Însă, deoarece acesta nu este modul obișnuit pentru începători de a lucra cu GRASS, această opțiune nu va fi descrisă aici.)

Figure GRASS location 1:

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

Datele GRASS din LOCAȚIA alaska

Crearea unei noi LOCAȚII GRASS

Ca exemplu, este prezentat modul în care a fost creat, pentru setul de date demonstrative din QGIS, eșantionul GRASS al LOCAȚIEI alaska, care este proiectat în proiecția Albers cu Suprafețe Egale și având ca unitate de măsură picioarele. Acest eșantion GRASS al LOCAȚIEI alaska va fi folosit pentru toate exemplele și exercițiile din următoarele secțiuni legate de GRASS. Este util să descărcați setul de date pe computerul dvs, apoi să-l instalați (v. Date eșantion).

  1. Start QGIS, apoi asigurați-vă că plugin-ul GRASS este încărcat.

  2. Vizualizați fișierul shape alaska.shp (vedeți secțiunea Încărcarea Fişierului Shape) din setul de date Alaska din QGIS (v. Date eșantion).

  3. În bara de instrumente GRASS, faceți clic pe pictograma grass_new_mapset New mapset pentru a deschide wizard-ul MAPSET.

  4. Selectați dosarul grassdata, unei baze de date existente GRASS (GISDBASE) sau creați unul pentru noua LOCAȚIE folosind un manager de fișiere de pe computerul dvs. Apoi faceți clic pe [Next].

  5. Putem folosi acest wizard pentru a crea un nou MAPSET în cadrul unei LOCAȚII existente (v. secțiunea Adăugarea unui nou MAPSET), sau pentru a crea o LOCAȚIE complet nouă. Selectați radiobuttonon Create new location (see figure_grass_location_2).

  6. Introduceți un nume pentru LOCATION – vom folosi ‘alaska’ – apoi faceți clic pe [Next].

  7. Definiți proiecția, făcând clic pe butonul radio radiobuttonon Projection pentru a activa lista proiecțiilor.

  8. We are using Albers Equal Area Alaska (feet) projection. Since we happen to know that it is represented by the EPSG ID 2964, we enter it in the search box. (Note: If you want to repeat this process for another LOCATION and projection and haven’t memorized the EPSG ID, click on the mIconProjectionEnabled CRS Status icon in the lower right-hand corner of the status bar (see section Lucrul cu Proiecții)).
  9. În Filtrul, inserați 2964 pentru a selecta proiecția.

  10. Clic pe [Next].

  11. To define the default region, we have to enter the LOCATION bounds in the north, south, east, and west directions. Here, we simply click on the button [Set current |qg| extent], to apply the extent of the loaded layer alaska.shp as the GRASS default region extent.
  12. Clic pe [Next].

  13. We also need to define a MAPSET within our new LOCATION (this is necessary when creating a new LOCATION). You can name it whatever you like - we used ‘demo’. GRASS automatically creates a special MAPSET called PERMANENT, designed to store the core data for the project, its default spatial extent and coordinate system definitions (see Neteler & Mitasova 2008 in Literatură și Referințe Web).
  14. Verificați rezumatul pentru a vă asigura că este corect, apoi faceți clic pe [Finish].

  15. Sunt create noua LOCAȚIE, ‘alaska’, și două SETURI DE HĂRȚI, ‘demo’ și ‘PERMANENT’. Setul deschis în mod curent este ‘demo’, așa cum a l-ați definit.

  16. Observați că unele instrumente din bara de instrumente GRASS, dezactivate anterior, sunt acum activate.

Figure GRASS location 2:

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

Creați o nouă LOCAȚIE GRASS sau un nou MAPSET în QGIS

If that seemed like a lot of steps, it’s really not all that bad and a very quick way to create a LOCATION. The LOCATION ‘alaska’ is now ready for data import (see section Importați datele într-o LOCAȚIE GRASS). You can also use the already-existing vector and raster data in the sample GRASS LOCATION ‘alaska’, included in the QGIS ‘Alaska’ dataset Date eșantion, and move on to section Modelul de date vectoriale GRASS.

Adăugarea unui nou MAPSET

A user has write access only to a GRASS MAPSET he or she created. This means that besides access to your own MAPSET, you can read maps in other users’ MAPSETs (and they can read yours), but you can modify or remove only the maps in your own MAPSET.

All MAPSETs include a WIND file that stores the current boundary coordinate values and the currently selected raster resolution (see Neteler & Mitasova 2008 in Literatură și Referințe Web, and section Regiunea instrumentelor GRASS).

  1. Start QGIS, apoi asigurați-vă că plugin-ul GRASS este încărcat.

  2. În bara de instrumente GRASS, faceți clic pe pictograma grass_new_mapset New mapset pentru a deschide wizard-ul MAPSET.

  3. Selectați folderul grassdata al bazei de date GRASS (GISDBASE) cu locația LOCATION ‘alaska’, în care dorim să adăugăm un nou set de hărți denumit ‘test’.

  4. Clic pe [Next].

  5. Putem folosi acest wizard pentru a crea un nou MAPSET în cadrul unei LOCAȚII existente, sau pentru a crea o LOCAȚIE complet nouă. Clic pe butonul radio radiobuttonon Selectare locație (v. figure_grass_location_2), apoi faceți clic pe [Next].

  6. Introduceți denumirea text pentru noul Set de Hărți. În jos ferestrei se poate vedea lista Seturilor de Hărți existente, precum și proprietarii aferenți.

  7. Clic pe [Next], verificați rezumatul, pentru a vă asigura că este corect, apoi faceți clic pe [Finish].

Importați datele într-o LOCAȚIE GRASS

This section gives an example of how to import raster and vector data into the ‘alaska’ GRASS LOCATION provided by the QGIS ‘Alaska’ dataset. Therefore, we use the landcover raster map landcover.img and the vector GML file lakes.gml from the QGIS ‘Alaska’ dataset (see Date eșantion).

  1. Start QGIS, apoi asigurați-vă că plugin-ul GRASS este încărcat.

  2. În bara de instrumente GRASS, faceți clic pe pictograma grass_open_mapset Deschidere set de hărți pentru a deschide wizard-ul MAPSET.

  3. Selectați ca și bază de date GRASS dosarul grassdata, din setul de date Alaska al QGIS, ca și LOCAȚIE ‘alaska’, ca SET DE HĂRȚI ‘demo’, apoi faceți clic pe [OK].

  4. Acum faceți clic pe pictograma grass_tools Open GRASS tools. Va apărea bara de instrumente GRASS (see section Bara de instrumente GRASS).

  5. To import the raster map landcover.img, click the module r.in.gdal in the Modules Tree tab. This GRASS module allows you to import GDAL-supported raster files into a GRASS LOCATION. The module dialog for r.in.gdal appears.
  6. Răsfoiți folderul raster din setul de date ‘Alaska’ din QGIS, apoi selectați fișierul landcover.img.

  7. As raster output name, define landcover_grass and click [Run]. In the Output tab, you see the currently running GRASS command r.in.gdal -o input=/path/to/landcover.img output=landcover_grass.
  8. When it says Succesfully finished, click [View output]. The landcover_grass raster layer is now imported into GRASS and will be visualized in the QGIS canvas.
  9. To import the vector GML file lakes.gml, click the module v.in.ogr in the Modules Tree tab. This GRASS module allows you to import OGR-supported vector files into a GRASS LOCATION. The module dialog for v.in.ogr appears.
  10. Răsfoiți folderul gml din setul de date ‘Alaska’ din QGIS, apoi selectați fișierul lakes.gml ca fișier OGR.

  11. As vector output name, define lakes_grass and click [Run]. You don’t have to care about the other options in this example. In the Output tab you see the currently running GRASS command v.in.ogr -o dsn=/path/to/lakes.gml output=lakes\_grass.
  12. Când se spune Încheiat cu succes, faceți clic pe [Vizualizare ieșire]. Stratul vectorial lakes_grass este acum importat în GRASS apoi va fi vizualizat în canevasul QGIS.

Modelul de date vectoriale GRASS

Înainte de digitizare, este important să se înțeleagă modelul de date vectoriale GRASS.

În general, GRASS folosește un model vectorial topologic.

Aceasta înseamnă că zonele nu sunt reprezentate ca poligoane închise, ci printr-una sau mai multe granițe. O limită dintre două zone adiacente este digitizată o singură dată, și este partajată de ambele suprafețe. Limitele trebuie să fie conectate și închise, fără lacune. O zonă este identificată (și etichetată) prin centroidul acesteia.

Besides boundaries and centroids, a vector map can also contain points and lines. All these geometry elements can be mixed in one vector and will be represented in different so-called ‘layers’ inside one GRASS vector map. So in GRASS, a layer is not a vector or raster map but a level inside a vector layer. This is important to distinguish carefully. (Although it is possible to mix geometry elements, it is unusual and, even in GRASS, only used in special cases such as vector network analysis. Normally, you should prefer to store different geometry elements in different layers.)

It is possible to store several ‘layers’ in one vector dataset. For example, fields, forests and lakes can be stored in one vector. An adjacent forest and lake can share the same boundary, but they have separate attribute tables. It is also possible to attach attributes to boundaries. An example might be the case where the boundary between a lake and a forest is a road, so it can have a different attribute table.

The ‘layer’ of the feature is defined by the ‘layer’ inside GRASS. ‘Layer’ is the number which defines if there is more than one layer inside the dataset (e.g., if the geometry is forest or lake). For now, it can be only a number. In the future, GRASS will also support names as fields in the user interface.

Atributele pot fi stocate în interiorul LOCAȚIEI GRASS în format dBase sau SQLite3 sau în tabelele bazei de date externe, cum ar fi PostgreSQL, MySQL, Oracle, etc.

Atributele din tabelele bazei de date sunt legate de elementele geometrice printr-o valoare de ‘categorie’.

‘Categoria’ (key, ID) este un număr întreg atașat primitivelor geometrice, fiind folosită ca legătură către o coloană cheie, din tabelul bazei de date.

Tip

Înțelegerea modelului de date vectoriale GRASS

Cel mai bun mod de a învăța despre modelul vectorial GRASS și despre capabilitățile sale, este de a descărca unul dintre multe tutoriale GRASS în care modelul vectorial este descris în profunzime. Vizitați http://grass.osgeo.org/documentation/manuals/ pentru informații suplimentare, cărți și tutoriale în diverse limbi.

Crearea unui nou strat vectorial GRASS

To create a new GRASS vector layer with the GRASS plugin, click the grass_new_vector_layer Create new GRASS vector toolbar icon. Enter a name in the text box, and you can start digitizing point, line or polygon geometries following the procedure described in section Digitizarea și editarea unui strat vectorial GRASS.

In GRASS, it is possible to organize all sorts of geometry types (point, line and area) in one layer, because GRASS uses a topological vector model, so you don’t need to select the geometry type when creating a new GRASS vector. This is different from shapefile creation with QGIS, because shapefiles use the Simple Feature vector model (see section Crearea noillor straturi Vectoriale).

Tip

Crearea unei tabele de atribute pentru un nou strat vectorial GRASS

Dacă doriți să asignați atribute entităților geometrice digitizate, asigurați-vă că ați creat un tabel de atribute cu coloane înainte de a începe digitizarea (v. figure_grass_digitizing_5).

Digitizarea și editarea unui strat vectorial GRASS

Instrumentele de digitizare pentru straturi vectoriale GRASS sunt accesate folosindu-se pictograma grass_edit Edit GRASS vector layer. Asigurați-vă că ați încărcat un strat vectorial GRASS și că acesta este chiar stratul selectat în legendă, înainte de a apăsa pe instrumentul de editare. Figura figure_grass_digitizing_2 prezintă dialogul de editare GRASS ,care este afișat atunci când faceți clic pe instrumentul de editare. Instrumentele și setările sunt discutate în secțiunile următoare.

Tip

Digitizarea poligoanelor în GRASS

If you want to create a polygon in GRASS, you first digitize the boundary of the polygon, setting the mode to ‘No category’. Then you add a centroid (label point) into the closed boundary, setting the mode to ‘Next not used’. The reason for this is that a topological vector model links the attribute information of a polygon always to the centroid and not to the boundary.

Bara de Instrumente

În figure_grass_digitizing_1, veți vedea pictorgramele barei de instrumente de digitizare oferite de plugin-ul GRASS. Tabelul table_grass_digitizing_1 explică funcționalitățile disponibile.

Figure GRASS digitizing 1:

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

Bara Instrumentelor de Digitizare GRASS

Pictogramă

Instrument

Scop

grass_new_point

Punct Nou

Digitizare punct nou

grass_new_line

Linie nouă

Digitizare linie nouă

grass_new_boundary

Limită Nouă

Digitizarea unei limite noi (finalizare prin selectarea unui nou instrument)

grass_new_centroid

Centroid Nou

Digitizarea unui nou centroid (etichetarea zonei existente)

grass_move_vertex

Deplasare vertex

Deplasează un vertex al liniei sau al limitei existente, și identifică noua poziție

grass_add_vertex

Adăugare vertex

Adaugă un nou vertex liniilor existente

grass_delete_vertex

Ștergere vertex

Ștergere vertex din liniile existente (confirmă vertexul selectat, printr-un alt clic)

grass_move_line

Deplasare element

Deplasează granița, linia, punctul sau centroidul existente, apoi faceți clic pe noua poziție

grass_split_line

Divizare linie

Divide o linie existentă în două părți.

grass_delete_line

Ştergere element

Șterge limita, linia, punctul sau centroidul existente (confirmă element selectat printr-un alt clic)

grass_edit_attributes

Editare atribute

Editează atributele elementului selectat (rețineți că un element poate reprezenta mai multe entități, așa cum se arată mai sus)

grass_close_edit

Închidere

Închide sesiunea și salvează statutul actual (reconstruiește ulterior topologia)

Tabela 1 de Digitizare GRASS: Insrtrumente de Digitizare GRASS

Fila Categoriei

Fila Categoriei vă permite să definiți modul în care valorile categoriei vor fi atribuite unui nou element geometric.

Figure GRASS digitizing 2:

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

Fila Categoriei de Digitizare GRASS

  • Mod: Valoarea categoriei care va fi aplicată noilor elemente de geometrie.

    • Următorul nu este utilizat - Aplicați valoarea de categorie “următorul nu a fost încă utilizat” elementului de geometrie.

    • Intrare Manuală - Definiți manual valoarea categoriei pentru elementul de geometrie din câmpul de intrare ‘Categorie’.

    • Nici o categorie - Elementului geometric respectiv nu i se aplică nici o valoare de categorie. Aceasta este utilizată, de exemplu, pentru perimetre, deoarece valorile categoriilor sunt interconectate prin intermediul centrului de greutate.

  • Categorie - Numărul (ID-ul) care este atașat fiecărui element de geometrie digitalizată. Acesta este utilizat pentru a conecta orice element de geometrie la atributele sale.

  • Câmpul (stratului) - Fiecare element de geometrie poate fi conectat cu mai multe tabele de atribute, cu ajutorul diverselor straturi geometrice GRASS. Numărul implicit al stratului este 1.

Tip

Crearea unui ‘strat’ GRASS adițional cu |qg|

If you would like to add more layers to your dataset, just add a new number in the ‘Field (layer)’ entry box and press return. In the Table tab, you can create your new table connected to your new layer.

Fila Setărilor

Fila Setărilor vă permite să setați acroșarea, în pixeli. Pragul definește la ce distanță are loc acroșarea noilor puncte sau capete de linie, față de nodurile existente. Acest lucru ajută la prevenirea lacunelor sau a răsucirii limitelor între limite. Valoarea implicită este setată la 10 pixeli.

Figure GRASS digitizing 3:

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

Fila Setărilor de Digitizare GRASS

Fila Simbologiei

The Symbology tab allows you to view and set symbology and color settings for various geometry types and their topological status (e.g., closed / opened boundary).

Figure GRASS digitizing 4:

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

Fila Simbologiei de Digitizare GRASS

Fila Tabelei

The Table tab provides information about the database table for a given ‘layer’. Here, you can add new columns to an existing attribute table, or create a new database table for a new GRASS vector layer (see section Crearea unui nou strat vectorial GRASS).

Figure GRASS digitizing 5:

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

Fila Tabelei de Digitizare GRASS

Tip

Permisiuni de Editare GRASS

Trebuie să fiți proprietarul SETULUI DE HĂRȚI GRASS, pentru a-l putea edita. Este imposibilă editarea datelor din straturile SETULUI DE HĂRȚI care nu vă aparține, chiar dacă aveți permisiunea de scriere.

Regiunea instrumentelor GRASS

The region definition (setting a spatial working window) in GRASS is important for working with raster layers. Vector analysis is by default not limited to any defined region definitions. But all newly created rasters will have the spatial extension and resolution of the currently defined GRASS region, regardless of their original extension and resolution. The current GRASS region is stored in the $LOCATION/$MAPSET/WIND file, and it defines north, south, east and west bounds, number of columns and rows, horizontal and vertical spatial resolution.

Este posibilă activarea și dezactivarea vizualizării regiunii GRASS din canevasul QGIS folosind butonul grass_region Afișează regiunea curentă GRASS.

With the grass_region_edit Edit current GRASS region icon, you can open a dialog to change the current region and the symbology of the GRASS region rectangle in the QGIS canvas. Type in the new region bounds and resolution, and click [OK]. The dialog also allows you to select a new region interactively with your mouse on the QGIS canvas. Therefore, click with the left mouse button in the QGIS canvas, open a rectangle, close it using the left mouse button again and click [OK].

The GRASS module g.region provides a lot more parameters to define an appropriate region extent and resolution for your raster analysis. You can use these parameters with the GRASS Toolbox, described in section Bara de instrumente GRASS.

Bara de instrumente GRASS

The grass_tools Open GRASS Tools box provides GRASS module functionalities to work with data inside a selected GRASS LOCATION and MAPSET. To use the GRASS Toolbox you need to open a LOCATION and MAPSET that you have write permission for (usually granted, if you created the MAPSET). This is necessary, because new raster or vector layers created during analysis need to be written to the currently selected LOCATION and MAPSET.

Figure GRASS Toolbox 1:

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

Bara de Instrumente și Arborele Modulelor GRASS nix

Lucrul cu modulele GRASS

The GRASS shell inside the GRASS Toolbox provides access to almost all (more than 300) GRASS modules in a command line interface. To offer a more user-friendly working environment, about 200 of the available GRASS modules and functionalities are also provided by graphical dialogs within the GRASS plugin Toolbox.

A complete list of GRASS modules available in the graphical Toolbox in QGIS version 2.8 is available in the GRASS wiki at http://grass.osgeo.org/wiki/GRASS-QGIS_relevant_module_list.

De asemenea, este posibilă personalizarea conținutul Instrumentarului GRASS. Această procedură este descrisă în secțiunea Personalizarea Barei de Instrumente GRASS.

As shown in figure_grass_toolbox_1, you can look for the appropriate GRASS module using the thematically grouped Modules Tree or the searchable Modules List tab.

By clicking on a graphical module icon, a new tab will be added to the Toolbox dialog, providing three new sub-tabs: Options, Output and Manual.

Opțiuni

The Options tab provides a simplified module dialog where you can usually select a raster or vector layer visualized in the QGIS canvas and enter further module-specific parameters to run the module.

Figure GRASS module 1:

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

Opțiunile Bării de Instrumente și a Arborelui Modulelor GRASS nix

The provided module parameters are often not complete to keep the dialog clear. If you want to use further module parameters and flags, you need to start the GRASS shell and run the module in the command line.

A new feature since QGIS 1.8 is the support for a Show Advanced Options button below the simplified module dialog in the Options tab. At the moment, it is only added to the module v.in.ascii as an example of use, but it will probably be part of more or all modules in the GRASS Toolbox in future versions of QGIS. This allows you to use the complete GRASS module options without the need to switch to the GRASS shell.

Rezultat

Figure GRASS module 2:

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

Rezultatul Bării de Instrumente și a Arborelui Modulelor GRASS nix

Fila Rezultatelor oferă informații despre starea de ieșire a modulului. Când faceți clic pe butonul [Run], modulul comută la fila Rezultatelor tab, apoi veți vedea informații despre procesul de analiză. Dacă totul funcționează bine, veți vedea în cele din urmă un mesaj de Definitivare cu succes.

Manual

Figure GRASS module 3:

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

Manualul Bării de Instrumente și a Arborelui Modulelor GRASS nix

The Manual tab shows the HTML help page of the GRASS module. You can use it to check further module parameters and flags or to get a deeper knowledge about the purpose of the module. At the end of each module manual page, you see further links to the Main Help index, the Thematic index and the Full index. These links provide the same information as the module g.manual.

Tip

Afișează imediat rezultatele

Dacă doriți să afișați imediat rezultatele calculelor dvs în canevasul hărții, puteți folosi butonul ‘Vizualizare Output’, din partea de jos a filei modulului.

Exemple de module GRASS

Următoarele exemple vor demonstra puterea unora dintre modulele GRASS.

Crearea curbelor de nivel

The first example creates a vector contour map from an elevation raster (DEM). Here, it is assumed that you have the Alaska LOCATION set up as explained in section Importați datele într-o LOCAȚIE GRASS.

  • În primul rând, deschideți locația făcând clic pe butonul grass_open_mapset Open mapset, apoi prin alegerea locației setului Alaska.

  • Încărcați rasterul de elevație gtopo30 efectuând clic pe grass_add_raster Add GRASS raster layer, apoi selectând rasterul gtopo30

  • Acum deschideți Caseta de instrumente cu ajutorul butonului grass_tools Open GRASS tools.

  • În lista de de unelte pentru categorii, faceți dublu-clic pe Raster ‣ Surface Management ‣ Generate vector contour lines.

  • Now a single click on the tool r.contour will open the tool dialog as explained above (see Lucrul cu modulele GRASS). The gtopo30 raster should appear as the Name of input raster.
  • Introduceți valoarea 100 în Increment between Contour levels selectnumber. (Acest lucru va crea curbele de nivel la intervale de 100 de metri.)

  • Introduceți în Name for output vector map `numele ``ctour_100`.

  • Faceți clic pe [Run] pentru a începe procesul. Așteptați câteva momente până când mesajul Finalizare cu succes apare în fereastra de ieșire. Apoi faceți clic pe [View Output] și [Close].

Deoarece aceasta este o regiune de mare, va dura ceva timp până la afișare. Dupa ce se termină randarea, puteți deschide fereastra de proprietăți ale stratului pentru a schimba culoarea liniei, astfel încât conturul să apară clar pe rasterul de elvație, la fel ca în Dialogul Proprietăților Vectoriale.

Next, zoom in to a small, mountainous area in the center of Alaska. Zooming in close, you will notice that the contours have sharp corners. GRASS offers the v.generalize tool to slightly alter vector maps while keeping their overall shape. The tool uses several different algorithms with different purposes. Some of the algorithms (i.e., Douglas Peuker and Vertex Reduction) simplify the line by removing some of the vertices. The resulting vector will load faster. This process is useful when you have a highly detailed vector, but you are creating a very small-scale map, so the detail is unnecessary.

Tip

Instrumentul de simplificare

Note that the QGIS fTools plugin has a Simplify geometries ‣ tool that works just like the GRASS v.generalize Douglas-Peuker algorithm.

However, the purpose of this example is different. The contour lines created by r.contour have sharp angles that should be smoothed. Among the v.generalize algorithms, there is Chaiken’s, which does just that (also Hermite splines). Be aware that these algorithms can add additional vertices to the vector, causing it to load even more slowly.

  • Open the GRASS Toolbox and double-click the categories Vector ‣ Develop map ‣ Generalization, then click on the v.generalize module to open its options window.
  • Verificați dacă ‘ctour_100’ apare ca Nume pentru vectorul de intrare.

  • From the list of algorithms, choose Chaiken’s. Leave all other options at their default, and scroll down to the last row to enter in the field Name for output vector map ‘ctour_100_smooth’, and click [Run].
  • The process takes several moments. Once Successfully finished appears in the output windows, click [View output] and then [Close].
  • Puteți schimba culoarea vectorului pentru a-l afișa în mod clar pe fundalul raster, și pentru a contrasta față de curbele de nivel originale. Veți observa că noile curbe de nivel au colțuri mai fine decât originalul, în timp ce urmează fidel forma originală.

Figure GRASS module 4:

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

Modulul GRASS v.generalize pentru a radina o hartă vectorială

Tip

Alte utilizări pentru r.contour

The procedure described above can be used in other equivalent situations. If you have a raster map of precipitation data, for example, then the same method will be used to create a vector map of isohyetal (constant rainfall) lines.

Crearea unui efect 3-D de umbrire

Several methods are used to display elevation layers and give a 3-D effect to maps. The use of contour lines, as shown above, is one popular method often chosen to produce topographic maps. Another way to display a 3-D effect is by hillshading. The hillshade effect is created from a DEM (elevation) raster by first calculating the slope and aspect of each cell, then simulating the sun’s position in the sky and giving a reflectance value to each cell. Thus, you get sun-facing slopes lighted; the slopes facing away from the sun (in shadow) are darkened.

  • Begin this example by loading the gtopo30 elevation raster. Start the GRASS Toolbox, and under the Raster category, double-click to open Spatial analysis ‣ Terrain analysis.
  • Apoi faceți clic pe r.shaded.relief pentru a deschide modulul.

  • Schimbați azimutul unghiului selectnumber de la 270 la 315.

  • Introduceți gtopo30_shade pentru noul raster reliefat, apoi faceți clic pe [Run].

  • Când procesul se încheie, adăugați hărții rasterul reliefat. Ar trebui să-l vedeți afișat în tonuri de gri.

  • To view both the hillshading and the colors of the gtopo30 together, move the hillshade map below the gtopo30 map in the table of contents, then open the Properties window of gtopo30, switch to the Transparency tab and set its transparency level to about 25%.

Ar trebui să aveți acum elevația gtopo30 cu harta de cuori și transparența setate deasupra hărții reliefului, în tonuri de gri. Pentru a observa mai bine efectele vizuale ale reliefării, desetați vizualizarea hărții gtopo30_shade, apoi resetați-o.

Folosirea consolei GRASS

The GRASS plugin in QGIS is designed for users who are new to GRASS and not familiar with all the modules and options. As such, some modules in the Toolbox do not show all the options available, and some modules do not appear at all. The GRASS shell (or console) gives the user access to those additional GRASS modules that do not appear in the Toolbox tree, and also to some additional options to the modules that are in the Toolbox with the simplest default parameters. This example demonstrates the use of an additional option in the r.shaded.relief module that was shown above.

Figure GRASS module 5:

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

Consola GRASS, modulul r.shaded.relief nix

The module r.shaded.relief can take a parameter zmult, which multiplies the elevation values relative to the X-Y coordinate units so that the hillshade effect is even more pronounced.

  • Load the gtopo30 elevation raster as above, then start the GRASS Toolbox and click on the GRASS shell. In the shell window, type the command r.shaded.relief map=gtopo30 shade=gtopo30_shade2 azimuth=315 zmult=3 and press [Enter].
  • After the process finishes, shift to the Browse tab and double-click on the new gtopo30_shade2 raster to display it in QGIS.
  • As explained above, move the shaded relief raster below the gtopo30 raster in the table of contents, then check the transparency of the colored gtopo30 layer. You should see that the 3-D effect stands out more strongly compared with the first shaded relief map.

Figure GRASS module 6:

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

Afișează relieful umbrit, creat cu modulul GRASS r.shaded.relief nix

Statistici raster pentru o hartă vectorială

Următorul exemplu arată modul în care un modul din GRASS poate agrega datele rastere, apoi să adauge coloanele de statistici pentru fiecare poligon din harta vectorială.

  • Din nou, folosind datele pentru Alaska, referiți-vă la Importați datele într-o LOCAȚIE GRASS pentru a importa arborii fișierelor shape din directorul shapefiles din GRASS.

  • Now an intermediate step is required: centroids must be added to the imported trees map to make it a complete GRASS area vector (including both boundaries and centroids).
  • Din Bara de instrumente alegeți Vector ‣ Manage features, apoi deschideți modulul v.centroids.

  • Introduceți ‘forest_areas’ pentru output vector map, apoi rulați modulul.

  • Now load the forest_areas vector and display the types of forests - deciduous, evergreen, mixed - in different colors: In the layer Properties window, Symbology tab, choose from Legend type selectstring ‘Unique value’ and set the Classification field to ‘VEGDESC’. (Refer to the explanation of the symbology tab in Meniul Stilului of the vector section.)
  • Mai departe, redeschideți Bara de instrumente GRASS, apoi deschideți Vector ‣ Vector update din alte hărți.

  • Clic pe modulul v.rast.stats. Introduceți gtopo30 și forest_areas.

  • Only one additional parameter is needed: Enter column prefix elev, and click [Run]. This is a computationally heavy operation, which will run for a long time (probably up to two hours).
  • Finally, open the forest_areas attribute table, and verify that several new columns have been added, including elev_min, elev_max, elev_mean, etc., for each forest polygon.

Lucrul cu exploratorul LOCAȚIEI GRASS

Another useful feature inside the GRASS Toolbox is the GRASS LOCATION browser. In figure_grass_module_7, you can see the current working LOCATION with its MAPSETs.

In the left browser windows, you can browse through all MAPSETs inside the current LOCATION. The right browser window shows some meta-information for selected raster or vector layers (e.g., resolution, bounding box, data source, connected attribute table for vector data, and a command history).

Figure GRASS module 7:

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

Exploratorul LOCAȚIEI GRASS nix

The toolbar inside the Browser tab offers the following tools to manage the selected LOCATION:

  • grass_add_map Adaugă harta selectată la canevas

  • grass_copy_map Copiază harta selectată

  • grass_rename_map Redenumește harta selectată

  • grass_delete_map Șterge harta selectată

  • grass_set_region Setează regiunea curentă la harta selectată

  • grass_refresh Actualizează fereastra navigatorului

grass_rename_map Redenumirea hărții selectate și grass_delete_map Ștergerea hărții selectate vor lucra numai asupra hărților din interiorul SETULUI DE HĂRȚI selectat în mod curent. Toate celelalte instrumente, de asemenea, lucrează cu straturile vectoriale și raster dintr-un alt SET DE HĂRȚI.

Personalizarea Barei de Instrumente GRASS

Nearly all GRASS modules can be added to the GRASS Toolbox. An XML interface is provided to parse the pretty simple XML files that configure the modules’ appearance and parameters inside the Toolbox.

Un fișier XML eșantion, pentru generarea modulului v.buffer (v.buffer.qgm) arată în felul următor:

<?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>

The parser reads this definition and creates a new tab inside the Toolbox when you select the module. A more detailed description for adding new modules, changing a module’s group, etc., can be found on the QGIS wiki at http://hub.qgis.org/projects/quantum-gis/wiki/Adding_New_Tools_to_the_GRASS_Toolbox.