Como efetuar o cálculo da distância entre pontos no aplicativo QGIS? Para responder a esta pergunta, temos que possuir duas camadas vetoriais representando a origem e o destino. Em seguida, precisamo aplicar uma análise espacial capaz de gerar um traçado em linha reta para determinar a distância entre as duas posições. O QGIS 3 possui um algoritmo que cumpre bem essa finalidade.
Para ilustrar este procedimento, vamos utilizar o Shapefile das Capitais do Brasil produzido pelo IBGE. A pergunta que precisa ser respondida é a seguinte:
Qual é a distância em quilômetros da capital federal para as demais capitais do nosso país?
Siga os procedimentos abaixo para obter essa resposta!
Obtendo as Bases dos Estados e Capitais do Brasil
Para realizar o download dos limites de estados e capitais do Brasil, visite o site das Geociências do IBGE e faça o download dos dados em Shapefile. O caminho para obter estes dados é este:
https://downloads.ibge.gov.br/downloads_geociencias.htm
Cartas e Mapas - Bases Cartográficas Contínuas - BC250 - Versão 2017 - Shapefile
As camadas Limites e Localidades contém os polígonos dos Estados do Brasil e os pontos que representam as capitais. É a informação mais atualizada na melhor escala (1:250.000).
Criação de uma Camada Temporária
Vamos usar este artifício para separar Brasília das demais capitais. Você pode utilizar a Camada Virtual ou a Camada Temporária para separar os dados. Primeiro, selecione o objeto no mapa e clique no Menu Editar – Copiar Feições.
Em seguida, clique no Menu Editar – Colar Feições Como – Rascunho Temporário da Camada. Digite Brasilia e clique em OK.
Um novo Shapefile de pontos será adicionado ao mapa.
Esta camada temporária representa o centro do país e todas as capitais devem apontar para essa posição. Na camada original das capitais, a geometria de ponto que representa Brasília deve ser removida. Podemos aplicar essa remoção através do Filtro.
Criação de um Fitro
Para aplicar um filtro, clique com o botão direito sobre a camada das capitais e selecione a função Filter.
Na janela Ferramenta de Consulta, vamos utilizar uma expressão capaz de manter sobre o mapa todas as capitais que possuem um nome diferente de Brasília. No total, são 26 atributos que se enquadram nessa condição. Para aplicar a diferença (<>), siga os passos abaixo:
Clique em Testar para receber a confirmação da presença de 26 entradas na base de dados. Pressione OK para confirmar e OK para sair. Esta ferramenta irá realizar a exibição da informação enquadrada pela expressão, ou seja, somente serão exibidas as capitais cujo nome é diferente de Brasília. Para remover o Filtro, retorne para a janela e clique na opção Limpar.
Muito bem! Até aqui, conseguimos definir os nossos pontos de origem e destino. A ideia central é realizar o cálculo da distância para o centro, ou seja, devemos realizar o deslocamento dos pontos de origem (as capitais do Brasil) para o destino (a capital federal).
Cálculo da Distância para o Centro
Acesse o Menu Processar – Caixa de Ferramentas se o mesmo estiver fechado. Em seguida, faça uma pesquisa pela palavra “Distância” e selecione o algoritmo chamado Distância para o Ponto Central mais Próximo (Linha para o Ponto Central).
Na janela seguinte, selecione as opções de acordo com o descritivo abaixo:
- O campo Camada da Fonte dos Pontos representa o ponto de origem, portanto, selecione as Capitais do Brasil neste campo;
- No campo Camada de Destino dos Hubs (centros), informe a geometria de destino, a saber, a feição que representa a Capital Brasília;
- No campo Nome do atributo da Camada Hub, selecione a coluna nome presente em ambas as tabelas;
- Para a Unidade de Medição, selecione Quilômetros;
- Indique um nome e um local de saída para o novo arquivo Shapefile de linhas.
Pressione o botão Run in Background. Diversas linhas serão geradas entre a origem e o destino.
O valor da distância em quilômetros está registrado na tabela através do campo HubDist.
Você pode aplicar estilos de rótulos para tornar o mapa mais intuitivo:
Fim do artigo. Para fechar com chave de ouro, que tal responder ao desafio do Instrutor?
Desafio
Com base na análise espacial desenvolvida no artigo, faça a interpretação do mapa e responda os questionamento abaixo nos comentários.
- Qual é a capital mais próxima de Brasília?
- Qual é a capital mais distante de Brasília?
- Quais são as capitais que possuem a mesma distância da Capital Federal?
- Qual a distância entre Campo Grande (MS) e Goiânia (GO)?
Informações
INSTRUTOR GIS é um espaço na Web destinado à publicação de dicas sobre Geotecnologias. Para entrar em contato sobre consultoria ou cursos de Geoprocessamento e Sensoriamento Remoto, utilize os canais abaixo:
- WhatsApp (61) 99616-5665
- Skype: jorgepsantos2002
- E-mail: jorgesantos@instrutorgis.com / jorgepsantos@outlook.com
Ótimo tutorial, Jorge! Parabéns!
Mas me surgiu uma dúvida: Existe alguma diferença entre usar os operadores lógicos () no lugar do (!=)?
Abraço!
Oi Pedro, tudo bom?
Não existe nenhuma diferença. É válido aplicar diferentes usos para os operadores booleanos, pois a intenção aqui é demonstrar o uso deles na sua máxima capacidade. Somos “bem devagar” no uso de expressões. A minha ideia é potencializar essa prática e eu estou aceitando dicas. Continue participando!
Abraço!
Jorge Santos
Instrutor de Geotecnologias
https://www.instrutorgis.com.br
jorgepsantos@instrutorgis.com.br
WhatsApp: (61) 99616-5665
Skype: jorgepsantos2002
LinkedIn: https://www.linkedin.com/in/jorgepsantos
Twitter: http://twitter.com/jpsantos2002
OTIMO TUTORIAL COMO SEMPRE JORGE SANTOS, COMO FAÇO PARA FAZER AS SETAS NAS LINHAS E A GRADE DE CORES.
Oi Samuel, está na descrição deste vídeo no Youtube: https://youtu.be/2tZVITfYyVs
Aplique a mesma lógica nos Estados do Brasil, sendo que usei cores aleatórias.
Jorge Santos
Instrutor de Geotecnologias
https://www.instrutorgis.com.br
jorgepsantos@instrutorgis.com.br
WhatsApp: (61) 99616-5665
Skype: jorgepsantos2002
LinkedIn: https://www.linkedin.com/in/jorgepsantos
Twitter: http://twitter.com/jpsantos2002
Oi Jorge, parabéns pelo conteúdo deste tutorial, excelente!
Agora, caso queira realizar uma consulta (não em linha reta) como exemplo, utilizando estradas até um ponto de destino, qual seria o método para isso?
Abraços
Parabéns pelo material Jorge Santos. Mas…. fiquei com uma dúvida, para que possamos calcular distâncias, áreas etc.. sempre é recomendado reprojetar as camadas para o sistema de coordenadas planas. No entanto, vi que tu efetuou o cálculo em coordenas geográficas????
Sim Ricardo, você está certo. Sempre use o Sistema Projetado, porém, na versão 3 do QGIS, esse algoritmo foi melhorado e aceita o cálculo da distância em metros ou quilômetros.
Atenciosamente,
Jorge Santos
Instrutor de Geotecnologias
https://www.instrutorgis.com.br
jorgepsantos@instrutorgis.com.br
WhatsApp: (61) 99616-5665
Skype: jorgepsantos2002
LinkedIn: https://www.linkedin.com/in/jorgepsantos
Twitter: http://twitter.com/jpsantos2002
Oi Jorge,
Realizei o procedimento como consta no tutorial, porém a distancia não resulta em Kilometros, aparecem números tipo 0.02073.
Onde eu estou errando.
Abraços.
Boa tarde, interessante.
Estou precisando fazer algo semelhante, porém, usando a camada de “arruamento”
No seu exemplo, seria o equivalente a medir as distâncias das capitais usando somente as rodovias federais e estaduais, no menor caminho possível.
Oi Jorge, parabéns pelo excelente trabalho, está me ajudando muito! Eu gostaria de saber como eu poderia fazer (de maneira automática) para extrair de uma camada com diversos pontos, os dois pontos mais distantes entre si. Alguma ideia?
Pedro, eu não consegui compreender com clareza a sua demanda. Os pontos mais extremos são os que podem dar forma a um agrupamento.
Você verificou se o geoprocesso Polígonos de Voronoi pode te ajudar?
Jorge Santos
Instrutor de Geotecnologias
https://www.instrutorgis.com.br
jorgepsantos@instrutorgis.com.br
WhatsApp: (61) 99616-5665
Skype: jorgepsantos2002
LinkedIn: https://www.linkedin.com/in/jorgepsantos
Twitter: http://twitter.com/jpsantos2002
Olá Jorge, gostaria de saber o que significa distância linear (N*Kx3).