"r.colors",
gs.run_command(map="elevation",
="elevation",
color="e") flags
Visualização e modelagem de terrenos a partir de MDE no GRASS
O GRASS possui diversas ferramentas que podem ajudar você a visualizar e modelar terrenos a partir de mapas raster de modelo digital de elevação - MDE (digital elevation model - DEM). Alguns exemplos incluem:
r.shade para visualização,
r.slope.aspect para modelagem da inclinação da vertente e aspecto,
r.geomorphon para modelar aspectos topográficos,
r.watershed para modelagem de escoamento superficial e bacias hidrográficas, e
r.stream.extract para gerar drenages de fluxo.
Este tutorial explorará essas ferramentas, mas elas são apenas alguns dos muitos módulos do GRASS para representar e analisar paisagens.
Este tutorial usa um dos conjuntos de dados de amostra padrão do GRASS para Flagstaff, Arizona, EUA: flagstaff_arizona_usa. Faremos referência a nomes de lugares nesse conjunto de dados, mas ele pode ser completado com qualquer um dos conjuntos de dados de amostra padrão para qualquer região - por exemplo, Conjunto de dados da Carolina do Norte. Usaremos o MDE elevação (elevation DEM).
Este tutorial foi criado para que você possa concluí-lo usando a interface gráfica do usuário (GUI) do GRASS, comandos GRASS do console ou terminal ou usando comandos GRASS em um ambiente Jupyter Notebook.
Se você não tem certeza de como começar a usar o GRASS usando sua interface gráfica de usuário ou usando Python, confira os tutoriais Comece com o GRASS GIS GUI e Comece a usar GRASS e Python no Jupyter Notebooks.
Terreno, MDE e SIG Raster
- Embora muitos mapas representem feições vetoriais como pontos, linhas e áreas, a paisagem espacialmente contínua do terreno é frequentemente representada em SIG por raster.
- Os dados raster representam o terreno por uma grade contínua de células, muito parecida com os pixels de uma foto digital.
- Com um modelo digital de elevação (MDE) raster, cada célula da grade armazena a elevação acima do nível do mar do terreno coberto pela célula da grade.
Ao armazenar a elevação de um terreno em vários pontos, um MDE pode ser usado para calcular a inclinação da vertente e o aspecto em cada local, para identificar características topográficas ou para modelar a direção em que a água fluirá sobre um terreno.
Ele também pode ser usado para produzir visualizações impressionantes que exibem características do terreno, além de representar a topografia.
Neste tutorial, usaremos o MDE denominado elevation (elevação). No conjunto de dados de amostra de Flagstaff, este MDE tem uma resolução espacial de 30m (as células da grade representam trechos de 30 x 30m do terreno) com elevação em metros acima do nível médio do mar.
Vizualizando o terreno
Existem várias maneiras de criar visualizações de terreno no GRASS.
Uma tabela de cores pode ser aplicada a um MDE para que diferentes elevações sejam atribuídas a cores diferentes.
Um MDE pode ser sombreado para criar a aparência de relevo topográfico 3D.
A cor pode ser aplicada a um mapa de relevo sombreado (shaded relief map).
Um MDE de terreno pode ser renderizado em 3D para ser visualizado em diferentes perspectivas.
Aplicando a tabela de cores ao MDE
O GRASS oferece várias maneiras de aplicar cores a um DEM para visualizar o terreno no menu Raster/Gerenciar cores (Raster/Manage colors menu). A maneira mais simples é aplicar uma tabela de cores usando o módulo r.colors.
Vamos aplicar a tabela de cores de elevation ao MDE de Flagstaff. Esta tabela atribui cores “quentes” a elevações mais altas e cores “frias” a elevações mais baixas.
Selecione a ferramenta r.colors no menu Raster/Gerenciar cores (Raster/Manage colors menu).
Na aba “Mapa” (Map), selecione o mapa elevation na caixa de entrada “Nome do(s) mapa(s) raster” (Name of raster map(s)”).
Na aba “Definição” (Define), selecione elevation como o nome da tabela de cores (color table).
Clique em Run.
Experimente outras tabelas de cores. As tabelas de cores ETOPO2, Terrain e SRTM também são boas para cores de terreno. Você também pode criar uma tabela de cores personalizada facilmente, conforme descrito no manual do r.colors.
r.colors -e map=elevation color=elevation
Relevo sombreado do terreno
Um mapa de relevo sombreado adiciona sombras a um MDE, para uma direção da luz solar e uma posição do sol acima do horizonte especificadas pelo usuário. O sombreamento do relevo pode ser gerado porque, com a elevação do terreno armazenada em cada célula da grade, a altura e o aspecto (direção para a qual o terreno está voltado) de cada célula são conhecidos. Um mapa de relevo tem a aparência de uma topografia 3D.
Podemos usar a ferramenta r.relief para visualizar o relevo topográfico do MDE de elevação para a área de Flagstaff.
Manteremos os padrões de direção e altura do sol, mas aumentaremos o exagero vertical para 3 para que a topografia se destaque melhor.
Análise de raster/terreno/Calcular relevo sombreado (Raster/Terrain analysis/Compute shaded relief)
Selecione a ferramenta r.relief no menu Análise de raster/terreno/Calcular relevo sombreado (Raster/Terrain analysis/Compute shaded relief)
Entre com o DEM elevation como mapa de entrada (input raster).
Escreva relief (relevo) para dar nome ao mapa de saída (output shaded relief map).
r.relief input=elevation output=relief zscale=3
"r.relief",
gs.run_command(input="elevation",
="relief",
output=3) zscale
Combinando cor e relevo
Para visualizar melhor a diferença no terreno, você pode sobrepor a elevação colorida ao mapa de relevo que acabou de criar.
O GRASS facilita a fusão de cores e sombreamento em relevo para visualizar topografia, características do terreno, cobertura do solo ou outras informações geográficas.
Isso pode ser feito criando um novo mapa com a ferramenta r.shade ou
sobrepondo dinamicamente um mapa de cores sobre um mapa de relevo no gerenciador de camadas (layer manager) da GUI e na janela de exibição.
Sobreporemos o MDE onde usamos a tabela de cores atribuída no início desta seção com o mapa de relevo que você acabou de fazer usando ambos os métodos.
Essa abordagem também pode ser usada para visualizar outras análises de terreno concluídas posteriormente neste tutorial.
Começaremos criando um novo mapa de relevo sombreado em cores usando r.shade.
Abra r.shade no menu Análise de raster/terreno/Aplicar sombra ao raster (Raster/Terrain analysis/Apply shade to raster).
Defina o mapa “Nome do relevo sombreado” (Name of shaded relief) para o relief (relevo).
Defina “Nome do raster para cobrir o raster de relevo” (Name of raster to drape over relief raster) como elevation (elevação).
Insira topography_colored_relief como “Nome do mapa raster sombreado” (Name of shaded raster).
r.shade shade=relief color=elevation output=topography_colored_relief brighten=40
"r.shade",
gs.run_command(="relief",
shade="elevation",
color="topography_colored_relief",
output=40) brighten
Você também pode exibir um mapa de relevo sombreado de cores dinamicamente no gerenciador de camadas (layer manager) da GUI usando a ferramenta d.shade.
No gerenciados de camadas (layer manager), selecione Adicionar camada de mapa de relevo sombreado (Add shaded relief map layer) (d.shade tool) no botão menu Adicionar várias camadas de mapa raster (Add various raster map layers).
Entre com o mapa chamado relief na caixa de texto “Nome do relevo sombreado” (Name of shaded relief).
Entre com o mapa chamado elevation na caixa de texto “Nome do raster a ser aplicado sobre o relevo” (Name of raster to drape over relief).
Se você definir a “Porcentagem de brilho” (Percent to brighten) como 30 ou 40, a exibição ficará mais atraente visualmente.
Renderização de um terreno 3D
Adicionalmente, uma visualização da topografia em 3D pode ser gerada no GRASS’s 3D view usando o módulo NVIZ.
Comece abrindo o DEM de elevation no gerenciador de camadas (layer manager). Certifique-se de que nenhum outro mapa, exceto o elevation, seja exibido.
Selecione 3D view no menu suspenso na parte superior da janela de exibição do mapa.
Isso deve exibir o mapa de elevação em 3D com o mesmo sombreamento visto na exibição 2D.
Use os controles na aba “Exibir” (View) para alterar a perspectiva, o exagero z e outras características.
Para uma visão mais detalhada do terreno, diminua a resolução “fina” (fine) na aba “Dados” (Data).
Analisando e Modelando as Características do Terreno
O GRASS facilita a modelagem e a análise de uma ampla gama de características do terreno usando um MDE. A inclinação da vertente e o aspecto do terreno, além de características topográficas como picos, cristas e vales, são importantes para estudar e modelar características do solo, vegetação, microclimas, fluxo de água e movimento na superfície. Modelar o fluxo de água sobre o terreno também é relevante para ecologia, redes fluviais e riscos de inundação. Neste tutorial, demonstraremos como usar um MDE para realizar essas análises.
Inclinação da vertente e aspectos
A diferença de elevação entre uma célula raster em um MDE e as células adjacentes permite calcular a inclinvação da vertente para essa célula. Também permite calcular a direção para a qual a célula está voltada — seu aspecto.
Podemos usar a ferramente r.slope.aspect para determinar a inclinação e o aspecto, bem como diversas outras características do terreno.
Criaremos novos mapas a partir do MDE elevation para inclinação do terreno (cada célula armazenará a inclinação em graus) e aspecto (cada célula armazenará o aspecto em graus a partir do norte).
Abra a ferramenta r.slope.aspect tool no menu Análise de raster/terreno/declive e aspecto (Raster/Terrain analysis/Slope and aspect).
Defina a camada raster elevation como “Nome do mapa raster de elevação de entrada”(Name of input elevation raster map).
Digite slope para o “Nome para o mapa raster de declive de saída” (Name for output slope raster map).
Digite aspect para “Nome para o mapa raster de aspecto de saída” (Name for output aspect raster map).
Adicione o sinalizador “-n” para que o aspecto seja registrado em graus no sentido horário a partir do Norte. Caso contrário, o aspecto será calculado em graus no sentido anti-horário a partir do Leste.
r.slope.aspect elevation=elevation slope=slope aspect=aspect -n
Adicione o sinalizador “-n” para que o aspecto seja registrado em graus no sentido horário a partir do Norte. Caso contrário, o aspecto será calculado em graus no sentido anti-horário a partir do Leste.
"r.slope.aspect",
gs.run_command(="elevation",
elevation="slope",
slope="aspect",
aspect="n") flags
Aqui estão os mapas de inclinação da vertente e aspecto resultantes.
Observe como a tabela de cores de aspecto em escala de cinza padrão confere ao mapa uma aparência tridimensional, como um mapa em relevo. Isso ocorre porque ele varia do claro ao escuro de acordo com a orientação do terreno, de forma semelhante às sombras do sol. A ferramenta r.relief usa um algoritmo semelhante para gerar um mapa de relevo.
A ferramenta r.slope.aspect pode produzir outros mapas analíticos, incluindo mapas da mudança na inclinação tanto na direção descendente quanto na transversal, e a taxa de mudança na inclinação em diferentes direções.
Adicionando uma legenda para a visualização da inclinação da vertente e da topografia
Você pode colorir um mapa de relevo com declividade usando o mesmo procedimento descrito acima, mas usando o mapa de inclinação da vertente (slope) para a cor em vez do MDE elevation. Isso permitirá comparar o relevo topográfico e a declividade.
Embora isso possa ajudar a visualizar as diferenças entre as áreas, usar uma legenda pode ajudar a determinar qual é o intervalo de valores presentes na área raster e como as cores correspondem a esses valores. Com o GRASS, você pode facilmente criar uma legenda altamente informativa para o seu mapa.
A ferramenta de legenda raster pode ser acessada na barra de ferramentas da janela de exibição. Esta ferramenta possui diversas opções. Exploraremos várias delas.
- Na aba Entrada (Input), entre com o arquivo chamado slope no local “Nome do mapa raster” (Name of raster map).
- Na aba Título (Title), digite “Slope” no campo “Título da Legenda” (Legend title) e digite 14 no para informar o tamanho da fonte “Title font size”.
- Na aba “Avançado” (Advanced), insira o símbolo de grau (°) ou a palavra “deg” (graus) como “Unidades a serem exibidas” (Units to display).
- Na aba “Gradiente” (Gradient), marque a caixa “Adicionar histograma à legenda suavizada” (Add histogram to smoothed legend).
- A inclinação máxima do mapa que estamos fazendo é de 76 graus. Para uma legenda com boa aparência, podemos limitar a exibição a 0-75 graus. Na aba “Subconjunto” (Subset), insira “0,75” na caixa de texto “Subconjunto” (Subset of the map range) para os valores mínimo e máximo a serem exibidos.
Uma legenda pode ser gerada usando o comando d.legend.
d.legend -d raster=slope title=Slope title_fontsize=14 units=° labelnum=4 range=0,75 fontsize=12
Uma legenda pode ser gerada usando o comando d.legend.
"d.legend",
gs.run_command(map="slope",
="slope",
color="Slope",
title=14,
title_fontsize="°",
units=4,
labelnumrange="0,75",
=12) fontsize
Aqui está o resultado:
O resultado mostra o intervalo de valores de inclinação e cores de diferentes valores de inclinação, e o histograma mostra o número de células para cada valor de inclinação.
Você também pode adicionar uma barra de escala e uma seta para o norte no mesmo item da barra de menu na janela de exibição onde você selecionou a ferramenta da legenda.
Exibindo valores específicos da inclinação da vertente
Em vez de visualizar todas as inclinações ou outras características do terreno, às vezes é útil focar em valores de um intervalo limitado. Isso pode ser feito rapidamente na ferramenta de propriedades de exibição para mapas raster.
Tenha certeza de que os mapas slope e relief estão exibidos no Gerenciador de Camadas (Layer Manager). Para isso, clique duas vezes no mapa localizado no Catálogo de Dados (Data Catalog) para adicioná-lo ao Gerenciador de Camadas. O mapa slope deve estar acima do mapa relief.
Clique duas vezes no mapa slope para abrir sua ferramenta de propriedades de exibição (d.rast)
Na aba de Seleção (Selection), digite 10-76 para que sejam exibidas inclinações de 10° ou acima, depois cliquei em Apply ou OK.
Você pode exibir isso sobre o mapa de relevo definindo a opacidade (opacity) para 50%.
Você pode exibir apenas inclinações ≥ 10° usando a ferramenta (d.rast)
d.rast map=slope values=10-76
Você pode exibir apenas inclinações ≥ 10° usando a ferramenta (d.rast).
"d.rast",
gs.run_command(map="slope",
="10-76") values
A filtragem para uma gama limitada de valores de inclinação do relevo destaca características importantes do terreno da região de Flagstaff.
O terreno nesta área é dominado pelo campo vulcânico de São Francisco, incluindo o vulcão estratificado San Francisco Peaks, e vários outros vulcões menores e cones de cinzas. Altos valores acentuam essas características vulcânicas na parte superior do mapa.
No canto sudoeste do mapa, encontra-se o início da escarpa do Planalto Colorado, onde o terreno desce rapidamente por centenas de metros em direção ao vale do Rio Verde. A drenagem profunda nesta região demarca essa característica do terreno.
Relevo Topográfico
Inclinação da vertente, aspecto e análises relacionadas podem ajudar a identificar características do terreno, como vulcões e cânions. O GRASS também oferece ferramentas para identificar características topográficas e classificar o terreno em categorias de relevo. No conjunto de ferramentas padrão do GRASS, estas incluem:
r.geomorphon: Calcula geomorfos (formas de terreno) e geometria associada usando abordagem de visão de máquina.
r.param.scale: Extrai parâmetros de terreno de um MDE.
Outros complementos GRASS úteis para esse tipo de análise de terreno incluem:
Neste tutorial, exploraremos brevemente o r.geomorphon para classificar o MDE em um conjunto de categorias de relevo. Recomendamos que você experimente as outras ferramentas para usar os conjuntos de dados de amostra padrão do GRASS ou seus próprios dados.
A ferramenta r.geomorphon identifica e classifica uma célula usando informações sobre o relevo topográfico em oito direções (consulte a descrição de r.geomorphon para mais detalhes). Há várias opções.
A opção mais importante é o Raio de busca externa (Outer search radius), que é a distância máxima que o algoritmo registrará no relevo topográfico. Por padrão, essa distância é medida em células do mapa, mas você pode alterá-la para metros com a opção “-m”.
Quando o raio é pequeno, o terreno será classificado em formas de relevo locais e de pequena escala: por exemplo, pequenos outeiros, ravinas e depressões locais. Quando o raio é grande, o terreno será classificado em formas de relevo maiores: por exemplo, grandes colinas e montanhas, vales e bacias.
Um raio de pesquisa interno (Inner search radius) pode ser definido para que a ferramenta ignore todos os relevos menores próximos a uma célula.
Começaremos com um grande raio de busca externo de 200 células (6 km no DEM de Flagstaff). Isso classificará formas de relevo de maior escala.
Selecione a ferramente r.geomorphon no menu Raster/Terrain analysis/Landforms.
Digite 200 no campo “Raio de busca externo” (Outer search radius) e 10 no “Raio de busca interno”(Inner search radius).
- Digite landforms200 para o mapa de saída na caixa de texto “Formas geomórficas mais comuns” (Most common geomorphic forms).
Na aba Opções (Optional), defina a “Comparação” (Comparison) como anglev2_distance para obter melhores resultados.
Clique em Run. Esta análise pode levar alguns minutos dependendo do seu processador e memória RAM.
Agora crie uma análise de relevos muito pequenos usando um raio de busca de apenas 5 células (150 m).
Repita os mesmos passos para as grandes formas de relevo, mas com 5 para “Raio de busca externo” e 0 para “Raio de busca interno” (Inner search radius). A análise será muito mais rápida com essas configurações.
Começaremos com um grande raio de busca externo de 200 células (600 m no DEM de Flagstaff). Isso classificará formas de relevo de maior escala.
r.geomorphon elevation=elevation forms=landforms200 search=200 skip=10 flat=1 comparison=anglev2_distance
Repita com um raio de busca muito menor para classificar formas de relevo muito menores.
r.geomorphon elevation=elevation forms=landforms5 search=5 skip=0 flat=1 comparison=anglev2_distance
Começaremos com um grande raio de busca externo de 200 células (600 m no DEM de Flagstaff). Isso classificará formas de relevo de maior escala.
"r.geomorphon",
gs.run_command(="elevation",
elevation="landforms200",
forms=200,
search=10,
skip=1,
flat="anglev2_distance") comparison
Repita com um raio de busca muito menor para classificar formas de relevo muito menores.
"r.geomorphon",
gs.run_command(="elevation",
elevation="landforms200",
forms=5,
search=0,
skip=1,
flat="anglev2_distance") comparison
As duas imagens abaixo mostram formas de relevo classificadas por r.geomorphon em diferentes escalas em um enquadramento no MDE elevation de Flagstaff, com foco em uma seção do campo vulcânico de São Francisco. Os mapas de formas de relevo são mostrados como sombreamento colorido sobre o mapa de relevo topográfico.
Em uma escala maior (raio de busca de 200 células), picos e cristas marcam os cumes de todos os grandes vulcões e pequenos cones de cinzas. Eles são cercados por zonas de esporões, encostas e cavidades, divididas por vales, indicando seus campos de lava.
Em escalas menores (raio de busca de 5 células), as bordas estreitas das crateras vulcânicas são marcadas por cristas, com o interior das crateras frequentemente demarcado por vales e fossos. As formações vulcânicas são todas classificadas como encostas.
Bacias Hidrográficas e Modelagens Hidrológicas
Como os rasters DEM permitem gerar mapas de declive e aspecto, essas informações podem ser usadas para modelar o fluxo de água através do relevo topográfico do terreno. Isso, por sua vez, permite uma ampla gama de análises, frequentemente descritas como modelagem de bacias hidrográficas ou hidrológica. Exemplos de modelagem de bacias hidrográficas incluem:
modelagem de acumulação de fluxo, representando a quantidade de água que passa por cada célula à medida que a água flui encosta abaixo através de um terreno;
identificação de bacias hidrográficas, a porção de um terreno que drena para uma rede fluvial de um determinado tamanho;
modelagem de um córrego ou rede de drenagem, dados os locais de maior acumulação de fluxo dentro de uma bacia hidrográfica;
modelagem da erosão potencial como uma função da quantidade de água que flui através das células de um terreno, sua inclinação (afetando a velocidade do fluxo de água), cobertura do solo e substrato.
modelagem do potencial de inundações;
modelagem do potencial infiltração das águas superficiais e seu impacto na vegetação e nas águas subterrâneas;
e muitos outros fenômenos ambientais.
O GRASS possui diversos módulos para análise e modelagem de hidrologia hydrology e bacias hidrográficas watersheds, muito mais do que o que pode ser abordado neste tutorial. O objetivo deste tutorial é dar a você uma ideia do potencial da modelagem de bacias hidrográficas no GRASS e incentivá-lo a explorar sua rica gama de ferramentas por conta própria. Para tanto, este tutorial explorará alguns dos muitos recursos de duas dessas ferramentas, r.watershed e r.stream.extract.
Bacias hidrográficas
Bacias hidrográficas são porções de um terreno nas quais toda a água superficial flui por terra para um único sistema de drenagem, saindo da bacia por uma única saída. Elas podem ter dimensões tão pequenas quanto alguns quilômetros ou tão grandes quanto as bacias hidrográficas que abrangem toda a água que deságua nos rios Mississipi ou Amazonas.
Embora existam muitas entradas possíveis para afetar como r.watershed modela diferentes características hidrológicas, usaremos o exemplo mais simples aqui.
O mínimo necessário para modelar bacias hidrográficas, acumulações de fluxo e redes fluviais é um MDE (elevation) e o tamanho mínimo das bacias hidrográficas a serem modeladas (medido em número de células). Criaremos bacias com um tamanho mínimo de 10.000 células (9 km²). Escolher um número menor geraria um mapa de muitas bacias menores.
Embora comecemos mapeando bacias hidrográficas, para economizar tempo, faremos com que r.watershed também gere saídas para acumulação de fluxo e segmentos de fluxo ao mesmo tempo em que cria um mapa de bacia.
Para produzir mapas de bacias e córregos com melhor aparência, também selecionaremos as opções “Acúmulo de fluxo positivo” (Positive flow accumulation) e “Embelezar áreas planas” (Beautify flat areas).
Abra o módulo r.watershed no menu Modelagem raster/hidrológica/Análise de bacias hidrográficas (Raster/Hydrologic modeling/Watershed analysis).
Defina “Nome do mapa raster de elevação” (Name of elevation raster map) como elevation.
Insira 10.000 para “Tamanho mínimo da bacia hidrográfica externa” (Minimum size of exterior watershed basin).
- Na guia Saídas (Outputs), insira:
watershed_accumulation10000 para “acumulação” (accumulation),
watershed_basin10000 for “bacias” (basins), e
watershed_streams10000 for “riachos” (stream segments).
- Na aba Opcional (Optional):
Marque a caixa “Acumulação de fluxo positiva” (Positive flow accumulation). Caso contrário, a acumulação de fluxo será negativa para as bacias na borda do mapa, indicando que elas podem sub-representar a acumulação.
Marque a caixa “Embelezar áreas planas” (Beautify flat areas) para ter segmentos de fluxo mais precisos em áreas planas.
- Clique em Run
r.watershed -a -b elevation=elevation threshold=10000 accumulation=watershed_accumulation10000 basin=watershed_basins10000 stream=watershed_streams10000
"r.watershed",
gs.run_command(="elevation",
elevation=10000,
threshold="watershed_accumulation10000",
accumulation="watershed_basin10000",
basin="watershed_streams10000",
stream="ab") flags
Mapa resultante das bacias hidrográficas.
Acumulação de Fluxo
Acima, também criamos um mapa de acumulação de fluxo. Um mapa de acumulação de fluxo modela o fluxo potencial de água sobre um terreno:
Supondo que um centímetro de chuva caia em cada célula de um MDE, os valores de um mapa de acumulação de fluxo mostrarão a profundidade da água em centímetros que se acumula e flui sobre cada célula à medida que a água flui para dentro da célula a partir de células adjacentes na encosta.
O mapa que elaboramos pressupõe que a mesma quantidade de chuva caiu em todas as células e que o relevo topográfico é o único fator que afeta o escoamento superficial da água. Portanto, o modelo de acumulação de fluxo gerado representa valores máximos.
Configurações adicionais em r.watershed permitem modelar o fluxo superficial de forma mais realista, com diferentes quantidades de chuva caindo na região, e vegetação, características do solo ou barreiras como represas ou diques também afetando o acúmulo.
r.watershed utiliza um algoritmo de múltiplas direções de fluxo por padrão, no qual a água que flui de uma célula é distribuída entre todas as células adjacentes a jusante. O maior fluxo é direcionado para a célula adjacente a jusante com a maior diferença de elevação, enquanto os fluxos menores são alocados para as células a jusante com menor diferença de elevação.
Embora algumas ferramentas de modelagem hidrológica exijam que depressões ou sumidouros em um MDE sejam preenchidos primeiro para direcionar a água adequadamente através de um terreno, r.watershed não exige isso. Ao contrário, utiliza um algoritmo de caminho de menor custo para direcionar a água através de depressões.
Assim como no caso da inclinação da vertente, uma legenda pode ajudar a transmitir as informações de um mapa de acumulação de fluxo com mais clareza. A distribuição dos valores de acumulação, no entanto, não é linear, com muitas células em encostas apresentando acumulação mínima e algumas células no fundo de grandes cursos d’água apresentando valores muito mais altos. Por esse motivo, uma escala logarítmica comunica melhor as relações entre cores e valores. Crie uma legenda conforme descrito anteriormente, mas com algumas opções adicionais.
Nome do mapa raster: watershed_accumulation10000 (na aba Input).
Título da legenda: “Flow Accumulation” (na aba Title).
Tamanho da fonte do título: 14 (na aba Title).
Usar escala logarítmica: marque a caixa “guia Avançado” (na aba Advanced).
Valores específicos para desenhar carrapatos: 1,10,100,1000,10000,100000,1000000 (na aba Gradient).
Tamanho da fonte: 12 (na aba Font).
d.legend -l raster=watershed_accumulation100000 title="Flow Accumulation" title_fontsize=14 label_values=1,10,100,1000,10000,100000,1000000 fontsize=12
"d.legend",
gs.run_command(="watershed_accumulation10000",
raster="Flow Accumulation",
title=14,
title_fontsize="1,10,100,1000,10000,100000,1000000",
label_values=12,
fontsize="l") flags
Aqui está um mapa de acumulação de fluxo com uma legenda em escala logarítmica. Observe maior acumulação nas encostas dos picos de São Francisco, nos principais cursos de água e em pequenas depressões rasas de lagos.
Redes de drenagens networks
r.watershed também produz mapas de córregos, representando as drenagens primárias de cada bacia hidrográfica de 10.000 células.
É um mapa raster de córregos com cada célula de córregos codificada e colorida para corresponder à bacia que drena, vista no mapa da região de Flagstaff à direita.
O fundo é definido como preto nas propriedades de exibição porque, de outra forma, é muito difícil distinguir as células do fluxo raster.
Vetorização de rede de drenagens com r.to.vect
Podemos tornar as drenagens mais visíveis se convertermos o mapa de fluxo raster em um mapa de linhas vetoriais. Isso pode ser feito facilmente com a ferramenta r.to.vect, que converte mapas raster em vetores.
r.to.vect pode converter pontos, linhas e áreas. Neste caso, converteremos os segmentos de drenagens criados por r.watershed em linhas vetoriais.
Os segmentos rasterizados das drenagens são codificados com os valores das bacias hidrográficas que as drenam. Esses valores podem ser transferidos para os segmentos de linha vetorial equivalentes.
Selecione a ferramenta r.to.vect no menu Conversões de tipo Raster/Mapa/Raster para vetor (Raster/Map type conversions/Raster to vector) ou no menu Arquivo/Conversões de tipo Mapa/Raster para vetor ( File/Map type conversions/Raster to vector).
Para dar nome ao mapa digite watershed_streams10000 no campo “Nome do mapa raster de entrada” (Name of input raster map).
Para dar nome ao mapa digite watershed_streams10000 no campo “Nome para o mapa vetorial de saída” (Name for output vector map).
Insira line como o “Tipo de recurso de saída” (Output feature type).
Na aba opcional, marque a caixa “Usar valores raster como categorias em vez de sequência única” (Use raster values as categories instead of unique sequence). Isso copiará o número da bacia para o campo de chave de índice CAT do novo mapa de linhas vetoriais.
Clique em Run.
r.to.vect -v input=watershed_streams10000 output=watershed_streams10000 type=line
"r.to.vect",
gs.run_command(input="watershed_streams10000",
="watershed_streams10000",
outputtype="line",
="v") flags
Os mapas abaixo mostram a rede de drenagens vetoriais sobrepondo as bacias hidrográficas à esquerda e sobrepondo um mapa de relevo sombreado à direita.
Para uma rede de fluxos mais detalhada, execute r.watershed com um tamanho mínimo de bacia menor que as 10.000 células usadas acima. Se você escolher um tamanho mínimo de bacia muito pequeno para criar um mapa de fluxos muito detalhado, poderá ser solicitado a executar r.thin antes de executar r.to.vect para garantir que o mapa de fluxo raster consista apenas em linhas de fluxo de células de grade única.
Vetorização de drenagens com r.stream.extract
Uma maneira alternativa de gerar uma rede de drenagens a partir de uma análise de bacia hidrográfica é com a ferramentar.stream.extract.
Esta ferramenta utiliza um MDE e um mapa de acumulação de fluxo para gerar uma rede de drenagem em formato vetorial ou raster.
O nível de detalhamento da rede de drenagem é controlado pela seleção da acumulação de fluxo mínima a ser utilizada.
r.stream.extract não apenas cria um mapa vetorial de linhas representando os cursos d’água, como também gera pontos vetoriais na nascente de cada curso e nas junções entre os cursos d’água
r.stream.extract elevation=elevation accumulation=watershed_accumulation10000 threshold=5000 stream_vector=streams5000accumulation
"r.stream.extract",
gs.run_command(="elevation",
elevation="watershed_accumulation10000",
accumulation=5000,
threshold="streams5000accumulation") stream_vector
As duas imagens abaixo mostram a rede de drenagem gerada pelo r.stream.extract sobreposta a um mapa de relevo sombreado colorido (à esquerda) e uma comparação dessa rede com a gerada pelo r.watershed e posteriormente vetorizada com r.to.vect (à direita).
Observe as linhas de fluxo (azul) e os pontos (vermelho) indicando nascentes e junções na imagem à esquerda. Linhas ou pontos podem ser exibidos, ocultados ou mostrados juntos na ferramenta de propriedades vetoriais d.vect.
Na imagem à direita, a rede de fluxo mais detalhada gerada por r.stream.extract é mostrada em linhas azuis estreitas, e a rede de fluxo gerada por r.watershed e r.to.vect é mostrada em linhas amarelas mais largas.
Para exibir a rede de fluxo sem os nós de junção, desmarque a caixa “ponto” (point) na guia Seleção (Selection) da ferramenta de propriedades de exibição de vetor (comando: d.vect map=streams5000accumulation type=line).
Resumo
Neste tutorial, abordamos apenas algumas das muitas ferramentas disponíveis no GRASS para realizar análises de terrenos e bacias hidrográficas. Utilizamos o conjunto de dados de exemplo Flagstaff para realizar esta análise, mas você também pode experimentar outros conjuntos de dados e mapas MDE. Você também pode usar os conjuntos de dados de exemplo do GRASS para explorar as muitas outras ferramentas disponíveis nas seções de análise de terrenos e hidrologia . Além dos módulos principais do GRASS, há muitos outros disponíveis como cGRASS complementos.