QGIS 3: Distância entre Pontos: Cálculo da Distância de um Ponto para o Centro

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:

  1. O campo Camada da Fonte dos Pontos representa o ponto de origem, portanto, selecione as Capitais do Brasil neste campo;
  2. No campo Camada de Destino dos Hubs (centros), informe a geometria de destino, a saber, a feição que representa a Capital Brasília;
  3. No campo Nome do atributo da Camada Hub, selecione a coluna nome presente em ambas as tabelas;
  4. Para a Unidade de Medição, selecione Quilômetros;
  5. 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.

  1. Qual é a capital mais próxima de Brasília?
  2. Qual é a capital mais distante de Brasília?
  3. Quais são as capitais que possuem a mesma distância da Capital Federal?
  4. 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

NewsLetter InstrutorGIS

Assine para ter Acesso:

À conteúdos em PDF de alta qualidade exclusivos para assinantes da newsletter.

Aos melhores tutoriais e artigos direto na sua caixa de e-mail.

Às promoções, eventos, sorteios e muito mais...

12 comentários em “QGIS 3: Distância entre Pontos: Cálculo da Distância de um Ponto para o Centro”

  1. Ó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!

  2. 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

  3. 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????

  4. 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.

  5. 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.

  6. 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?

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.