Como gerar uma visualização surpreendente de rios, arroios, e redes de drenagem usando o QGIS 3.20 ou superior

Colegas pesquisadores e entusiastas de SIG de código-livre,

Bem-vindos ao meu blog!

Gostaria de começar com um aviso - posso ser uma pesquisadora desta área, mas isso não significa que tudo o que faço ou escrevo aqui funcionará para você, em suas próprias configurações de desktop e versões de packages. Não tenho nenhuma responsabilidade se você perder dados ou estragar sua instalação. Eu também não autorizo nenhuma cópia do meu conteúdo.

As simbologias disponíveis para representar linhas no QGIS passaram por melhorias na última versão 3.20 “Odense” do QGIS. Ao longo do tempo, eu vou encontrando mais maneiras de aproveitar essas novas possibilidades.

A primeira coisa que eu pensei quando vi a simbologia “Interpolated Line” ou “Linha Interpolada” (descrevi essa funcionalidade neste post) foi que ela seria útil para representar redes de drenagem.

Hoje, é isto que vamos explorar, formas inovadoras de representar sua rede fluvial para retratar a bacia hidrográfica da sua área de estudo de uma forma ainda mais elegante e informativa, utilizando a funcionalidade “Interpolated Line”.

Vou demonstrar isso no shapefile da rede de drenagem da bacia do Rio Camaquã, RS, Brasil. Tenho o arquivo vetorial da rede de drenagem local, extraído a partir de um shapefile de redes de drenagem disponível no site do IBGE.

drainage network

Estou usando o QGIS 3.20 “Odense” para este tutorial. Você precisará desta versão ou de uma versão posterior do QGIS (que atualmente não existe, o lançamento do QGIS 3.22 está pré-agendado para 22/10/2021).

1) Ajustar a direção das linhas que compõem a rede de drenagem

Para saber a direção das linhas em um vetor, altere sua simbologia de “Simple Line” (Linha Simples) para “Arrow” (Seta).

arrow

Dando zoom na rede de drenagem, você pode ver para onde cada linha “aponta”. Para que a análise da ordem de cada trecho fluvial funcione, as setas devem apontar na direção do fluxo.

arrows

Portanto, qualquer segmento que esteja apontando na direção errada deve ser invertido.

Nesta parte, todos os segmentos estão apontando na direção errada. Vou invertê-los.

arrows pointing the wrong way

Primeiro, ative o modo de edição. Em seguida, no painel Advanced Digitizing ou Digitalização Avançada (caso não esteja vendo este painel, ative-o no menu “View”), clique em “Reverse Line” (Inverter Linha).

reverse line

Clique nos segmentos de linha para invertê-los.

reverse line reverse line

Faça o mesmo para todo o vetor e, em seguida, salve suas edições e aperte no lápis, que é o ícone do “Toggle Editing” (alternar modo de edição).

reverse line

Quando todas as linhas apontarem na direção certa e você tiver salvo o arquivo, já pode passar para a próxima etapa. Mas se algum dos trechos da rede de drenagem ainda estiver invertido e você não notar, não se preocupe, pois você terá a chance de arrumar isso mais tarde.

2) Calcule a ordem de cada trecho do rio

Isso será útil para ajustar a simbologia da nossa rede de drenagem posteriormente.

Descobri que a maneira mais fácil de calcular a ordem de cada trecho de uma rede de drenagem é usar o plugin Hy2roresO. Ele não está disponível no Gerenciador de plug-ins do QGIS, portanto, precisa ser baixado separadamente. Em ambientes Windows, baixe o arquivo ZIP e coloque a pasta extraída em “python/plugins/”, a qual está dentro da sua pasta de instalação do QGIS. Veja instruções mais detalhadas aqui.

Depois de baixar o Hy2roresO, você precisa ativá-lo no gerenciador de plug-ins. No menu do QGIS, clique em “Plugins”, depois em “Manage and Install Plugins” (Gerenciar e Instalar Plugins). Selecione “Installed” (Instalado) na barra lateral e marque a caixinha do Hy2roresO. O ícone do Hy2roresO deve aparecer na sua tela:

Hy2roresO icon

Antes de clicar nele, verifique o tipo do seu vetor de entrada. Deve ser “Line” (Linha) ou “LineString”. Se for “MultiLineString” (multilinha), use a ferramenta “Multipart to Singleparts” para separar as linhas. Se você está trabalhando com um arquivo vetorial do tipo shapefile ESRI (.shp), é melhor salvá-lo no formato Geopackage. Ligue o modo de edição antes de executar o plugin.

Clique no ícone do Hy2roresO.

Escolha a camada de entrada e os tipos de ordem que você deseja calcular. Atualmente disponíveis estão o Número de Strahler, Horton e Shreve. Em minha opinião, o de Shreve funciona melhor para o que pretendemos representar, porque tornará as linhas resultantes da confluência de dois grandes afluentes mais grossas. No entanto, o Número de Strahler é útil para detectar orientações de linhas que ainda estejam erradas.

Hy2roresO screen

Clique em “Next”. Não preenchi nada nesta tela e funcionou mesmo assim, mas se você quiser colocar essas informações, talvez ajude o algoritmo nos cálculos.

Hy2roresO screen

Clique em “Next”. Não marquei a opção de salvar a camada de saída (Save the output layer), porque este plugin cria colunas extras na Tabela de Atributos da sua própria camada de entrada, o que eu achei mais útil. De qualquer forma, é sempre bom ter um backup seguro da camada de entrada.

Hy2roresO screen

Se você clicar em “Next”, verá informações sobre o plugin. Para executar a análise, você precisa clicar em “OK”.

Uma caixa de diálogo como esta pode aparecer:

Hy2roresO screen

Como você já ajustou suas linhas para esta análise, provavelmente não há segmentos a serem invertidos. Clique em “No to all” (Não para todos). Quando terminar, você deverá ver esta caixa de diálogo:

Hy2roresO screen

Clique em OK.

3) Altere a simbologia da camada para testar os resultados

Abra as Propriedades e clique em “Symbology” no menu à esquerda. Clique em “Simple Symbol” (Símbolo simples) e mude para “Graduated” (graduado). No campo “Value” (valor), encontre uma das ordens calculadas. Clique em “Classify” (classificar) e depois em “Apply” (aplicar).

symbology QGIS

Olhe a representação da camada:

symbology hydrology QGIS

Analisando essa imagem, vejo que a parte superior direita da bacia ainda tem algumas linhas a serem invertidas. Mude a simbologia para mostrar novamente as flechinhas e inverta as linhas que ainda precisam ser invertidas. Antes de executar Hy2roresO novamente, você deve excluir as colunas geradas na última análise. Entre na Tabela de Atributos, entre no Modo de Edição e clique em “Delete Field” (Excluir Campo). Selecione os campos “Strahler”, “Horton”, “id_stroke”, “shreve” e “reversed” para exclusão. Em seguida, salve suas edições.

delete field attribute table QGIS

delete field attribute table QGIS

Execute o plug-in novamente e verifique os resultados. Ajuste conforme necessário. Refaça esse processo tantas vezes quantas for necessário.

4) Use a simbologia de linha interpolada para representar as linhas

Na simbologia, escolha “Interpolated Line”.

interpolated line QGIS

Em “Stroke Width” (largura da linha) escolha “Varying width” (largura variável):

interpolated line QGIS

Escolhi a ordem de Shreve para a minha representação da bacia, porque nela, somam-se as ordens dos dois afluentes para calcular a ordem do trecho à jusante, o que acredito que fornecerá um efeito visual mais bonito, mas você pode escolher o tipo de ordem que achar mais adequada para o seu mapa.

A regra principal para essa representação é que o valor inicial (Start Value) deve ser menor que o valor final (End Value) para a espessura da linha e ambos devem depender de uma das ordens calculadas. Teste uma série de valores mínimos e máximos, pois estes podem alterar fundamentalmente a representação. Em seguida, escolha uma cor única para todo o vetor ou aplique uma expressão para as cores das linhas também.

interpolated line stream QGIS

Max value = 1 gera:

interpolated line stream QGIS

Max value = 10 gera:

interpolated line stream QGIS

Max value = 50 gera:

interpolated line stream QGIS

Qual escolher? Isso depende do seu objetivo, outros elementos no mapa, etc.

Minha rede de drenagem, a este ponto, está assim:

interpolated line stream QGIS

Adicionando também uma interpolação na cor das linhas, fica assim:

interpolated line stream QGIS

Ficou legal com os outros elementos do mapa:

interpolated line river stream QGIS interpolated line river stream QGIS zoom

Fontes: TOPODATA, INPE, IBGE, Natural Earth.

Você pode mudar as cores como quiser. Esta é outra versão do meu mapa, com um gradiente personalizado:

interpolated line river stream QGIS

Fontes: TOPODATA, INPE, IBGE, Natural Earth.

Extras

  • Como você deixou igual a cor do Rio Camaquã e a da Lagoa dos Patos?

Mudei a simbologia da Lagoa dos Patos, escolhendo a cor de preenchimento, clicando no Rio Camaquã.

  • E se eu quiser ajustar a simbologia de cada trecho individualmente, dá para fazer isso?

Com certeza. Na simbologia, em vez de “Single Symbol”, escolha “Categorized” e preencha o Value como “fid”. Desta forma, cada trecho da sua rede fluvial pode ter um símbolo diferente. Clique duas vezes em cada um dos fid e altere o estilo da linha. Dessa forma, você pode combinar as cores dos trechos para que elas fiquem perfeitamente contínuas. Você não precisa alterar o gradiente para cada um, apenas o valor inicial e o valor final dentro do mesmo intervalo, para que a representação da linha use a parte certa do gradiente. Este é um exemplo de como fica:

interpolated line river stream QGIS

Luísa Vieira Lucchese
Luísa Vieira Lucchese
Pós-doutoranda

Pós-doutoranda na Universidade de Pittsburgh

Relacionados