ArcGIS 10.1: Super Análise Hidrológica com Spatial Analyst |
ArcGIS 10.1: Super Análise Hidrológica com Spatial Analyst
Clique nas opções abaixo para fazer o download do tutorial.
Extração de Rede de Drenagem, Álgebra de Mapas e Delimitação de bacia Hidrográfica são os temas que serão abordados neste fantástico tutorial. Eu tentei construir esta dica de modo que o procedimento para extração de rede de drenagem possa ser reproduzido em outro SIG, pois as ferramentas são as mesmas.
A caixa de ferramentas Hydrology são algoritmos do Spatial Analyst para análise hidrológica no ArcGIS. Vamos utilizar essas ferramentas para extração de uma rede de drenagem a partir de um DEM SRTM.
Download e Processamento do SRTM Topodata
No tutorial abaixo você pode obter uma grade vetorial contendo os links para download do DEM Topodata. O procedimento para obter este modelo de elevação processado pelo INPE está tudo muito bem documentado no tutorial abaixo:
Topodata – Modelo Digital de Elevação Processado pelo INPE
O DEM SRTM que vamos utilizar para extração da rede de drenagem precisa de um ajuste de projeção e reprojeção para o Sistema de Coordenadas Planas UTM de acordo com sua localização. O tipo de dado utilizado no tutorial é Unsigned Integer 16 bit (Números Inteiros Não Sinalizados de 16 bits) [1] [2].
Familiarize-se com alguns termos associados a Hidro
É importante tomar nota de alguns termos associados à análise hidrológica conhecendo os seus correspondentes em Português:
Watershed = Bacia Hidrográfica
Basin = Bacia Hidrográfica
Drainage Network = Rede de Drenagem
Stream Network = Rede de Drenagem
Sub-Basin = Sub-Bacia
Stream = Córrego, Riacho, Rio
Upstream = Rio Acima (Em Geografia, "upstream" indica a fonte de um córrego ou rio contra a direção normal do fluxo de água)
Downstream = Rio Abaixo
Tradução de algoritmos de Análise Hidrológica
Sink (Buraco, Depressão)
Cria um raster identificando todas as depressões, áreas de drenagem interna e vazios ou erros do SRTM ou outro raster de superfície.
Fill (Preencher)
Preenche pequenas imperfeições nos dados e remove todos os sinks do raster de superfície.
Flow Direction (Direção do Fluxo)
Gera um raster contendo a direção do fluxo de cada célula. No Flow Direction, cada pixel é potencialmente cercado por oito pixels vizinhos. A inclinação de cada uma destas oito direções pode ser calculada tomando-se a diferença em elevação indicada pelo valor de DEM para cada um destas oito localidades vizinhas e do valor no pixel a ser examinado.
Flow Accumulation (Acumulação de Fluxo)
O raster criado determina a acumulação de fluxo a partir do Flow Direction criado anteriormente.
Execute o ArcMap. A caixa de ferramentas Hydrology está localizada no menu Spatial Analyst – Hydrology. O pré-processamento que fizemos no Modelo de Elevação Topodata seguiu estes passos:
O arquivo foi entregue com projeção/Datum arbitrária, sem referência espacial. Definimos a projeção para GCS_WGS1984;
Reprojetamos o DEM com referência geográfica para WGS 1984 UTM Zone 22 S (esta é a projeção plana da região de Jaboticabal-SP, nossa área de estudo)
Finalmente fizemos a conversão do tipo de dado de Float 32 bits para Unsigned Integer 16 bits.
Nosso DEM Topodata está pronto. Este PDF traz uma visão geral da região onde vamos executar nossas análises hidrólogicas no Spatial Analyst.
Flow Direction – Definindo as Direções dos Rios
Clique no menu Spatial Analyst – Hydrology – Flow Direction. Informe o DEM e o local de saída para o novo arquivo TIF:
Clique com o botão direito do mouse sobre o Flow Direction criado e selecione a opção Open Attribute Table. No campo Count da tabela, o Flow Direction deve conter apenas os valores 1, 2, 4, 8, 16, 32, 64 e 128 que representam as oito células adjacentes por onde a água deve fluir. A tabela de atributos do nosso raster possui muitos valores associados ao Flow Direction, o que significa que há vazios, depressões ou mesmo erro nos dados SRTM. Verifique o problema através desta imagem: | http://goo.gl/RfXeT
A ferramenta Sink cria um raster identificando possíveis erros nos dados SRTM.
Cria um raster identificando vazios e possíveis imperfeições no raster de superfície.
Clique no menu Spatial Analyst – Hydrology – Sinks
Informe o Flow Direction no campo de entrada e indique um arquivo TIF no campo de saída. Execute o processo.
Agora podemos identificar os problemas do raster deixando apenas o Sink habilitado. A ferramenta Fill deve ser utilizada para correção de todos os sinks.
Verifique o problema de sinks através desta imagem: | http://goo.gl/ZvPxc
Fill – Preenchimento de Vazios do DEM
A ferramenta Fill deve ser executada diretamente no DEM.
Clique no menu Spatial Analyst – Hydrology – Fill
Aguarde o término do processo. O raster Fill será adicionado no mapa.
Se o aspecto da imagem estiver totalmente cinza, acesse as Propriedades do Raster, guia Simbology e modifique o Stretch Type para Minimum/Maximum.
Visualização do DEM corrigido pela ferramenta Fill: | http://goo.gl/TAkHK
Com o novo DEM "Filled", será preciso gerar um novo Flow Direction. Vamos organizar nosso ambiente de trabalho removendo do ArcMap o antigo DEM, o Flow Direction com problema e o próprio Sink. Só vamos manter no mapa o DEM preenchido pela ferramenta Fill.
Apenas o DEM corrigido pela ferramenta Fill deve permanecer no mapa: | http://goo.gl/Ew9a5
Execute novamente o algoritmo Flow Direction e aguarde o término do processo.
Este é o Flow Direction CORRETO. Tabela de valores cujo campo Cont registra valor o máximo 128:
Visualização do Flow Direction: | http://goo.gl/ETrrB
Flow Accumulation – Criando a Acumulação do Fluxo
Clique no menu Spatial Analyst – Hydrology – Flow Accumulation
Execute o processo Flow Accumulation. Nas opções, informe a entrada, a saída e modifique o tipo de dado para Inteiro (INTEGER).
O Flow Accumulation será criado, mas o raster pode parecer escuro. É preciso aproximar o mapa com a ferramenta Zoom para visualizar os locais onde ocorre o fluxo de água acumulada:
Visualização do Flow Accumulation: | http://goo.gl/BCaHd
Para ampliar a visualização, acesse as Propriedades do Raster. Na guia Simbology, marque a categoria Classified e selecione 8 classes. Modifique a rampa de cores para Azul Piscina – Lilás. Será necessário alterar a primeira cor da classificação para branco (clique sobre o retângulo). Clique no botão OK.
Nova Visualização do Flow Accumulation: | http://goo.gl/cvKdL
Os rios agora podem ser visualizados no mapa.
Álgebra de Mapas para Extração da Rede de Drenagem
Para criar uma rede de drenagem, é preciso estabelecer um limiar para descobrir quantos pixels adjacentes devem formar os rios. Em nosso caso, vamos estabelecer um limiar de 500 pixels.
Restaure a simbologia cinza do Flow Accumulation através das Propriedades do Raster, guia Symbology, categoria Stretch. Modifique o Stretch Type para Minimum/Maximum.
Formulação de Expressões Algébricas no SIG
A expressão matemática é criada com base em proposições que podem surgir no decorrer do projeto. A função CON (CONDITIONAL) determina um teste lógico e retorna um resultado. Simples assim. Em relação à rede de drenagem, poderíamos estabelecer uma condição para criar o limiar, filtrando apenas os pixels significativos. A condicinal do limitar torna-se intuitiva quando é lida desta maneira:
Se o valor dos pixels do raster Flow Accumulation for superior a 500, deve-se substituí-los pelo valor 1.
Caso contrário, transformar em NODATA.
Com esta condição, todas as células do raster com valor superior a 500 serão consideradas durante a criação de um novo mapa raster. As demais células serão transformadas em NODATA. Esta é a questão lógica: o velho IF > ELSE. O próximo passo consiste em redigir essa informação na linguagem do computador (expressão matemática).
Clique no menu Spatial Analyst – Map Algebra – Raster Calculator
Digite a fórmula abaixo:
Con("03_FLOW_ACCUMULATION.tif" > 500,1)
Substitua "03_FLOW_ACCUMULATION.tif" pelo nome do seu raster que representa o Flow Accumulation. Informe um local de saída para a Rede de Drenagem.
A rede de drenagem será visualizada no mapa. Um aspecto interessante é sobre o limiar: ele deve ser utilizado com uma espécie de filtro para os rios. Dependendo da aplicação, o uso da hierarquia dos rios pode ser ampliada ou omitida. Os algoritmos Strahler e Shreve são mais específicos para classificar rios segundo a ordem. Os testes que realizei aqui demonstram que, se o limiar for aumentado, os riachos poderão ser omitidos. Segue um layout com a drenagem extraída de acordo com os limiares 500, 1000 e 2000. O maior limiar gera córregos mais genéricos.
Visualização dos Limiares 500, 1000 e 2000: | http://goo.gl/f4dlu
Stream to Feature – Drenagem para Shapefile
Clique no menu Spatial Analyst – Hydrology – Stream to Feature
Informe a rede de drenagem, o Flow Direction e o nome de saída para o arquivo shapefile de linhas.
A extração/vetorização da Drenagem, para a resolução espacial do DEM SRTM, ficou excepcional. Muito bom mesmo.
Alta resolução: http://goo.gl/4krQ9
Basin – Bacia Hidrográfica
Spatial Analyst – Hydrology – Basin
Último processo. Informe o Flow Direction e o arquivo TIF de saída.
A bacia será criada. Acesse as Propriedades do Raster e modifique a simbologia e classes como foi feito anteriormente.
Bacias Hidrográficas e Rede de Drenagem (PDF)
Agora posso dar prosseguimento ao meu trabalho em Jaboticabal-SP, pois eu tenho a delimitação perfeita da bacia hidrográfica daquela região.
Que tal um desafio? É possível reproduzir essa mesma dica em outro SIG, pois agora você está um pouco mais familiarizado com os algoritmos. A ordem para gerar a bacia é esta:
DEM UTM – FILL DEM UTM -FLOW DIRECTION – FLOW ACCUMULATION – STREAM NETWORK – BASIN
Boa sorte! Jorge Santos
Artigo anteriorPostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7
Próximo artigoLANDSAT-8: Download de imagens através dos sites Earth Explorer e GLOVIS
Luiz Claudio Virginio at
Nossa esse foi nervoso, logo mais rolará um teste e já tenho a área, parabéns, mais uma vez.
Aion Angelu at
Foi muito didático.
Costa Bia at
Jorge… sem comentários… EXCELENTE!!! Sem contar a chamada para JABOTICABAL 🙂 a turma aqui vai adorar… (Teresa Cristina; Caio Zeviani; Fla Mazzer; Anildo Caldas; Renata Cristina A. Costa; Adam Brito)… Parabéns novamente e muito obrigada pela ajuda de sempre…
Verdade Beatriz, este tutorial estava pronto desde aquela época da nossa pesquisa sobre USLE. Como eu já havia lhe dito, não terminei a pesquisa, ainda vou resolver aquela questão. Abraço!
Felipe Ramos at
Parabéns pela materia…. muito bom mesmo.. Tentarei reproduzir estes passos e posteriormente irei tetar em outro sig.. vlw
Waltencir Menon Júnior at
Excelente Jorge, Bom mesmo cara !
Heloisa Alencar at
Esse tutorial arrasou!
Marília Costa você vai precisar desse tutorial
Muito bom o seu tutorial, simples didático e eficaz.
Demetrius Vasconcelos - DexGEO at
Saudações Jorge Santos, mais uma vez um excelente trabalho, Sucesso
Mauro at
caso queira determinar a ordem do principal rio da bacia de interesse, quais procedimentos em arqgis são necessários tanto para uma drenagem que já está pronta ou para uma que ainda está sendo gerada?
Certamente, Mauro.
As instruções para definição da hierarquia dos rios estão nesse tutorial:
http://www.processamentodigital.com.br/wp-content/uploads/2011/12/UFPA_Extracao_Drenagem_ArcGis1.pdf
Nadjacleia Vilar Almeida at
Ótimo tutorial! vou colocar em prática. Mas, estou precisando realizar o calculo da amplitude dos interfluvios. Será que o arcgis tem alguma ferramenta que possibilite esse cálculo?
Oi Nadjacleia! Interflúvio é o divisor de águas. São os dois lados da montanha. Vou ser se encontro esse seu tema em inglês, daí te falo! Abraço e mantenha contato!
Sugestão para o entendimento dos termos em inglês:
Upstream = Montante
Downstream = Jusante
Sugestões anotadas, Patrick!
Só agora, relendo, que notei o desafio.
Este procedimento pode ser feito via GRASS (tanto no aplicativo, quanto via QGIS – a partir da integração do GRASS ou do caixa de ferramentas "Sextante").
Em qualquer um dos casos, o módulo a ser utilizado é o r.watershed.
Mais esclarecimentos podem ser obtidos nos links a seguir:
http://grass.osgeo.org/grass65/manuals/r.watershed.html
Oi Jorge! muito bom esse tutorial mesmo. Você sabe se há uma forma de obter valor do pixel para cada ponto na minha bacia hidrográfica? cada valor seria uma variável representando a distancia da cabeceira à foz. Obrigada
Verifique se esta dica pode lhe ajudar, amiga. Abraços.
Como faço para delimitar ordem dos rios, riachos?
Lucinete Andrade at
Excelente tutorial Jorge Santos!
Walter at
parabéns pelo tutorial …
Em que você se baseou para estimar o limiar de 500 pixels ? aplicou algum tipo de porcentagem ? Como devo proceder para estimar o limiar do raster resultante (do flow accumulation) de minha área de estudo ?
Juliana Mattos at
Muito obrigada!!! Excelente tutorial!!
Hélder Arlíndo Machaieie at
Ótimo tutorial..não consegui baixar o dado usado..alguem me ajuda com o dado para eu poder seguir passo a passo!?
Graziela Maziero Bini at
Agradeço seu feedback, Graziela. Continue participando!
Paulo Sousa at
Mas, gostaria de saber como faço para determinar a "capacidade de drenagem de bacia"?
Paulo Sergio at
Parabéns Jorge. Excelente tutorial. Como faço para determinar as bacias de um município, pois segui os passos e não chegou neste nível. Obrigado.
A questão depende do tamanho do MDE que você vai cortar, ou seja, seu modelo de elevação deve recobrir o limite de um município.