Como gerar mapa de fluxos automaticamente no QGIS

Os mapas de fluxo, em sistemas de informação geográfica, constituem um recurso muito utilizado para analisar os deslocamentos de pessoas e cargas entre áreas ou pontos de um território. No QGIS3, é possível gerar esses mapas dinamicamente através de uma camada virtual. Com algumas linhas de consulta SQL, configuramos uma camada que vetoriza automaticamente as linhas que representarão os fluxos e que ainda se atualizará dinamicamente se os dados de fluxo ou as geometrias de referência forem alteradas. Vejamos como funciona.

No QGIS3 é possível criar mapas de fluxo com camada virtual.

Neste exemplo, eu vou utilizar os dados da Matriz de Origem/Destino real de deslocamentos de pessoas elaborada a partir de Big Data da telefonia móvel, apresentada e mantida pela Secretaria Nacional de Aviação Civil do Ministério da Infraestrutura, disponível aqui.

Vou utilizar três camadas:

  1. aeroportos: a camada de aeroportos, que contém um campo chamado ICAO com o código de cada aeroporto;
  2. fluxo: uma tabela com os dados dos fluxos com embarque no Aeroporto Presidente Castro Pinto (código SBJP), na Paraíba, no mês de janeiro, que também contém campos com os códigos dos aeroportos de embarque e desembarque. Utilizaremos esses campos para fazer a relação;
  3. Uma camada dos estados brasileiros, como base, para melhor ilustração.

Aqui:

A consulta:

SELECT f.aerodromoembarque, f.aerodromodesembarque, f.fluxo, 
        make_line(a1.geometry, a2.geometry)
 FROM fluxo f
 JOIN aeroportos a1 ON f.aerodromoembarque = a1.ICAO
 JOIN aeroportos a2 ON f.aerodromodesembarque = a2.ICAO

Estamos fazendo duas uniões importantes com a mesma camada, a de aeroportos, duplicando-a (a1 e a2): em uma, fazemos a união pelo código do aeroporto de embarque (a1); na outra, pelo de desembarque (a2). A função make_line faz o trabalho de desenhar uma linha ligando cada par de origem/destino.

O resultado:

Agora é só estilizar conforme sua necessidade. Por exemplo, buscando melhor representação, abaixo classifiquei por espessura da linha em 7 classes, utilizando quebras naturais, e apliquei transparência.

É isso. Rápido, prático e escalável.

Espero que ajude. Até a próxima.

3 comentários em “Como gerar mapa de fluxos automaticamente no QGIS

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s