1. Logo SISDREN SISDREN Docs
  2. Releases

Bacias x Reservatórios, Reservatório x Hidrografia e Padronização de Nomes de Bacias


Bacias x Reservatórios

Usualmente, os bancos de dados são capazes de cruzar dados alfanuméricos como, por exemplo, listar todos os produtos de uma determinada marca. Mas, e se quisermos estabelecer relações entre feições geográficas para saber, por exemplo, quantos reservatórios estão contidos em uma bacia hidrográfica? O SISDREN já conta há algum tempo com o cruzamento de bacias hidrográficas e hidrografia, demonstrada na aba de propriedades de bacias hidrográfica. A versão presente apresenta mais duas relações espaciais:

  • Reservatórios contidos em bacia hidrográfica;
  • Cursos d'água próximos a um reservatório.

Expandiremos gradualmente as possibilidades proporcionadas pelos cruzamentos espaciais nas próximas versões com mais relações espaciais, como:

  • Hidrografia x hidrografia: todos córregos da mesma bacia do córrego relacionado;
  • Areas de risco hidrológico x bacia hidrográfica;
  • Areas de risco geológico x bacia hidrográfica,
  • e outros

PostgreSQL + PostGIS

O PostgreSQL é um sistema de gerenciamento de banco de dados relacional avançado, conhecido por sua robustez e flexibilidade. Ele é amplamente utilizado em diversas aplicações devido à sua capacidade de lidar com grandes volumes de dados e realizar consultas complexas de maneira eficiente. Na última pesquisa realizada pelo maior fórum de desenvolvedores do mundo, o Stack Overflow, o PostgreSQL foi eleito o banco de dados mais utlizado:

48,7% dos desenvolvedores afirmaram que utilizam o PostgreSQL em seus projetos
48,7% dos desenvolvedores afirmaram que utilizam o PostgreSQL em seus projetos

Banco de dados relacional tradicionais permitem fazer cruzamento entre dados alfanuméricos. Isso proporciona oportunidades de elaboração de diversas aplicações do dia-a-dia como, por exemplo, obter listas de nomes de produtos de mais vendidos num determinado mês (texto x número) e listar elenco dos filmes de um determinado diretor (texto x texto). Mas, e se quisermos cruzar dados espaciais (pontos, linhas e polígonos)? Para isso, o SISDREN usa o PostGIS que é uma extensão do PostgreSQL que adiciona suporte a armazenamento de dados geográficos bem como funções de consulta que permitem determinar relações espaciais entre feições geográficas e características de geometrias:

  • Cálculo de centróides de polígonos;
  • Determinação de comprimentos e pontos médios de linhas;
  • Medição de distâncias entre geometrias;
  • Feições geográfcias mais próximas (num raio determinado);
  • Relações espaciais do tipo "contém", "está contido" ou "faz intersecção".

PostgreSQL e o PostGIS trabalham juntos para fornecer uma base de dados que pode lidar com informações espaciais também sendo possível integrar dados espaciais com outras informações alfanuméricas. Isso nos permite prover funcionalidades ao usuários do sistema que vão além da simples visualização de mapas (liga/desliga layers).

Para a realização da nova funcionalidade, aplicamos os seguintes recursos do banco de dados:

  • CTE - Common Table Expression: construção na linguagem de consulta SQL que permite definir uma ou mais subconsultas temporárias que podem ser referenciada dentro de uma consulta SELECT, INSERT, UPDATE ou DELETE. As CTEs são úteis para melhorar a legibilidade e a organização das consultas SQL para o desenvolvedor.
  • Materialized Views: Armazenam resultados pré-calculados por uma consulta complexa, permitindo acesso rápido aos dados, dispensando a necessidade de recálculo a cada requisição/carregamento de dados no mapa.
  • st_contains: é usada para verificar se uma feição geográfica está completamente dentro de outro objeto geométrico.
  • st_pointonsurface: retorna um ponto que está no interior de um polígono.
  • st_length: retorna o comprimento de um objeto geométrico.
  • st_linemerge: retorna uma linha resultante da fusão de todas as linhas de um objeto.
  • st_dwithin: retorna verdadeiro se duas geometrias estão a uma distância menor ou igual a uma distância especificada.

Aba de propriedades de bacia

Ao selecionarmos uma bacia hidrográfica no SISDREN (no mapa, na aba de listagem de bacias ou na caixa de busca) é possível visualizar as propriedades da bacia selecionada. Dentre as propriedades anteriormente disponíveis, agora temos uma listagem de reservatórios contidos na bacia selecionada. Abaixo, vemos um exemplo da Bacia Pirajuçara:

Reservatórios da Bacia Pirajuçara
Reservatórios da Bacia Pirajuçara

Aba de propriedades de reservatórios

A aba de propriedades de reservatório mostra a relação dos cursos d'água mais próximos. No exemplo abaixo, vemos que os cursos d'água mais próximos ao reservatório de amortecimento "Sharp" são o Córrego Pirajuçara e o Córrego dos Mirandas:

Cursos d'água próximos ao reservatório Sharp
Cursos d'água próximos ao reservatório Sharp

Padronização da Nomenclatura dos Nomes de Bacias

Anteriormente, os nomes completos, como 'BACIA CÓRREGO PIRAJUÇARA' ou 'BACIA RIBEIRÃO ÁGUA VERMELHA', ocupavam um espaço considerável na tela e dificultavam a visualização e interpretação do mapa pelos usuários pois concorria pelo espaço na tela com outras informações. A partir desta atualização, a nomenclatura foi padronizada, mantendo apenas a parte mais significativa (por exemplo, 'PIRAJUÇARA'), proporcionando uma interface mais limpa e intuitiva.

As imagens abaixo demonstram a diferença na visualização dos nomes das bacias hidrográficas antes e após a padronização. A nova nomenclatura proporciona uma interface mais limpa e organizada, facilitando a análise espacial.

Nomes de bacias hidrográficas antes da simplificação
Nomes de bacias hidrográficas antes da simplificação
Nomes de bacias hidrográficas após a simplificação
Nomes de bacias hidrográficas após a simplificação