A distância entre locais, como por exemplo, cidades, estados e países é delimitado pela latitude e longitude, ou seja uma referência de localização geográfica (coordenadas geográficas).
A latitude é a distância de um ponto a linha do Equador, no qual esta divide os polos norte e sul, já a longitude é a distância até o meridiano de Greenwich, que por convenção, separa o hemisfério oriental (leste) e ocidental (oeste).
Tanto a latitude, como a longitude são representados em graus, partindo-se do 0º, a latitude aumenta até 90º (para norte) e diminui até -90º (para sul), já para a longitude aumenta até 180º (para leste) e diminui até -180º (para oeste).
Agora que temos uma noção do que é latitude e longitude, iremos aprender como obter estas coordenadas na internet e medir a distância em quilômetros (km) de um ponto a outro.
O Acadêmicos do Excel criou uma planilha, em que é possível verificar a distância aproximada entre uma cidade de origem e destino, tomando-se como base as informações de latitude e longitude destas.
1. Calculo da distância entre locais
1.1 Obtendo as coordenadas geográficas no Google Maps
O esquema a seguir ilustra como obter as coordenadas geográficas no formato decimal.
1.2 Organizando a base de dados com as coordenadas
Na sequência é essencial estruturamos a nossa base de dados, no qual conterá o nome da cidade, latitude e longitude, como mostra figura logo abaixo.
1.3 Elaborando a fórmula da distância entre os locais
A fórmula que construiremos é conhecida como fórmula de Haversine, e é uma das equações básicas na navegação, tendo como embasamento matemático, a Lei dos Cossenos, considerando no modelo a curvatura da Terra, isto é o raio da mesma, que possui o valor de aproximadamente 6371 km.
Logo abaixo apresento o modelo que iremos nos basear, considerarei também um fator de ajuste, visto que a distância calculada é linear, e sabemos que no calculo da distancia entre as cidades, o Google Maps fornece o percurso por rodovia.
O esquema a seguir ilustra a construção da fórmula na guia “Distancia”, no qual a partir dos nomes das cidades de origem e destino, as variáveis, latitude e longitude são buscadas na guia “Cidades”, através da função PROCV.
Obs.: Vale ressaltar que não explicaremos o uso da função PROCV, no entanto para aprender a utilizá-la leia o post, Aprenda a utilizar a função PROCV (VLOOKUP).
2. Convertendo o formato Sexagesimal para Decimal
Uma coordenada geográfica poderá ser representada em dois formatos, sexagesimal ou decimal, ambos em graus. O formato sexagesimal é considerado o mais intuito e preciso, visto que a sua estrutura é representado em graus, minutos, segundos e acompanha as orientações (norte, sul, leste e oeste), por outro lado não é o formato ideal para cálculos, e deve ser convertido para o decimal, aquele que utilizamos em nosso modelo.
Coordenadas da cidade de São Paulo no formato sexagesimal:
Latitude: 23°32′50″ S
Longitude: 46°38′09″ O
Para converter o formato sexagesimal para decimal, devemos seguir as seguintes regras:
Latitude: 23 + 32/60 + 50/3600 = 23 + 0,5333… + 0,013888… = 23,54722 (como a orientação é sul, então ficará -23,54722)
Longitude: 46 + 38/60 + 9/3600 = 46 + 0,6333… + 0,0025 = 46,63583 (como a orientação é oeste, então ficará -46,63583)
Repare que convertemos os minutos e segundos para uma parte decimal, e as orientações (sul e oeste), foram representados com um sinal negativo, segundo convenção.
Disponibilizo logo abaixo o link do exemplo para download.
Bons estudos e espero que tenham gostado!
voce tem uma base de cep, pois adorei o calculo de latitudes, ate criei uma planilha com todas as cidades, mas gostaria de fazer tambem por cep zap 9-3187271164
Olá Rubnei,
Desculpe a demora para lhe responder, estava impossibilitado estes dias. Muito obrigado pelo carinho e o reconhecimento. Verei com calma este final de semana em meus arquivos a planilha de CEPs do Brasil e lhe dou um retorno. Abs
Boa tarde! Inserindo os dados na planilha como suposto os valores estão dando muito estranhos; por exemplo distancia entre São Paulo e Belo Horizonte está dando -4301,16
Olá Cristiano,
Verifique se a latitude e longitude das cidades foram extraídas corretamente, e se os sinais estão corretos. Na planilha exemplo, que disponibilizei para baixar, existe a formula funcionando corretamente.
Abs!
Posso alterar o raio ?
Bom dia André, pode sim, este é o raio da Terra, mas para efeito de testes ou outros tipos de análise fique a vontade.
Carlos, encontrei o mesmo problema mencionado pelo Cristiano. Os resultado são muito diferentes do esperado. Inclusive, fiz testes com outras localidades e o erro persiste. O link que você disponibilizou para baixar a planilha, apresenta 3 pastas, mas nenhum contém a fórmula pra checarmos o erro.
Bom dia sr. Afonso, esta formula é na verdade um calculo de distância de ponto a ponto, utilizado em navegação, e que leva-se em considração a curvatura da Terra, no entanto, na maioria dos casos a estimativa para cálculos rodoviários possui uma margem de erro no geral menos de 10%. Esta técnica permite não ficarmos limitado a APIs, limitações de acesso e sobrecarga de busca em outros sites.
Na Verdade não se trata de um error, mas sim que o cálculo é feito com base em um plano cartesiano, e está seguindo uma linha RETA, quando pesquisamos no Google Maps, entra outros fatores que influenciam, como por exemplo as rodovias que traçam N trajetos até se chegar no objetivo.
Olá sr. Carlos,
Perfeito!!!A fórmula utiliza a lei dos cossenos levando-se em consideração a curvatura da Terra, por isso o raio é considerado. No entanto, sabemos que as distancias entre as cidades não é linear, sendo assim, criou-se um fator de ajuste empiricamente, que no geral fornece um erro menor que 10%.
O próprio Google sugere mais de uma rota para uma dada cidade, então distancias distintas não é necessariamente um erro, mas sim uma outra visão.