Arquivo da tag: MDT

Delimitação de Microbacias Hidrográficas com o gvSIG – Parte IV

Buenas, pessoal!

Finalmente entramos na reta final deste tutorial sobre a delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Nesta última parte faremos a delimitação propriamente dita.

Havíamos encerrado o post anterior com as sub-bacias hidrográficas de nossa área de estudo caracterizadas e devidamente vetorizadas:


Vamos prosseguir a partir daqui:

Selecionar as sub-bacias que pertencem à MBH de interesse:

Em primeiro lugar, vamos alterar a ordem das camadas que estão presentes no TOC, de modo que a camada vetorial da rede de drenagem esteja por cima da camada vetorial das sub-bacias hidrográficas. Além disso, é interessante alterar a simbologia da rede de drenagem, mudando a cor e a espessura da linha, de modo em a rede de drenagem possa ser facilmente visualizada por cima da camada das sub-bacias. Esse procedimento irá ajudar bastante na análise visual.

Em seguida, precisamos identificar a região da área de estudo em que está localizada a MBH que queremos delimitar, e dar um zoom na área, de modo a enquadrá-la na área de trabalho, facilitando procedimento de seleção.

Confirmamos que a camada vetorial das sub-bacias está selecinada no TOC, e passamos para a fase da seleção propriamente dita. Neste momento faremos uso das ferramentas de seleção de feições: 

Uma dica é utilizar primeiramente a ferramenta “Seleção por polígono”, procurando fazer o contorno da área de interesse. Quando terminar  a seleção, basta dar um “duplo clique” para fechar o polígono de seleção, e toda a área interna ao polígono desenhado será selecionada. Bastará então utilizar a ferramenta de “Seleção por ponto” para selecionar  as eventuais áreas que ficaram fora da seleção anterior, tomando o cuidado de pressionar simultaneamente a tecla “Ctrl”, para que as feições selecionadas sejam adicionadas à seleção já existente. O mesmo pode ser feito para remover a seleção de alguma sub-bacia que eventualmente não faça parte da MBH em questão: basta clicar sobre ela com a ferramenta de “Seleção por ponto”, sempre com a tecla “Ctrl” pressionada, que será removida a seleção da sub-bacia.

No final do trabalho de seleção deveremos ter uma camada semelhante a da figura a seguir:

Vamos agora exportar essa seleção para uma nova camada: acessamos o menu Camada > Exportar para > SHP, e definimos um nome e o caminho para o arquivo shape que será gerado. Ao clicarmos em “Aceitar” aparecerá uma mensagem informando o número de feições que serão exportadas, e perguntando se desejamos continuar:

Após clicarmos em “Sim”, a seleção será exportada para um novo shape, e seremos questionados se queremos inserir a nova camada na Vista, ao que devemos responder novamente “Sim”. E seremos apresentados ao shape das sub-bacias que compõe a nossa MBH:

Precisamos agora gerar um shape que contenha todas as sub-bacias, delimitando assim a área da MBH. Para isso, vamos…

Aplicar o geoprocesso “dissolver”:

Clicamos com o botão direito sobre camada da MBH que acabamos de criar e, no menu contextual que é aberto, clicamos na opção “Iniciar edição”. Em seguida, clicaremos no ícone “Mostrar atributos”, para que possamos ter acesso à tabela de atributos do shape da MBH. Acessamos então o menu Tabela > Modificar estrutura da tabela, pois precisaremos acrescentar um campo à estrutura da tabela que contenha um mesmo valor em todos os elementos da tabela para podermos aplicar o geoprocesso dissolver.

Na janela do “Editor de campos” que se abre vamos selecionar a opção “Novo campo”. Podemos alterar o “Nome do campo” (utilizei o nome “dissolver”); em “Tipo” vamos deixar selecionada a opção “string”; em “Tamanho” alteramos para o valor “1”; e, finalmente, em “Valor padrão” escolhemos um valor que aparecerá automaticamente preenchido em todos os elementos da tabela no novo campo que estamos inserindo.

Ao clicarmos em “Aceitar” o campo será inserido, e poderemos conferir este fato na listagem dos campos da tabela de atributos do shape que nos é apresentada:

Podemos então clicar em “Aceitar”, fechamos a Tabela de atributos e, no TOC, clicamos com o botão direito na camada que estávamos editando, e selecionamos a opção “Termina a edição”.

Em seguida, vamos acessar o menu Vista > Gestor de geoprocessos. Na janela de Geoprocessos que se abre, selecionaremos: Geoprocessos > Análises > Agregação > Dissolver

Ao selecionarmos a opção “Abrir Geoprocesso”, abrirá a janela de configuração da ferramenta, onde selecionaremos as seguintes opções: em “Camada de entrada” selecionamos o shape da MBH; podemos conferir se o número de elementos selecionados está correto; em “Campo para dissolver” selcionaremos o campo que acabamos de criar (“dissolver”, no meu caso); finalmente, em “Camada de saída”, vamos nomear arquivo e definir o caminho onde o mesmo será salvo.

Ao clicarmos em “Aceitar” o geoprocesso dissolver será aplicado, e teremos o resultado desta operação:

Podemos perceber que todas as feições foram dissolvidas e temos agora um shape que contém apenas uma feição, correspondente a área total da nossa MBH. Podemos agora agregar algumas informações a este shape, como por exemplo:

Calcular a área e o perímetro da MBH:

Para agregar essas informações ao shape que acabamos de criar vamos acessar o menu Camada > Adicionar informação geométrica.

Na janela “Adicionar informações geométrica” que se abre vamos selecionar o shape que acabamos de criar no passo anterior em “Camada”; selecionamos as informaçôes geometricas “área” e “perímetro”, clicando em seguida no ícone “Adiciona os ítens selecionados”:

Após clicarmos em “Aceitar” serão calculados a área e o perímetro da nossa MBH, com as unidades de medida definidos na configuração inicial das propriedades da Vista. Os valores estarão na tabela de atributos do shape, e podemos consultá-los através do ícone “Tabela de atributos:

Recortar a rede de drenagem da microbacia hidrográfica:

Como último passo deste tutorial vamos recortar a rede de drenagem, de forma a termos separada apenas a rede de drenagem da MBH que nos interessa. Para tanto, acessaremos o menu Vista > Gestor de geoprocessos e, na janela do Gestor de Geoprocessos, acessaremos o caminho: Geoprocessos > Análises > Sobreposição > Recortar.

Clicamos em “Abrir Geoprocesso” e, na janela de opções da ferramenta, aplicaremos as seguintes configurações: em “Camada de entrada” selecionamos o shape da rede de drenagem; selecionamos como “Camada de recorte” o shape do limite da MBH; e, em “Camada de saída” definimos o nome e o caminho do arquivo que será gerado.

Após clicarmos em “Aceitar”, o geoprocesso será aplicado e obteremos o nosso resultado:

Na próxima imagem apresento a MBH devidamente delimitada, juntamente com sua rede de drenagem, que é o nosso resultado final, já com a simbologia alterada para uma melhor apresentação visual:

A partir deste momento poderemos gerar o mapa da MBH, para ser impresso ou salvo como um arquico pdf, mas esse não é o objetivo deste tutorial. Para quem quiser fazer esse trabalho indico o excelente tutorial sobre o “Modo layout no gvSIG“, do meu amigo Esdras, no blog Geo para Linux

Delimitação de Microbacias Hidrográficas com o gvSIG – Parte III

Buenas, pessoal!

Vamos agora para a terceira parte do tutorial sobre delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Na segunda parte do tutorial vimos como gerar o MDT a partir de um arquivo shape contendo curvas de nivel da região de interesse. Neste momento, estamos com o MDT pronto e processado, de modo a não apresentar depressões. Retomamos o trabalho a partir deste ponto.

Gerar a camada de fluxo:

Para início de conversa, abriremos a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Flow accumulation

Na janela da ferramenta que se abre, vamos efetuar as seguintes configurações: Na aba “Parameters”, seção “Inputs – Raster layers”, em “Elevation” selecionaremos a camada que foi gerada após o processamento de eliminação das depressões; em “Weight” deixamos sem seleção (Not selected); na seção “Options”, em “Method” selecionamos a opção “MFD (Multiple Flow Directions)”; em “Convergence factor (MFD), colocamos o valor de “1.1”; na seção “Outputs”, como de praxe, selecionamos o nome e caminho onde o arquivo resultante será salvo.

Na aba “Output region” deixaremos selecionada a opção “Fit to input layers” (nota: de agora em diante essa será a opção “padrão”, quando não nos referirmos a ela nas próximas fases. Se houver alguma necessidade de alterar essa opção, eu avisarei).

Ao clicarmos em “OK” a rotina de acúmulo de fluxo será aplicada, e obteremos como resultado final um arquivo raster que representa o acúmulo de fluxo da nossa área de estudo:

Podemos agora partir para a geração da rede de drenagem.

Gerar a rede de drenagem:

Abrimos novamente a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Channel network

Definindo as opções da ferramenta: Na aba “Parameters”, seção “Input – Raster layers”, vamos definir que em “Elevation” será utilizada a camada raster do MDT processado (sem depressões); em Threshold layer, selecionaremos a camada de fluxo, gerada na fase anterior; na seção “Options”, primeiramente não mexeremos nas opções apresentadas: em “Criteria” está selecionado “Greater than”, e em Threshold está o valor de “10000.0”; na seção “Outputs, o diferencial agora é que será gerada uma camada no formato raster e outra no formato vetorial. Definimos aqui nome e caminho para caminho para cada um dos arquivos que será gerado. Na aba “Output region”, como comentamos anteriormente, deixaremos selecionada a opção “Fit to input layers”.

Ao rodarmos a rotina clicando em “OK”, seremos apresentados ao arquivo resultante: a rede de drenagem da nossa área de estudo:

Como podemos observar, a rede de drenagem ficou muito detalhada. Se aplicarmos a rotina de geração de sub-bacias neste arquivo, receberemos como resultado centenas de sub-bacias, referentes a cada contribuinte da rede de drenagem, por menor que seja. Co mo não é esse o objetivo neste momento, vamos alterar os parâmetros para obter uma rede de drenagem com menos detalhes:

Abrindo novamente a ferramenta “Channel ntetwork” do Sextante, vamos alterar apenas a opção “Threshold”, da seção “Options” da aba “Parameters”. Como uma primeira aproximação, vamos alterar o valor de “10000.0” para “100000.0”; não alteraremos as demais opções.

Pressionado “OK”, a rotina será aplicada novamente, e obteremos nossa nova rede de drenagem:

Podemos perceber que a rede de drenagem já está menos detalhada, apresentando um nível adequado para o trabalho que queremos fazer. Se precisássemos um nível de detalhes ainda menor, bastaria alterarmos novamente o valor de “Thereshold”. Por exemplo, utilizando o valor 1000000.0, praticamente aparecerá na rede de drenagem apenas os canais principais.

Com a rede de drenagem gerada, podemos passar para o próximo passo:

Gerar as sub-bacias hidrográficas:

Acessamos novamente a ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Watersheds

Configurando a ferramenta: na aba “Parameters”, seção “Inputs – Raster layers”, em “Elevation” selecionamos a camada raster do MDT processado (sem depressões); em “Chanel network” selecionamos a camada da rede de drenagem que geramos no passo anterior; na seção “Options”, em “Minimum watershed size [cells]” podemos definir o tamanho mínimo, em células, que a sub-bacia pode ter. Neste caso, deixamos o valor padrão (“0”); Na seção “Outputs”, definimos o nome do arquivo e o caminho onde ele será salvo. Na aba “Output region”, deixamos selecionada a opção “Fit to input layers”.

Ao clicarmos em “OK”, seremos apresentados ao nosso resultado final: um arquivo raster representando todas as sub-bacias hidrográficas da nossa área de estudo.

Na próxima imagem podemos conferir a rede de drenagem sobreposta às sub-bacias hidrográficas:

Para os próximos passos no trabalho de delimitação das MBH, precisaremos converter este arquivo raster em um arquivo vetorial:

Vetorizar as sub-bacias hidrográficas:

Pela última vez neste tutorial, vamos acessar a ferramenta Sextante: SEXTANTE > Vectorization > Vectorize raster layer (polygons)

Precisamos definir apenas dois parâmetros: em “Input layer”, selecionamos a camada raster que queremos vetorizar (a camada das sub-bacias hidrográficas que acabamos de gerar), e em “Outputs – Result[vector]” definimos o nome do arquivo e o caminho onde ele será salvo.

Novamente clicando em “OK” seremos apresentados ao arquivo vetorial simbolizando as sub-bacias da nossa área de estudo:

Como último passo desta parte do tutorial, vamos alterar a simbologia da camada de sub-bacias hidrográficas, para facilitar os trabalhos seguintes:

Aplicar simbologia nas sub-bacias hidrográficas:

Selecionamos no TOC a camada “Result” (gerada no passo anterior), e, clicando com o botão direito do mouse sobre ela, selecionamos no menu contextual que se abre a opção “Propriedades”. Na aba “Simbologia”, selecionamos Categorias > Valores únicos

Em “Campo de classificação” escolhemos o campo pelo qual iremos aplicar a simbologia (Watersheds, neste caso); em “Esquema de cores”, escolhemos um gradiente de cores que nos agrade, de preferência com uma grande variação de cores (selecionei o esquema “purple-red+stripes”); em seguida, clicamos em “Adicionar todos”. Aparecerá a mensagem de alerta: “mais de 100 símbolos não contribuem para uma clara informação em um mapa”:

Podemos clicar em “Yes”, pois neste caso o que queremos é apenas facilitar a diferenciação das diferentes áreas.

Clicando em “Aplicar” teremos um “preview” e, se o resultado nos agradar, podemos clicar em “Aceitar”. Seremos então apresentados ao nosso arquivo vetorial, já com a simbologia aplicada:

Com isto terminamos esta terceira parte do nosso tutorial sobre delimitação de Microbacias Hidrográficas com o gvSIG. Na próxima (e última) parte iremos finalmente selecionar as sub-bacias que compõe a nossa MBH, e executar os procedimentos que nos permitirão delimitá-la.

 

Delimitação de Microbacias Hidrográficas com o gvSIG – Parte II

Buenas, pessoal!

Estamos de volta com a segunda parte do tutorial de delimitação de Microbacias Hidrográficas (MBH) com o gvSIG. Para darmos continuidade precisaremos do arquivo shape contendo as curvas de nível da nossa área de interesse, que foi obtido no final da primeira parte deste tutorial:

Passaremos agora a gerar o modelo digital do terreno a partir destas curvas de nível.

Rasterização das curvas de nível:

Como primeiro passo, precisamos transformar os vetores em um arquivo raster. Para tanto, acessamos novamente a ferramenta Sextante: SEXTANTE > Rasterization and interpolation > Rasterize vector layer

Na janela de configuração da ferramenta que se abre vamos alterar os parâmetros da primeira aba (“Parameters”): na seção “Inputs – Vector layer”, em Vector Layer selecionamos a camada de entrada, que nesse caso é a camada que contém o recorte das curvas de nível; em Field, precisamos definir qual o campo da tabela contém os dados de altitude (cota) dos vetores que, no nosso caso, está em “CODIGO”; na seção “Outputs”, definimos o arquivo em que será salvo o resultado da operação. Deixei marcada a opção de salvar para um arquivo temporário, mas podemos selecionar o caminho e definir o nome para o arquivo se quisermos salvá-lo.

Na aba “Output region” vamos selecionar a opção “Use extent from layer”, selecionando em seguida a camada do recorte das curvas de nível como base. Em seguida, alteramos a opção “Cell size” para o valor “20.0”, e clicamos em “OK”.

Será processada a rasterização da camada de vetores, e no final obteremos um arquivo raster equivalente ao arquivo vetorial das curvas de nível:

Como podemos notar, temos duas situações neste arquivo: pixels da imagem onde estão as curvas de nível contém informações da altitude das mesmas (cotas), enquanto que nas áreas pretas da imagem estão pixels que não contém informações. Precisamos preencher esses “vazios”, de forma que cada pixel da imagem contenha uma informação de altitude, através de um processo de interpolação. Usaremos outra rotina do Sextante para preencher as células sem dados

Preenchendo as células sem dados:

Voltamos a abrir o Sextante: SEXTANTE > Basic tools for raster layers > Void Filling

Na janela de opções da ferramenta que é aberta, precisamos apenas conferir se em “Layer” está selecionada a camada que foi rasterizada no passo anterior, e podemos deixar o valor default de “0.1” em “Tension thershold”. Em “Outputs – Filled layer[raster], podemos definir o nome e o caminho onde o arquivo gerado será salvo:


Após clicarmos em “OK”, o arquivo raster será processado pela rotina, e teremos no final um arquivo onde cada célula (pixel) contém uma informação de altitude (cota), representando assim o Modelo Digital do Terreno (MDT):

No entanto, antes de darmos por terminada esta fase do trabalho, precisamos executar mais um procedimento. Como o Gilberto explica em suas palestras, com muita propriedade: “precisamos ter certeza que uma gota de água (virtual), largada em qualquer ponto do nosso MDT, irá escorrer até o ponto mais baixo, sem se perder em qualquer depressão que pudesse estar presente”.  Para isso, precisaremos aplicar um procedimento de… eliminar as depressões do MDT.

Eliminando as depressões:

Voltemos à nossa ferramenta Sextante: SEXTANTE > Basic hydrological analysis > Sink filling


Novamente, na janela da ferramenta que é aberta, vamos definir alguns parâmetros: em “Input – Raster layers”, vamos tomar o cuidado de observar se está selecionada a camada raster gerada no passo anterior (rasterizada e preenchida); em “Min. angle between cells [deg]” podemos deixar o valor default de “0.01” e, como sempre, em “Outputs – Preprocessed[raster]”, definiremos o nome e o caminho onde será salvo o arquivo que será gerado pela rotina. É importante que salvemos este arquivo, pois o mesmo será utilizado para os procedimentos subsequentes.

Após clicarmos em “OK” será iniciado o processamento. E aqui cabe uma ressalva importante: esse processo é demorado! Para fins de comparação, o processo demorou 50 minutos em um computador com processador Intel Core 2 Quad e 8 Gb de RAM. Portanto, tenha paciência, saia para fazer um lanche, e aguarde o término do processamento!

Finalizado o processamento seremos apresentados ao resultado final. Aparentemente, não há diferenças entre esse e o arquivo anterior, mas agora temos certeza que todas as depressões do terreno foram eliminadas.

Terminamos aqui a segunda parte deste tutorial. Na próxima parte estaremos trabalhando com a geração da camada de acúmulo de fluxo, a geração da rede de drenagem e, finalmente, a geração das sub-bacias hidrográficas. Aguardem!

Delimitação de Microbacias Hidrográficas com o gvSIG – Parte I

Buenas, pessoal!

Recentemente tive que lidar no meu trabalho com o desafio de delimitar uma microbacia hidrográfica (MBH, de agora em diante), pois precisava conhecer qual seria a área abrangida por tal MBH, quais os moradores que faziam parte desta MBH, etc. Digo desafio porque nunca havia realizado tal procedimento com o gvSIG. Nesta série de artigos venho compartilhar os procedimentos que adotei, pois certamente poderão ajudar outros usuários. Além disso, esse é mais um artigo que pode ser enquadrado na Série #SLGeoTbFaz… 😉

Antes de começar, gostaria de ressaltar que praticamente toda a sequencia de procedimentos que eu segui está descrita na apostila “Introdução ao gvSIG portable v1.11 SIG-RB, Módulo Básico”, disponibilizado de forma aberta pelo pessoal do Sistema de Informações do Ribeira de Iguapé e Litoral Sul. A apostila pode ser baixada gratuitamente mediante um rápido cadastro na área de capacitação do site. Feitas estas primeiras considerações, vamos ao tutorial, propriamente dito:

Nesta primeira fase, vamos preparar o ambiente para o trabalho que virá a seguir. Os dados que iremos utilizar foram obtidos do DVD “Base cartográfica vetorial contínua do Rio Grande do Sul – escala 1:50.000”, produzido pela UFRGS – IB. Centro de Ecologia – Laboratório de Geoprocessamento, e pode ser adquirido no site da Editora UFRGS. Vale cada centavo investido!

Com o gvSIG aberto, vamos criar uma nova Vista, definindo nas propriedades da mesma o Sistema de Coordenadas EPSG 32722 (WGS 84 / UTM zona 22S). Abrimos a Vista e inserimos o arquivo shape do estado do Rio Grande do Sul, já reprojetado para o Sistema de Coordenadas adotado.

Com a ferramenta de seleção, selecionamos o município que será trabalhado. No caso, o município de Seberi, no noroeste gaúcho:

Com a área de interesse selecionada, vamos no menu Camada > Exportar para > SHP, e exportamos a feição selecionada para um novo arquivo shape, com o qual iremos trabalhar. Salvo o arquivo, respondemos “sim” à mensagem que nos pede se queremos inserir o novo shape na Vista. Na próxima figura podemos conferir o shape dos limites do município, após clicarmos com o botão direito do mouse no nome da camada no TOC e, no menu contextual que se abre, selecionar “Zoom na camada”:

Como estaremos trabalhando com dados em uma escala maior, vamos criar um buffer para garantir que todos os detalhes que queremos trabalhar estarão incluídos. Para tanto, acessamos o menu Vista > Gestor de geoprocessos.

Na árvore de seleção de geoprocessos à esquerda da janela aberta selecionamos Geoprocessos > Análises > Proximidade > Buffer (área de influência) e clicamos em “Abrir geoprocesso“.

Na janela que se abre precisaremos definir alguns dados: na “Camada de entrada”, selecionamos o shape do limite do município; selecionamos a opção “Buffer definido por uma distância”, definindo o valor de 500 m; em “Criar Buffer” selecionamos a opção “Fora do polígono”; em “Número de anéis concêntricos” deixamos o valor “1” e, finalmente, definimos um arquivo onde o buffer resultante será salvo, clicando em “Abrir” e definindo o nome do arquivo e selecionando o caminho onde o mesmo será salvo.

Com todas as opções definidas clicamos em “Aceitar” e será gerado um shape com uma área de buffer externo de 500m ao redor do shape dos limites do município de Seberi:

Podemos agora descartar as camadas que não serão mais utilizandas, deixando apenas a camada gerada pelo geoprocesso Buffer: selecionando-as no TOC, clicamos com o botão direito do mouse e escolhemos a opção “Remover camadas” no menu contextual que aparece.

Precisamos agora definir um retângulo envolvente que englobe toda a área do município. Para tanto, clicamos em SEXTANTE > Toolbox e, na janela que se abre, selecionamos Sextante > Tools for vector layers > Bounding Box:

Na janela da ferramenta “Bounding Box” que é aberta, definimos na aba “Parameters”, em “Layers”, a camada que será utilizada para gerar o retângulo envolvente (no caso, a camada do buffer), e definimos também o arquivo que será gerado. Clicando em “OK” a rotina será aplicada, e obtemos um shape com o retângulo envolvente:

Definida a nossa área de interesse podemos inserir no projeto a camada com o shape das curvas de nível da região, tomando o cuidado de selecionar o arquivo com a projeção do projeto:

Vamos agora fazer um recorte da área que nos interessa. Para tanto, vamos no menu Vista > Gestor de geoprocessos e na janela do gestor de geoprocessos selecionamos Geoprocessos > Sobreposição > Recortar, clicando em seguida em “Abrir geoprocesso”.

Na janela de opções da ferramenta Recortar que se abre, selecionamos as opções: em “Camada de entrada” escolhemos a camada das curvas de nível que queremos recortar; em “Camada de recorte” selecionamos a camada do retângulo envolvente que criamos, que é a nossa área de interesse e, finalmente, em “Camada de saída” definimos o arquivo que será gerado.

Clicando em “Aceitar” o geoprocesso será realizado, resultando em um shape contendo as curvas de nível apenas da área que nos interessa:

Na próxima figura temos o nosso arquivo shape final, contendo apenas as curvas de nível da região do município gaúcho de Seberi, que servirá de base para as próximas fases do tutorial. Se, por um acaso, você gerou o arquivo apenas na memória, poderá salvar agora o resultado obtido selecionando a camada no TOC e clicando no menu Camada > Exportar para > SHP.

Não tenho como disponibilizar o arquivo shape das curvas de nível do estado do Rio Grande do Sul, até por questões autorais, mas creio que não haverá problemas maiores em disponibilizar apenas o arquivo shape final obtido, para que os nossos leitores possam acompanhar os próximos passos do tutorial (se houver alguma infração, peço que os responsáveis entrem em contato, que retirarei o arquivo).

Na próxima parte da série abordaremos a geração do Modelo Digital de Terreno no gvSIG, feito a partir das curvas de nível que obtemos neste tutorial. Até breve!