Atualizações

Integração com SIG GRASS

The GRASS plugin provides access to GRASS GIS databases and functionalities (see GRASS-PROJECT in Referências Bibliográficas e Web). This includes visualizing GRASS raster and vector layers, digitizing vector layers, editing vector attributes, creating new vector layers and analysing GRASS 2-D and 3-D data with more than 400 GRASS modules.

In this section, we’ll introduce the plugin functionalities and give some examples of managing and working with GRASS data. The following main features are provided with the toolbar menu when you start the GRASS plugin, as described in section sec_starting_grass:

  • grass_open_mapset Open mapset
  • grass_new_mapset New mapset
  • grass_close_mapset Close mapset
  • grass_add_vector Add GRASS vector layer
  • grass_add_raster Add GRASS raster layer
  • grass_new_vector_layer Create new GRASS vector
  • grass_edit Edit GRASS vector layer
  • grass_tools Open GRASS tools
  • grass_region Display current GRASS region
  • grass_region_edit Edit current GRASS region

Iniciando o complemento GRASS

To use GRASS functionalities and/or visualize GRASS vector and raster layers in QGIS, you must select and load the GRASS plugin with the Plugin Manager. Therefore, go to the menu Plugins ‣ mActionShowPluginManager Manage Plugins, select checkbox GRASS and click [OK].

You can now start loading raster and vector layers from an existing GRASS LOCATION (see section sec_load_grassdata). Or, you can create a new GRASS LOCATION with QGIS (see section Criando uma nova Localização GRASS) and import some raster and vector data (see section Importando dados para uma localização GRASS) for further analysis with the GRASS Toolbox (see section Ferramentas GRASS).

Carregando camadas raster e vetorial GRASS

With the GRASS plugin, you can load vector or raster layers using the appropriate button on the toolbar menu. As an example, we will use the QGIS Alaska dataset (see section Amostra de Dados). It includes a small sample GRASS LOCATION with three vector layers and one raster elevation map.

  1. Create a new folder called grassdata, download the QGIS ‘Alaska’ dataset qgis_sample_data.zip from http://download.osgeo.org/qgis/data/ and unzip the file into grassdata.
  2. Start QGIS.
  3. If not already done in a previous QGIS session, load the GRASS plugin clicking on Plugins ‣ mActionShowPluginManager Manage Plugins and activate checkbox GRASS. The GRASS toolbar appears in the QGIS main window.
  4. In the GRASS toolbar, click the grass_open_mapset Open mapset icon to bring up the MAPSET wizard.
  5. For Gisdbase, browse and select or enter the path to the newly created folder grassdata.
  6. You should now be able to select the LOCATION selectstring alaska and the MAPSET selectstring demo.
  7. Click [OK]. Notice that some previously disabled tools in the GRASS toolbar are now enabled.
  8. Click on grass_add_raster Add GRASS raster layer, choose the map name gtopo30 and click [OK]. The elevation layer will be visualized.
  9. Click on grass_add_vector Add GRASS vector layer, choose the map name alaska and click [OK]. The Alaska boundary vector layer will be overlayed on top of the gtopo30 map. You can now adapt the layer properties as described in chapter Janela de Propriedades de Vetor (e.g., change opacity, fill and outline color).
  10. Also load the other two vector layers, rivers and airports, and adapt their properties.

As you see, it is very simple to load GRASS raster and vector layers in QGIS. See the following sections for editing GRASS data and creating a new LOCATION. More sample GRASS LOCATIONs are available at the GRASS website at http://grass.osgeo.org/download/sample-data/.

Dica

Carregando dados GRASS

If you have problems loading data or QGIS terminates abnormally, check to make sure you have loaded the GRASS plugin properly as described in section Iniciando o complemento GRASS.

Localização e MAPSET GRASS

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 Referências Bibliográficas e Web). In order to analyze vector and raster layers with GRASS modules, you must 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. But because this is not the usual way for beginners to work with GRASS, this functionality will not be described here.)

Figure GRASS location 1:

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

Dados GRASS em LOCATION alaska

Criando uma nova Localização GRASS

As an example, here is how the sample GRASS LOCATION alaska, which is projected in Albers Equal Area projection with unit feet was created for the QGIS sample dataset. 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 Amostra de Dados).

  1. Start QGIS and make sure the GRASS plugin is loaded.
  2. Visualize the alaska.shp shapefile (see section Loading a Shapefile) from the QGIS Alaska dataset (see Amostra de Dados).
  3. In the GRASS toolbar, click on the grass_new_mapset New mapset icon to bring up the MAPSET wizard.
  4. Selecione uma pasta existente do banco de dados GRASS (GISDBASE) :arquivo:`grassdata`, ou criar uma para o novo :arquivo:`local` usando um gerenciador de arquivos em seu computador. Em seguida, clique [Próximo].

  5. We can use this wizard to create a new MAPSET within an existing LOCATION (see section Adicionando um novo MAPSET) or to create a new LOCATION altogether. Select radiobuttonon Create new location (see figure_grass_location_2).
  6. Digite um nome para o :arquivo`local` – que usa ‘alaska’ - e clique [Próximo].

  7. Define the projection by clicking on the radio button radiobuttonon Projection to enable the projection list.
  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 Trabalhando com Projeções)).
  9. Na Filtro, insira 2964 para selecionar a projeção.

  10. Clique [Próximo].

  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. Clique [Próximo].

  13. Também precisamos definir um: arquivo: ‘CONJUNTO DE MAPAS’ dentro do novo: arquivo: local (isto é necessário quando criar um novo: arquivo: LOCAL). Você pode nomeá-lo o que quiser - foi utilizado ‘demonstração’. GRASS cria automaticamente um arquivo: CONJUNTO DE MAPAS chamado: arquivo ‘PERMANENTE’, projetado para armazenar os dados básicos para o projeto, a sua extensão padrão e coordenar as definições do sistema (ver Neteler & Mitasova 2008 em: ref:` literature_and_web`).

  14. Confira o resumo para ter certeza que está correto e clique [Fim].

  15. O novo: arquivo ‘LOCALIZAÇÃO’: ‘Alaska’, e dois: arquivos: CONJUNTO DE MAPAS, demonstração e” permanente ”, são criados. O conjunto de trabalho aberto no momento é ‘demonstração’, como você definiu.

  16. Note que algumas das ferramentas na barra de ferramentas GRASS que foram desativadas estão agora habilitadas.

Figure GRASS location 2:

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

Creating a new GRASS LOCATION or a new MAPSET in 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 Importando dados para uma localização GRASS). You can also use the already-existing vector and raster data in the sample GRASS LOCATION ‘alaska’, included in the QGIS ‘Alaska’ dataset Amostra de Dados, and move on to section O modelo de dados vetorial do GRASS.

Adicionando um novo 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.

Todos: arquivos: ‘CONJUNTO DE MAPAS’ inclui um arquivo ‘WIND’ que armazena as coordenadas dos valores e a resolução selecionada (ver Neteler & Mitasova de 2008, em: ref:` literatura web` e seção: ref: sec_regiao_grass) .

  1. Start QGIS and make sure the GRASS plugin is loaded.
  2. In the GRASS toolbar, click on the grass_new_mapset New mapset icon to bring up the MAPSET wizard.
  3. Selecione a pasta do banco de dados GRASS (GISDBASE): arquivo grassdata com o arquivo:` local` ‘Alaska’, onde queremos adicionar mais um: arquivo: CONJUNTO DE MAPAS chamado ‘teste’.

  4. Clique [Próximo].

  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_location_2) and click [Next].
  6. Digite o nome: arquivo: texte para o novo: arquivo:` CONJUNTO DE MAPAS`. Abaixo no assistente, você verá uma lista existente arquivo: CONJUNTO DE MAPAS e seus proprietários

  7. Clique [Próximo], confira o resumo para se certificar de que está tudo correto e clique [Fim].

Importando dados para uma localização 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 Amostra de Dados).

  1. Start QGIS and make sure the GRASS plugin is loaded.
  2. In the GRASS toolbar, click the grass_open_mapset Open MAPSET icon to bring up the MAPSET wizard.
  3. Select as GRASS database the folder grassdata in the QGIS Alaska dataset, as LOCATION ‘alaska’, as MAPSET ‘demo’ and click [OK].
  4. Now click the grass_tools Open GRASS tools icon. The GRASS Toolbox (see section Ferramentas GRASS) dialog appears.
  5. Para importar o mapa raster: arquivo: landcover.img, clique no módulo: arquivo:` r.in.gdal` no: guilabel: guia módulos em árvore. Este módulo GRASS permite importar arquivos raster GDAL que suporta GRASS: arquivo: ‘local’. O módulo para: arquivo: aparece r.in.gdal.

  6. Browse to the folder raster in the QGIS ‘Alaska’ dataset and select the file landcover.img.
  7. Como nome de saída raster, definir: arquivo: landcover_grass e clique ** [Rodar] **. Na: guilabel: guia Saída, você vê o comando GRASS atualmente em execução` `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. Para importar o arquivo vetorial GML: arquivo lakes.gml, clique no módulo: arquivo:` v.in.ogr` no: guilabel: módulos em árvores. Este módulo GRASS permite importar arquivos vetoriais OGR apoiados na GRASS: arquivo: local. A caixa de diálogo para o arquivo aparece v.in.ogr.

  10. Browse to the folder gml in the QGIS ‘Alaska’ dataset and select the file lakes.gml as OGR file.
  11. Como o nome de saída do vetor, defina: arquivo: lakes_grass e clique ** [Ir] **. Você não tem de se preocupar com as outras opções neste exemplo. No: guilabel: saídat você vê o comando GRASS atualmente em execução` v.in.ogr -o dsn = / path / to / lakes.gml output = lagos _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.

O modelo de dados vetorial do 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 labeled) by the centroid of the area.

Além de limites e centróides, um mapa vetor também pode conter pontos e linhas. Todos estes elementos de geometria podem ser misturados em um vetor e será representado em diferentes ‘camadas’ dentro de um GRASS vetor. Então, no GRASS, uma camada não é um vetor ou raster, mas um nível dentro de uma camada vetorial. Isso é importante para distinguir cuidadosamente. (Embora seja possível misturar elementos de geometria, é incomum e, mesmo no GRASS, utilizado somente em casos especiais, tais como rede de análise vetorial. Normalmente, você deve preferir armazenar diferentes elementos geométricos em diferentes camadas.)

É possível armazenar várias “camadas” em um conjunto de dados vetoriais. Por exemplo, campos, florestas e lagos pode ser armazenado em um vetor. Uma floresta adjacente e um lago podem compartilhar o mesmo limite, mas eles têm tabelas de atributos separados. Também é possível fixar atributos limites. Um exemplo pode ser o caso em que a fronteira entre um lago e uma floresta é um caminho, para que ele possa ter uma tabela de atributos diferentes.

A “camada” do recurso é definido pela “camada” dentro do GRASS. ‘Camada’ é o número que define, se houver mais do que uma camada interior do conjunto de dados (por exemplo, se a geometria for uma floresta ou lago). Por enquanto, ele pode ser apenas um número. No futuro, o GRASS também apoiará nomes como campos na interface do usuário.

Attributes can be stored inside the GRASS LOCATION as dBase or SQLite3 or in external database tables, for example, PostgreSQL, MySQL, Oracle, etc.

Atributos em tabelas de base de dados estão ligados a elementos geométricos usando um valor ‘categoria’.

‘Categoria’ (chave, ID) é um número inteiro ligado a geometrias primitivas, e que é usada como ligação a uma coluna chave na tabela de base de dados.

Dica

Aprendendo um Modelo Vetor GRASS

A melhor maneira de aprender os modelos de vetores GRASS, e as suas capacidades é baixando um dos muitos tutoriais GRASS onde o modelo de vetor é descrito mais profundamente. Veja http://grass.osgeo.org/documentation/manuals/ Para mais informações, livros e tutoriais em várias línguas.

Criando uma nova camada vetorial 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 Digitalizando e editando uma camada vetorial 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 Criando novas camadas Vetoriais).

Dica

Creating an attribute table for a new GRASS vector layer

If you want to assign attributes to your digitized geometry features, make sure to create an attribute table with columns before you start digitizing (see figure_grass_digitizing_5).

Digitalizando e editando uma camada vetorial GRASS

The digitizing tools for GRASS vector layers are accessed using the grass_edit Edit GRASS vector layer icon on the toolbar. Make sure you have loaded a GRASS vector and it is the selected layer in the legend before clicking on the edit tool. Figure figure_grass_digitizing_2 shows the GRASS edit dialog that is displayed when you click on the edit tool. The tools and settings are discussed in the following sections.

Dica

Digitalizando polígonos no 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.

Barra de Ferramentas

In figure_grass_digitizing_1, you see the GRASS digitizing toolbar icons provided by the GRASS plugin. Table table_grass_digitizing_1 explains the available functionalities.

Figure GRASS digitizing 1:

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

GRASS Digitizing Toolbar

Ícone

Ferramenta

Propósito

grass_new_point

Novo Ponto

Digitaliza novo ponto

grass_new_line

Nova Linha

Digitaliza nova linha

grass_new_boundary

Nova Fronteira

Digitize new boundary (finish by selecting new tool)
grass_new_centroid

Novo Centróide

Digitaliza novo centróide (etiqueta da área existente)

grass_move_vertex Move vertex Move one vertex of existing line or boundary and identify new position
grass_add_vertex Add vertex Add a new vertex to existing line
grass_delete_vertex Delete vertex Delete vertex from existing line (confirm selected vertex by another click)
grass_move_line Move element Move selected boundary, line, point or centroid and click on new position
grass_split_line Split line Split an existing line into two parts
grass_delete_line Delete element Delete existing boundary, line, point or centroid (confirm selected element by another click)
grass_edit_attributes Edit attributes Edit attributes of selected element (note that one element can represent more features, see above)
grass_close_edit Close Close session and save current status (rebuilds topology afterwards)

GRASS Digitalização de Tabela 1: GRASS Ferramentas de Digitalização

Category Tab

The Category tab allows you to define the way in which the category values will be assigned to a new geometry element.

Figure GRASS digitizing 2:

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

GRASS Digitizing Category Tab

  • Mode: The category value that will be applied to new geometry elements.
    • Next not used - Apply next not yet used category value to geometry element.
    • Manual entry - Manually define the category value for the geometry element in the ‘Category’ entry field.
    • No category - Do not apply a category value to the geometry element. This is used, for instance, for area boundaries, because the category values are connected via the centroid.
  • Category - The number (ID) that is attached to each digitized geometry element. It is used to connect each geometry element with its attributes.
  • Field (layer) - Each geometry element can be connected with several attribute tables using different GRASS geometry layers. The default layer number is 1.

Dica

Creating an additional GRASS ‘layer’ with |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.

Settings Tab

The Settings tab allows you to set the snapping in screen pixels. The threshold defines at what distance new points or line ends are snapped to existing nodes. This helps to prevent gaps or dangles between boundaries. The default is set to 10 pixels.

Figure GRASS digitizing 3:

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

GRASS Digitizing Settings Tab

Symbology Tab

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

GRASS Digitizing Symbology Tab

Table Tab

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 Criando uma nova camada vetorial GRASS).

Figure GRASS digitizing 5:

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

GRASS Digitizing Table Tab

Dica

GRASS Edita Permissões

Você deve ser o proprietário do GRASS: arquivo: ‘CONJUNTO DE MAPAS’ que deseja editar. É impossível editar camadas de dados em: arquivo: ‘CONJUNTO DE MAPAS’ que não é seu, mesmo que você tenha permissão de gravação.

A ferramenta região GRASS

A região (definição de uma janela de trabalho espacial) no GRASS é importante para trabalhar com camadas. Análise Vetorial é, por padrão, não se limitando a quaisquer definições de região definida. Mas todos os vetores recém-criados terá a extensão espacial e a resolução da região GRASS atualmente definido, independentemente da sua extensão e da resolução original. A região GRASS atual é armazenado no: arquivo: ‘$ LOCAL / $ mapset / WIND’, e define o norte, sul, leste e oeste como limites, o número de colunas e linhas, resolução espacial horizontal e vertical.

It is possible to switch on and off the visualization of the GRASS region in the QGIS canvas using the grass_region Display current GRASS region button.

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].

O módulo GRASS: arquivo: g.região fornece muito mais parâmetros para definir uma medida para a região e resolução adequados para sua análise. Você pode usar esses parâmetros com as Ferramentas GRASS, descrito na seção: ref: subseção_grass_ferramentas.

Ferramentas 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

Ferramentas do GRASS e Modulo de Árvore nix

Trabalhando com módulos GRASS

O comando GRASS dentro do GRASS Ferramentas fornece acesso a quase todos os módulos (mais de 300) grass em uma interface de linha de comando. Para oferecer um ambiente de trabalho mais amigável, cerca de 200 dos módulos GRASS disponíveis e funcionalidades também são fornecidos por gráficos dentro do plugin Ferramentas GRASS.

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.

Também é possível personalizar o conteúdo Ferramentas GRASS. Este procedimento é descrito na seção: ref: sec_customizacao_ferramentas.

Como mostrado na figura_grass_ferramentas_1, você pode olhar para o módulo GRASS apropriado usando o temática agrupada: guilabel: Módulos em Árvores ou pesquisar: guilabel: ‘Lista de Modelos’.

Clicando em um ícone do módulo gráfico, uma nova aba será adicionada ao diálogo da caixa de ferramentas, oferecendo três novas sub-abas :guilabel: ‘Opções’, :guilabel:’Saída’ e :guilabel:’Manual’.

Opções

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

Ferramentas GRASS Opções de Módulo 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.

Saída

Figure GRASS module 2:

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

Ferramentas GRASS Modulo de Saída nix

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.

Manual

Figure GRASS module 3:

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

Ferramentas GRASS Modulo Manual nix

A: guilabel: ‘Manual’ mostra a página de ajuda em HTML do módulo grass. Você pode usá-lo para verificar outros parâmetros do módulo e sinalizadores ou para obter um conhecimento mais profundo sobre o objetivo do módulo. No final de cada página do manual, você vê outras ligações a: arquivo: ‘Ajuda’, o arquivo: ‘Temática’ e do: arquivo: ‘Completo’. Estas ligações fornecem a mesma informação que o módulo: arquivo: g.manual.

Dica

Mostra Resultados Imediatamente

Se você quiser exibir os resultados de cálculo imediatamente em sua tela do mapa, você pode usar o botão “Ver Saída” na parte inferior da aba módulo.

Exemplos de módulos GRASS

Os exemplos seguintes demonstrarão o poder de alguns dos módulos grama.

Criando linhas de contorno

O primeiro exemplo cria um mapa de contorno vetorial de elevação (DEM). Aqui, presume-se que você tem o Alasca: arquivo: ‘local’ configurado como explicado na seção: ref:` sec_import_loc_data

  • First, open the location by clicking the grass_open_mapset Open mapset button and choosing the Alaska location.
  • Now load the gtopo30 elevation raster by clicking grass_add_raster Add GRASS raster layer and selecting the gtopo30 raster from the demo location.
  • Now open the Toolbox with the grass_tools Open GRASS tools button.
  • Na lista de categorias de ferramentas, clique duas vezes no: menu: ‘Raster -> Gestão de Superfície -> Gerar linhas de contorno do vetor’.

  • Now a single click on the tool r.contour will open the tool dialog as explained above (see Trabalhando com módulos GRASS). The gtopo30 raster should appear as the Name of input raster.
  • Type into the Increment between Contour levels selectnumber the value 100. (This will create contour lines at intervals of 100 meters.)
  • Digite no :guilabel: Nome para a saída do vetor mapa o nome ctour_100.

  • Clique [Rodar] para iniciar o processo. Aguarde alguns instantes até que a mensagem Terminado com sucesso apareça na janela de saída. Então, clique [Ver saída] e [fechar].

Como se trata de uma grande região, vai demorar um pouco para exibir. Depois de terminar a renderização, você pode abrir a janela de propriedades da camada para alterar a cor da linha para que os contornos apareçam claramente sobre o raster elevação, como em: ref: vector_properties_dialog.

Em seguida, amplie uma pequena área montanhosa no centro do Alasca. Aproxima-se, você vai notar que os contornos têm cantos afiados. GRASS oferece a ferramenta v.generalize para alterar ligeiramente mapas vetoriais, mantendo sua forma original. A ferramenta usa diversos algoritmos diferentes, com finalidades diferentes. Alguns dos algoritmos (ie, Douglas Peuker e redução da Vertex) simplificam a linha removendo alguns dos vértices. O vetor resultante irá carregar mais rápido. Este processo é útil quando você tem um vetor altamente detalhado, mas você está criando um mapa muito pequena em escala, de modo que o detalhe é desnecessário.

Dica

A ferramenta simplificar

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

No entanto, o objetivo do exemplo é diferente. As linhas de contorno criado pelo “r.contour” têm ângulos agudos que devem ser suavizadas. Entre o algoritmo ** v.generalize ** , há Chaiken que faz exatamente isso (também ranhuras de Hermite). Esteja ciente de que estes algoritmos podem ** adicionar vértices** ao vetor, fazendo-a carregar ainda mais lentamente.

  • Abra o GRASS Ferramentas e clique duas vezes na categoria: menu: ‘Vetor -> Desenvolver mapa -> Geral’, em seguida, clique no módulo v.generalize para abrir a janela de opções.

  • Verifique se o vetor ‘ctour_100’ aparece como Nome do vetor de entrada.

  • A partir da lista de algoritmos, escolha Chaiken. Deixe todas as outras opções em padrão, e desça até a última fila para entrar no campo: guilabel: ‘Nome de saída do vetor mapa’ ‘ctour_100_smooth ‘, e clique ** [Ir] **.

  • O processo leva vários minutos. Após o “Finalizado com Sucesso”` aparece as janelas de saída, clique ** [Saída] ** e ** [Fechar] **.

  • É possível mudar a cor do vetor para apresentar claramente o fundo matricial e para contrastar com as linhas de contorno originais. Você notará que as novas linhas de contorno têm cantos mais suaves do que o original, enquanto permanecer fiel à forma geral de origem.

Figure GRASS module 4:

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

Modulo GRASS v.generalize para visualizar um mapa vetorial nix

Dica

Outros usos para r.contour

O processo descrito acima pode ser utilizado em outras situações equivalentes. Se você tem um mapa de dados de precipitação, por exemplo, então o mesmo método será utilizado para criar um mapa de vetor de linhas (chuvas constantes).

Criando um efeito de sombreamento 3D

Vários métodos são usados ​​para exibir as camadas de elevação e dar um efeito 3-D para mapas. O uso de curvas de nível, como mostrado acima, é um método popular, muitas vezes escolhido para produzir mapas topográficos. Outra forma de apresentar um efeito 3-D é de sombreamento. O efeito Sombra é criado a partir de um DEM (elevação) que calcula a inclinação e o aspecto de cada célula, em seguida, simula a posição do sol no céu dando um valor de reflexo para cada célula. Assim, você tem pistas virada para o sol; as encostas viradas longe do sol (na sombra) são escurecidas.

  • Comece este exemplo carregando o ‘raster de elevação gtopo30’. Inicie o GRASS Ferramentas, e sob a categoria Raster, clique duas vezes para abrir: menu: ‘Análise espacial -> Análise do Terreno’.

  • Então, clique r.shaded.relief para abrir o módulo.

  • Change the azimuth angle selectnumber 270 to 315.
  • Digite gtopo30_shade para o novo raster sombreado e clique [rodar].

  • Quando o processo termina, adicione o raster sombreado ao mapa. Você deve vê-lo exibido em escala de cinza.

  • Para visualizar tanto o sombreamento da colina e as cores do “gtopo30”, mova o mapa sombreado abaixo “mapa gtopo30” na tabela de conteúdo, em seguida, abra o: menu: ‘Propriedades de’ `“GTOPO30”, mude para o: guilabel: ‘transparência’: e defina seu nível de transparência a cerca de 25%.

Agora você deve ter a elevação gtopo30 com o seu mapa de cores e configuração de transparência apresentada acima o tons de cinza mapa sombreado. Para ver os efeitos visuais do sombreamento, desligue o mapa gtopo30_shade em seguida, ligue-o novamente.

Usando a linha de comando 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

A shell GRASS, módulo r.shaded.relief nix

O módulo ** r.shaded.relief ** pode ter um parâmetro “zmult”, que multiplica os valores de elevação em relação ao XY unidades de coordenadas de modo a que o efeito de sombreamento é ainda a mais usada.

  • Coloque o “raster elevação gtopo30”, e depois inicie o GRASS Ferramentas e clique no comando grass. Na janela de comando, digite: “mapa r.shaded.relief = sombra GTOPO30 = gtopo30_shade2 azimute = 315 = zmult 3” e pressione ** [Entrar] **.

  • After the process finishes, shift to the Browse tab and double-click on the new gtopo30_shade2 raster to display it in QGIS.
  • Como explicado acima, mova o raster com o relevo sombreado abaixo da tabela de conteúdo “raster gtopo30” em seguida, verifique a transparência da “camada gtopo30” colorida. Você deverá ver que o efeito 3-D se destaca mais fortemente em relação ao primeiro mapa com relevo sombreado.

Figure GRASS module 6:

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

Exibindo relevo sombreado criado com o módulo GRASS r.shaded.relief nix

Estatísticas Raster em um mapa vetor

O próximo exemplo mostra como um módulo GRASS pode agregar dados raster e adicionar colunas de estatísticas para cada polígono em um mapa vetor.

  • Novamente usando os dados do Alasca, consulte a: ref: sec_import_loc_data para importar o shapefile árvores do diretório shapefiles no GRASS.

  • Agora, um passo intermediário é necessária: centroides deve ser adicionado ao mapa importando as árvores para torná-lo num vetor de área de grass completo (incluindo os limites e centróide).

  • Na caixa de ferramentas, escolha: menu: `Vetor -> Gerenciar recursos, e abra o módulo ** v.centroids **.

  • Digite como mapa vetor de saída ‘forest_areas’ e rode o módulo.

  • 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 Menu Estilo of the vector section.)
  • Em seguida, reabrir o GRASS Ferramentas no: menu: ‘Vetor -> Atualização do Vetor’ para outros mapas.

  • Clique no módulo v.rast.stats. Digite “gtopo30” e “forest_areas”.

  • Apenas um parâmetro adicional é necessária: Entra no: guilabel: ‘prefixo’ coluna ‘elev’` e clique ** [Ir] **. Esta é uma operação computacionalmente pesada, que será executado por um longo tempo (provavelmente até duas horas).

  • Finalmente, abra o “areas_floresta” na tabela de atributos, e verifique que várias novas colunas foram adicionadas, incluindo ` elev_min``, `` elev_max``, `` elev_média``, etc, para cada polígono florestal.

Working with the GRASS LOCATION browser

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

GRASS LOCATION browser nix

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

  • grass_add_map Add selected map to canvas
  • grass_copy_map Copy selected map
  • grass_rename_map Rename selected map
  • grass_delete_map Delete selected map
  • grass_set_region Set current region to selected map
  • grass_refresh Refresh browser window

The grass_rename_map Rename selected map and grass_delete_map Delete selected map only work with maps inside your currently selected MAPSET. All other tools also work with raster and vector layers in another MAPSET.

Personalizando a caixa de ferramentas GRASS

Quase todos os módulos de GRASS podem ser adicionados a caixa de ferramentas. Uma interface XML é fornecido para analisar os arquivos mais simples que configuram a aparência e os parâmetros dos módulos dentro da caixa de ferramentas.

Um exemplo de arquivo XML para gerar o módulo v.buffer (v.buffer.qgm) se parece com isto:

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