` `

Integracion GRASS SIG

GRASS integration provides access to GRASS GIS databases and functionalities (see GRASS-PROJECT in Referencias bibliográficas y web). The integration consists of two parts: provider and plugin. The provider allows to browse, manage and visualize GRASS raster and vector layers. The plugin can be used to create new GRASS locations and mapsets, change GRASS region, create and edit vector layers and analyze GRASS 2-D and 3-D data with more than 400 GRASS modules. In this section, we’ll introduce the provider and plugin functionalities and give some examples of managing and working with GRASS data.

The provider supports GRASS version 6 and 7, the plugin supports GRASS 6 and 7 (starting from QGIS 2.12). QGIS distribution may contain provider/plugin for either GRASS 6 or GRASS 7 or for both versions at the same time (binaries have different file names). Only one version of the provider/plugin may be loaded on runtime however.

Conjuntos de datos demostración

As an example, we will use the QGIS Alaska dataset (see section Sample Data). It includes a small sample GRASS LOCATION with three vector layers and one raster elevation map. Create a new folder called grassdata, download the QGIS ‘Alaska’ dataset qgis_sample_data.zip from http://qgis.org/downloads/data/ and unzip the file into grassdata.

More sample GRASS LOCATIONs are available at the GRASS website at http://grass.osgeo.org/download/sample-data/.

Cargar capas ráster y vectorial de GRASS

If the provider is loaded in QGIS, the location item with GRASS grassLocation icon is added in the browser tree under each folder item which contains GRASS location. Go to the folder grassdata and expand location alaska and mapset demo.

You can load GRASS raster and vector layers like any other layer from the browser either by double click on layer item or by dragging and dropping to map canvas or legend.


Cargando datos GRASS

If you don’t see GRASS location item, verify in Help ‣ About ‣ Providers if GRASS vector provider is loaded.

Importar datos dentro de una UBICACIÓN DE GRASS mediante arrastrar y soltar

This section gives an example of how to import raster and vector data into a GRASS mapset.

  1. In QGIS browser navigate to the mapset you want to import data into.
  2. In QGIS browser find a layer you want to import to GRASS, note that you can open another instance of the browser (Browser Panel (2)) if source data are too far from the mapset in the tree.
  3. Drag a layer and drop it on the target mapset. The import may take some time for larger layers, you will see animated icon import in front of new layer item until the import finishes.

When raster data are in different CRS, they can be reprojected using an Approximate (fast) or Exact (precise) transformation. If a link to the source raster is created (using r.external), the source data are in the same CRS and the format is known to GDAL, the source data CRS will be used. You can set these options in the Browser tab in Opciones GRASS.

If a source raster has more bands, a new GRASS map is created for each layer with .<band number> suffix and group of all maps with rasterGroup icon is created. External rasters have a different icon rasterLink.

Managing GRASS data in QGIS Browser

  • Copying maps: GRASS maps may be copied between mapsets within the same location using drag and drop.
  • Deleting maps: Right click on a GRASS map and select Delete from context menu.
  • Renaming maps: Right click on a GRASS map and select Rename from context menu.

Opciones GRASS

GRASS options may be set in GRASS Options dialog, which can be opened by right clicking on the location or mapset item in the browser and then choosing GRASS Options.

Iniciar el complemento GRASS

To use GRASS functionalities in QGIS, you must select and load the GRASS plugin using the Plugin Manager. To do this, go to the menu Plugins ‣ showPluginManager Manage and Install Plugins..., select checkbox GRASS and click [OK].

The following main features are provided with the GRASS menu (Plugins ‣ GRASS) when you start the GRASS plugin:

  • grassOpenMapset Abrir directorio de mapas

  • grassNewMapset Nuevo directorio de mapas

  • grassCloseMapset Cerrar directorio de mapas

  • grassTools Abrir herramientas de GRASS

  • grassRegion Mostrar región actual de GRASS

  • general GRASS Options

Abrir directorio de mapas

A GRASS mapset must be opened to get access to GRASS Tools in the plugin (the tools are disabled if no mapset is open). You can open a mapset from the browser: right click on mapset item and then choose Open mapset from context menu.


GRASS data are stored in a directory referred to as GISDBASE. This directory, often called grassdata, must be created before you start working with the GRASS plugin in QGIS. Within this directory, the GRASS GIS data are organized by projects stored in subdirectories called LOCATIONs. Each LOCATION is defined by its coordinate system, map projection and geographical boundaries. Each LOCATION can have several MAPSETs (subdirectories of the LOCATION) that are used to subdivide the project into different topics or subregions, or as workspaces for individual team members (see Neteler & Mitasova 2008 in Referencias bibliográficas y web). In order to analyse vector and raster layers with GRASS modules, you generally have to import them into a GRASS LOCATION. (This is not strictly true – with the GRASS modules r.external and v.external you can create read-only links to external GDAL/OGR-supported datasets without importing them. This is not the usual way for beginners to work with GRASS, therefore this functionality will not be described here.)


Datos GRASS en la LOCALIZACIÓN alaska

Importar datos dentro de una LOCALIZACIÓN DE GRASS

See section Importar datos dentro de una UBICACIÓN DE GRASS mediante arrastrar y soltar to find how data can be easily imported by dragging and dropping in the browser.

This section gives an example of how to import raster and vector data into the ‘alaska’ GRASS LOCATION provided by the QGIS ‘Alaska’ dataset in traditional way, using standard GRASS modules. Therefore, we use the landcover raster map landcover.img and the vector GML file lakes.gml from the QGIS ‘Alaska’ dataset (see Sample Data).

  1. Inicie QGIS y asegúrese que el complemento GRASS está cargado.

  2. En la barra de herramientas de GRASS, haga clic en el icono grassOpenMapset Abrir directorio de mapas para que aparezca el asistente DIRECTORIO DE MAPA.

  3. Select as GRASS database the folder grassdata in the QGIS Alaska dataset, as LOCATION ‘alaska’, as MAPSET ‘demo’ and click [OK].
  4. Ahora haga clic en el icono grassTools Abrir herramientas de GRASS. El diálogo de la caja de herramientas de GRASS (vea la sección La caja de herramientas GRASS) aparece.

  5. Para importar el mapa ráster landcover.img, haga clic en el modulo r.in.gdal en la pestaña Árbol de módulos. Este modulo GRASS le permite importar archivos ráster GDAL-admitidos en un LOCALIZACIÓN de GRASS. El diálogo del módulo para que r.in.gdal aparezca.

  6. Browse to the folder raster in the QGIS ‘Alaska’ dataset and select the file 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 Successfully finished, click [View output]. The landcover_grass raster layer is now imported into GRASS and will be visualized in the QGIS canvas.
  9. Para importar el archivo vector GML lakes.gml, haga clic en el modulo v.in.ogr en la pestaña Árbol de módulos. Este modulo GRASS le permite importar archivos vectoriales OGR-admitidos en una LOCAZACIÓN de GRASS. El diálogo del modulo para que v.in.ogr aparezca.

  10. Browse to the folder gml in the QGIS ‘Alaska’ dataset and select the file lakes.gml as OGR file.
  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. When it says Succesfully finished, click [View output]. The lakes_grass vector layer is now imported into GRASS and will be visualized in the QGIS canvas.


As an example, here is the sample GRASS LOCATION alaska, which is projected in the Albers Equal Area projection using feet as units. This sample GRASS LOCATION alaska will be used for all examples and exercises in the following GRASS-related sections. It is useful to download and install the dataset on your computer (see Sample Data).

  1. Inicie QGIS y asegúrese que el complemento GRASS está cargado.

  2. Visualize the alaska.shp shapefile (see section Cargando una capa desde archivo) from the QGIS Alaska dataset (see Sample Data).
  3. In the GRASS toolbar, click on the grassNewMapset New mapset icon to bring up the MAPSET wizard.
  4. Select an existing GRASS database (GISDBASE) folder grassdata, or create one for the new LOCATION using a file manager on your computer. Then click [Next].
  5. We can use this wizard to create a new MAPSET within an existing LOCATION (see section Añadir un nuevo DIRECTORIO DE MAPA) or to create a new LOCATION altogether. Select radioButtonOn Create new location (see figure_grass_new_location).
  6. Enter a name for the LOCATION – we used ‘alaska’ – and click [Next].
  7. Define the projection by clicking on the radio button radioButtonOn Projection to enable the projection list.
  8. Estamos usando la proyección Albers Equal Area Alaska (pies). Puesto que nos ha tocado saber que está representado por el EPSG ID 2964, ingresamos en el cuadro de búsqueda. (Nota: Si desea repetir este proceso para otra LOCALIZACIÓN y proyección y no ha memorizado el EPSG ID, haga clic en el icono projectionEnabled SRC actual en la esquina inferior derecha de la barra de estado (vea sección Trabajar con Proyecciones)).

  9. En Filtrar, inserte 2964 para seleccionar la proyección.

  10. Click [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 QGIS extent], to apply the extent of the loaded layer alaska.shp as the GRASS default region extent.
  12. Click [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 Referencias bibliográficas y web).
  14. Check out the summary to make sure it’s correct and click [Finish].
  15. La nueva LOCALIZACIÓN, ‘alaska’, y los dos DIRECTORIO DE MAPAS, ‘demo’ y ‘PERMANENT’, son creados. El conjunto de trabajo abierto actualmente es ‘demo’, como se ha definido.

  16. Tenga en cuenta que algunas de las herramientas en la barra de herramientas de GRASS que estaban inhabilitadas ahora están habilitadas.



Si eso parecía como una gran cantidad de pasos, en realidad no es tan malo y una forma muy rápida de crear una LOCALIZACIÓN. La LOCALIZACIÓN ‘alaska’ ahora está listo para la importación de datos (vea la sección Importar datos dentro de una LOCALIZACIÓN DE GRASS). También puede utilizar los datos ya existentes vectoriales y ráster en el ejemplo LOCALIZACIÓN ‘alaska’ de GRASS, incluido en el conjunto de datos ‘Alaska’ de QGIS Sample Data, ya pasar a la sección El modelo de datos vectoriales de GRASS.

Añadir un nuevo DIRECTORIO DE MAPA

Un usuario sólo tiene acceso de escritura a un DIRECTORIO DE MAPA GRASS que él o ella crearon. Esto significa que además de acceder a su propio DIRECTORIO DE MAPA, se pueden leer mapas de otros usuarios’ DIRECTORIO DE MAPAS (y ellos pueden leer los tuyos), pero sólo puede modificar o eliminar su propio DIRECTORIO DE MAPA.

Todos los DIRECTORIO DE MAPAS incluyen un archivo WIND que almacena los valores de las coordenadas de los límites actuales y la resolución ráster actualmente seleccionado (vea Neteler & Mitasova 2008 en Referencias bibliográficas y web, y la sección La herramienta de región GRASS).

  1. Inicie QGIS y asegúrese que el complemento GRASS está cargado.

  2. In the GRASS toolbar, click on the grassNewMapset New mapset icon to bring up the MAPSET wizard.
  3. Seleccione la base de datos GRASS (GISDBASE) la carpeta grassdata con la LOCALIZACIÓN ‘alaska’, donde queremos añadir otro DIRECTORIO DE MAPA llamado ‘test’.

  4. Click [Next].
  5. We can use this wizard to create a new MAPSET within an existing LOCATION or to create a new LOCATION altogether. Click on the radio button radioButtonOn Select location (see figure_grass_new_location) and click [Next].
  6. Introduzca el nombre text para el nuevo DIRECTORIO DE MAPA. A continuación en el asistente, se ve una lista de un existente DIRECTORIO DE MAPAS y titulares correspondientes.

  7. Click [Next], check out the summary to make sure it’s all correct and click [Finish].

El modelo de datos vectoriales de GRASS

It is important to understand the GRASS vector data model prior to digitizing. In general, GRASS uses a topological vector model. This means that areas are not represented as closed polygons, but by one or more boundaries. A boundary between two adjacent areas is digitized only once, and it is shared by both areas. Boundaries must be connected and closed without gaps. An area is identified (and labelled) by the centroid of the area.

Además de los límites y centroides, un mapa vectorial también puede contener puntos y líneas. Todos estos elementos geométricos se pueden mezclar en una vector y serán representados en diferentes denominadas ‘capas’ dentro de un mapa vectorial GRASS. Por lo que en GRASS, una capa no es un mapa vectorial o ráster pero un nivel dentro de una capa vectorial. Esto es importante para distinguir cuidadosamente. (aunque es imposible mezclar elementos, es inusual e incluso en GRASS, sólo se utiliza en casos especiales como análisis de redes vectoriales. Usualmente, se debe preferir almacenar diferentes elementos geométricos en diferentes capas.)

Es posible almacenar varias ‘capas’ en un conjunto de datos vectoriales. Por ejemplo, campos, bosques y lagos se pueden almacenar en un vector. Un bosque y lago adyacente pueden compartir el mismo límite, pero tienen tablas de atributos separados. También es posible adjuntar atributos a límites. Un ejemplo podría ser el caso donde los límites entre un lago y un bosque es una carretera, por lo que puede tener una tabla de atributos diferente.

La ‘capa’ del objeto espacial es definido por la ‘capa’ dentro de GRASS. ‘Capa’ es el número que define si hay más de una capa dentro del conjunto de datos (por ejemplo, si la geometría es bosque o lago). Por ahora, sólo puede ser un número. En el futuro, GRASS también implementara nombres como campos en la interfaz de usuario.

Los atributos se pueden almacenar dentro de la LOCALIZACIÓN en GRASS como dBase o SQLite3 o en tablas de base de datos externa, por ejemplo, PostgreSQL, MySQL, Oracle, etc.

Los atributos en la tabla de base de datos están enlazadas a los elementos geométricos utilizando un valor ‘categoría’.

‘Categoría’ (llave, ID) es un entero adjunto a la geometría primitiva, y se utiliza como el enlace a una columna llave en la tabla de base de datos.


Aprendizaje del modelo vectorial GRASS

The best way to learn the GRASS vector model and its capabilities is to download one of the many GRASS tutorials where the vector model is described more deeply. See http://grass.osgeo.org/documentation/manuals/ for more information, books and tutorials in several languages.

Crear una nueva capa vectorial GRASS

To create a new GRASS vector layer, select one of following items from mapset context menu in the browser:

  • Nueva Capa de Puntos

  • Nueva Capa de Líneas

  • Nueva capa de polígonos

and enter a name in the dialog. A new vector map will be created and layer will be added to canvas and editing started. Selecting type of the layer does not restrict geometry types which can be digitized in the vector map. In GRASS, it is possible to organize all sorts of geometry types (point, line and polygon) in one vector map. The type is only used to add the layer to the canvas, because QGIS requires a layer to have a specific type.

It is also possible to add layers to existing vector maps selecting one of the items described above from context menu of existing vector map.

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 Creating new vector layers).

Digitalizar y editar una capa vectorial GRASS

GRASS vector layers can be digitized using the standard QGIS digitizing tools. There are however some particularities, which you should know about, due to

  • GRASS topological model versus QGIS simple feature
  • complejidad del modelo GRASS

    • multiple layers in single maps
    • multiple geometry types in single map
    • geometry sharing by multiple features from multiple layers

The particularities are discussed in the following sections.

Save, discard changes, undo, redo


All the changes done during editing are immediately written to vector map and related attribute tables.

Changes are written after each operation, it is however, possible to do undo/redo or discard all changes when closing editing. If undo or discard changes is used, original state is rewritten in vector map and attribute tables.

There are two main reasons for this behaviour:

  • It is the nature of GRASS vectors coming from conviction that user wants to do what he is doing and it is better to have data saved when the work is suddenly interrupted (for example, blackout)
  • Necessity for effective editing of topological data is visualized information about topological correctness, such information can only be acquired from GRASS vector map if changes are written to the map.

Barra de herramientas

The ‘Digitizing Toolbar’ has some specific tools when a GRASS layer is edited:





Nuevo punto

Digitalizar un nuevo punto


Nueva línea

Digitalizar nueva línea


Nuevo límite

Digitalizar nuevo borde


Nuevo centroide

Digitalizar nuevo centroide (etiqueta de área existente)


Nuevo Contorno Cerrado

Digitalizar nuevo borde cerrado

Table GRASS Digitizing: GRASS Digitizing Tools


Digitalizando polígonos en GRASS

If you want to create a polygon in GRASS, you first digitize the boundary of the polygon. Then you add a centroid (label point) into the closed boundary. 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.


Category, often called cat, is sort of ID. The name comes from times when GRASS vectors had only singly attribute “category”. Category is used as a link between geometry and attributes. A single geometry may have multiple categories and thus represent multiple features in different layers. Currently it is possible to assign only one category per layer using QGIS editing tools. New features have automatically assigned new unique category, except boundaries. Boundaries usually only form areas and do not represent linear features, it is however possible to define attributes for a boundary later, for example in different layer.

New categories are always created only in currently being edited layer.

It is not possible to assign more categories to geometry using QGIS editing, such data are properly represented as multiple features, and individual features, even from different layers, may be deleted.


Attributes of currently edited layer can only be modified. If the vector map contains more layers, features of other layers will have all attributes set to ‘<not editable (layer #)>’ to warn you that such attribute is not editable. The reason is, that other layers may have and usually have different set of fields while QGIS only supports one fixed set of fields per layer.

If a geometry primitive does not have a category assigned, a new unique category is automatically assigned and new record in attribute table is created when an attribute of that geometry is changed.


If you want to do bulk update of attributes in table, for example using ‘Field Calculator’ (Using the Field Calculator), and there are features without category which you don’t want to update (typically boundaries), you can filter them out by setting ‘Advanced Filter’ to cat is not null.

Editing style

The topological symbology is essential for effective editing of topological data. When editing starts, a specialized ‘GRASS Edit’ renderer is set on the layer automatically and original renderer is restored when editing is closed. The style may be customized in layer properties ‘Style’ tab. The style can also be stored in project file or in separate file as any other style. If you customize the style, do not change its name, because it is used to reset the style when editing is started again.


Do not save project file when the layer is edited, the layer would be stored with ‘Edit Style’ which has no meaning if layer is not edited.

The style is based on topological information which is temporarily added to attribute table as field ‘topo_symbol’. The field is automatically removed when editing is closed.


Do not remove ‘topo_symbol’ field from attribute table, that would make features invisible because the renderer is based on that column.


To form an area, vertices of connected boundaries must have exactly the same coordinates. This can be achieved using snapping tool only if canvas and vector map have the same CRS. Otherwise, due conversion from map coordinates to canvas and back, the coordinate may become slightly different due to representation error and CRS transformations.


Use layer’s CRS also for canvas when editing.


Simultaneous editing of multiple layers within the same vector at the same time is not supported. This is mainly due to the impossibility of handling multiple undo stacks for a single data source.

nix osx On Linux and macOS only one GRASS layer can be edited at time. This is due to a bug in GRASS which does not allow to close database drivers in random order. This is being solved with GRASS developers.


Editar permisos de GRASS

Debe ser el propietario del DIRECTORIO DE MAPA de GRASS que desee editar. Es imposible editar capas de datos en un DIRECTORIO DE MAPA que no sea suyo, incluso si tiene permisos de escritura.

La herramienta de región GRASS

La definición de la región (ajuste una ventana de trabajo espacial) en GRASS es importante para trabajar con capas ráster. Análisis vectorial esta por defecto no limitado a cualquier definición de región definida. Pero todas los rásters recién creados tendrán la extensión espacial y resolución de la región GRASS definida actualmente, independientemente de su extensión y resolución original. La región GRASS actual es almacenada en el archivo $LOCALIZACIÓN/$DIRECTORIO DE MAPA/WIND, y define los límites norte, sur, este y oeste, número de columnas y filas, resolución espacial horizontal y vertical.

Es posible prender y apagar la visualización de la región GRASS en el lienzo de QGIS utilizando el botón grassRegion Mostrar región actual de GRASS.

The region can be modified in ‘Region’ tab in ‘GRASS Tolls’ dock widget. Type in the new region bounds and resolution, and click [Apply]. If you click on [Select the extent by dragging on canvas] you can select a new region interactively with your mouse on the QGIS canvas dragging a rectangle.

El modulo GRASS g.region proporciona muchos más parámetros para definir una extensión de región apropiada y resolución para su análisis ráster. Se puede utilizar estos parámetros con la caja de herramientas GRASS, descrito en la sección La caja de herramientas GRASS.

La caja de herramientas GRASS

La caja grassTools Abrir herramientas GRASS proporciona funcionalidades de modulo GRASS para trabajar con datos dentro un LOCALIZACIÓN GRASS seleccionada y DIRECTORIO DE MAPA. Para utilizar la caja de herramientas GRASS necesita abrir una LOCALIZACIÓN y DIRECTORIO DE MAPA que tiene permisos de escritura para (normalmente se concede si ha creado el DIRECTORIO DE MAPA). Esto es necesario, porque las capas ráster y vector creadas durante análisis necesitan estar escritos a la LOCALIZACIÓN y DIRECTORIO DE MAPA actualmente


Caja de herramienta GRASS y módulo

Trabajando con módulos GRASS

La consola GRASS dentro de la caja de herramientas proporciona acceso a casi todo (más de 300) los módulos GRASS en una interfaz de línea de comando. Para ofrecer un entorno de trabajo más fácil de usar, cerca de 200 de los módulos de GRASS disponibles y funcionalidades también son proporcionados por diálogos gráficos dentro de la caja de herramientas del complemento GRASS.

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

También es posible personalizar el contenido de la caja de herramientas GRASS. Este procedimiento se describe en la sección Personalizar la caja de herramientas GRASS.

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

Al hacer clic en un icono de modulo gráfico, una nueva pestaña se añadirá al diálogo de Caja de herramientas, proporciona tres nuevas sub-pestañas Opciones, Salida y Manual.


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.


Opciones del módulo de la caja de herramientas GRASS

The provided module parameters are often not complete to keep the dialog simple. 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.

Una nueva característica desde QGIS 1.8 es la implementación de un botón Mostrar opciones avanzadas abajo del diálogo del modulo simplificado en la pestaña Opciones. Por el momento, sólo se añade al modulo v.in.ascii como ejemplo de uso, pero probablemente es parte de más o todos los módulos en la caja de herramientas GRASS en futuras versiones de QGIS. Esto le permite usar las opciones del modulo de GRASS completo sin la necesidad de cambiar la consola de GRASS.



Salida del módulo de la caja de herramientas GRASS

The Output tab provides information about the output status of the module. When you click the [Run] button, the module switches to the Output tab and you see information about the analysis process. If all works well, you will finally see a Successfully finished message.



Módulo Manual de la caja de herramientas GRASS

La pestaña Manual muestra la página de ayuda HTML del modulo GRASS. Se puede utilizar para comprobar otros parámetros de los módulos y las banderas o para obtener un conocimiento más profundo acerca de la finalidad del módulo. Al final de cada página del manual del módulo, se ven otros enlaces al Índice de ayuda principal, al Índice temático y al Índice completo. Estos enlaces proporcionar información de ejemplo como el modulo g.manual.


Mostrar resultados inmediatamente

Si desea mostrar sus resultados de cálculo inmediatamente en su lienzo de mapa, se puede utilizar el botón ‘Ver Salida’ en la parte inferior de la pestaña de módulo.

Ejemplos del módulo GRASS

Los siguientes ejemplos demostrarán el poder de algunos módulos GRASS.

Crear curvas de nivel

El primer ejemplo crea un mapa de curvas de nivel vectoriales de un ráster de elevación (DEM). Aquí, se asume que se tiene LOCALIZACIÓN Alaska configurado como se explica en la sección Importar datos dentro de una LOCALIZACIÓN DE GRASS.

  • First, open the location by clicking the grassOpenMapset Open mapset button and choosing the Alaska location.
  • Ahora abra la caja de herramientas con el botón grassTools Abrir herramientas de GRASS.

  • En la lista de categorías de herramientas, haga doble clic Ráster ‣ Administración de superficie‣ Generar curvas de nivel vectoriales.

  • Now a single click on the tool r.contour will open the tool dialog as explained above (see Trabajando con módulos GRASS).
  • In the Name of input raster map enter gtopo30.
  • Type into the Increment between Contour levels selectNumber the value 100. (This will create contour lines at intervals of 100 meters.)
  • Escriba en Nombre de salida del mapa vectorial el nombre ctour_100.

  • Click [Run] to start the process. Wait for several moments until the message Successfully finished appears in the output window. Then click [View Output] and [Close].

Dado que esta es una región grande, tomará un tiempo para mostrarla. Después de que termine la presentación, puede abrir la ventana de propiedades de la capa para cambiar el color de línea así el contorno aparece claramente sobre el ráster de elevación, como en El Dialogo de las Propiedades del Vector.

El siguiente acercamiento a una pequeña y montañosa área en el centro de Alaska. Al acercarse, se puede observar que las curvas de nivel tienen esquinas afiladas. GRASS ofrece la herramienta v.generalize para alterar ligeramente mapas vectoriales, manteniendo su forma general. La herramienta utiliza varios algoritmos diferentes con propósitos diferentes. Algunos de los algoritmos (es decir, Douglas Peucker y Vertex Reduction) simplificar la línea mediante la eliminación de algunos de los vértices. El vector resultante se carga más rápido. Este proceso es útil cuando se tiene un vector muy detallado, pero va a crear un mapa de escala muy pequeña, por lo que el detalle es innecesario.


La herramienta de simplificar

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

Sin embargo, el proposito de este ejemplo es diferente. Las líneas de curvas de nivel creadas por r.contour tiene ángulos agudos que deben ser suavizados. Entre el algoritmo v.generalize hay Chaiken’s, lo que hace precisamente eso (también astillas de Hermite). Tenga en cuenta que estos algoritmos se pueden añadir vértices adicionales al vector, haciendo que se cargue más lentamente

  • Abra la caja de herramientas GRASS y haga doble clic en las categorías Vectorial ‣ Desarrollar mapa ‣ Generalización,

  • Compruebe que el vector ‘ctour_100’ aparece como el Nombre del vector de entrada.

  • 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].
  • Se puede cambiar el color del vector para que se muestre claramente sobre el fondo del ráster y para contrastar con las curvas de nivel originales. Se dará cuenta de que las nuevas curvas de nivel tienen esquinas más suaves que el original durante su estancia fiel a la original de forma general.


Módulo GRASS v.generalize para suavizar un mapa vectorial


Otros usos de r.contour

El proceso descrito anteriormente se puede utilizar en otras situaciones equivalentes. Si tiene un mapa ráster de datos de precipitación, por ejemplo, entonces el mismo método se utilizará para crear un mapa vectorial de líneas isoyetas (lluvia constante).

Crear un efecto sombreado de relieve 3-D

Varios métodos se utilizan para mostrar capas de elevación y da un efecto #-D a mapas. El uso de líneas de curvas de nivel, como se mostro anteriormente, es un método popular regularmente elejido para producir mapas topológicos. El efecto de sombreado se crea de un ráster (elevación) DEM calculando primero la pendiente y el aspecto de cada celda, entonces simula la posición del sol en el cielo y da un valor de reflectancia a cada celda. De este modo se obtienen pendientes frente al sol iluminadas; las pendientes orientadas lejos del sol(en la sombra) se oscurecen.

  • Comience este ejemplo cargando el ráster de elevación gtopo30. Inicie la caja de herramientas GRASS y bajo la categoría ráster, haga doble clic para abrir Análisis espacial ‣ Análisis del terreno.

  • A continuación haga clic en r.shaded.relief para abrir el módulo.

  • Cambie el ángulo del azimut selectNumber 270 a 315

  • Enter gtopo30_shade for the new hillshade raster, and click [Run].
  • Cuando el proceso finalice, añada el ráster de mapa de sombras al mapa. Debe verlo desplegado en escala de grises.

  • Para ver ambos sombreados y los colores de la gtopo30` juntos, mueva el mapa de sombreado abajo del mapa gtopo30 en la tabla de contenido, a continuación abra la ventana Propiedades de gtopo30, cambie a la pestaña de Transparencia y establezca su nivel de transparencia a cerca de 25%.

Ahora debe tener la elevación gtopo30 con su mapa de color y ajuste de transparencia mostrado arriba el mapa de sombras en escala de grises. Con el fin de ver los efectos visuales en el mapa de sombras, apague el mapa gtopo30_shade, a continuación, vuelva a encenderla.

Utilizar la consola de 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.


La consola de GRASS, módulo r.shaded.relief

El modulo r.shaded.relief puede tomar un parámetro zmult, que multiplica los valores de elevación relativas a las unidades de las coordenadas X-Y por lo que el efecto de sombreado es incluso más pronunciado.

  • 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.
  • Como se explicó anteriormente, mueva ráster del relieve sombreado a bajo del ráster gtopo30 en la tabla de contenido, entonces valide la transparecia de la capa coloreada gtopo30. Debe ver que el efecto 3-D destaca más fuertemente comparada con el primer mapa de relieve sombreado.


Mostrar relieve sombreado creado con el módulo de GRASS r.shaded.relief

Estadísticas de ráster en un mapa vectorial

El siguiente ejemplo muestra como un módulo GRASS puede agregar datos ráster y añadir columnas de una estadística para cada polígono en un mapa vectorial.

  • Again using the Alaska data, refer to Importar datos dentro de una LOCALIZACIÓN DE GRASS to import the trees shapefile from the shapefiles directory into GRASS.
  • Ahora un paso intermedio es necesario: los centroides se deben añadir al mapa de árboles importado para que sea una zona de GRASS completa del vector (incluyendo ambos límites y centroides).

  • De la caja de herramientas, elija Vectorial ‣ Desarrollar mapa -> Administrar objetos espaciales, y abra el modulo v.centroids.

  • Introduzca como el Mapa vectorial de salida ‘forest_areas’ y ejecute el módulo.

  • Ahora cargue el vector forest_areas y muestre los tipos de bosque - caducifolio, árbol de hoja perenne, mixto - en diferentes colores: En la ventana Propiedades de la capa, la pestaña Simbología, elija de Tipo de leyenda selectString ‘Valor único’ y establezca el Campo de clasificación a ‘VEGDESC’. (Consulte la explicación de la pestaña de simbología en Style Properties de la sección vectorial.)

  • A continuación vuelva a abrir la caja de herramientas de GRASS y abra Vectorial ‣ Actualizacion vectorial por otros mapas.

  • Haga clic en el modulo v.rast.stats. Ingrese gtopo30 y 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).
  • Finalmente, abra la tabla de atributos forest_areas, y verifique que varias de las nuevas columnas se han añadido, incluyendo elev_min, elev_max, elev_mean, etc., para cada polígono de bosque.

Personalizar la caja de herramientas GRASS

Casi todos los módulos de GRASS se pueden añadir a la caja de herramientas de GRASS. Una interfaz XML se proporciona para analizar los archivos XML muy sencillos que configuran la apariencia y los parámetros de los módulos dentro de la caja de herramientas.

Un ejemplo del archivo XML para generar el módulo v.buffer (v.buffer.qgm) luce como esto:

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

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.