Distância entre dois pontos: a coisa funciona na prática
O assunto é mais simples do que parece, mas tem uma série de coisinhas que as pessoas descobrem do jeito difícil quando precisam aplicar em projetos reais. A fórmula básica é a raiz quadrada da soma dos quadrados das diferenças nas coordenadas. Ponto A (x1, y1) e ponto B (x2, y2). D(x2 - x1)² + (y2 - y1)². É isso. O resto é aplicação. Eu aprendi isso na escola, obviamente, mas a primeira vez que precisei usar de verdade foi num projeto de mapeamento urbano que envolvia calcular rotas entre pontos de coleta de dados. A coisa parecia simples até eu me deparar com coordenadas em sistemas diferentes. Um ponto estava em WGS84, outro em um sistema local projetado. O resultado da distância vinha completamente errado. Eu gastei umas três horas rastreando o erro antes de perceber que os sistemas de referência eram incompatíveis. O workaround foi transformar tudo para um mesmo SRU antes de aplicar a fórmula. Dá trabalho, mas resolve.
questões de distância entre dois pontos
A dedução vem do Teorema de Pitágoras, basicamente. Você forma um triângulo retângulo com os dois pontos nos vértices e a linha que os conecta como hipotenusa. As diferenças de x e de y viram os catetos. Quando você está num plano cartesiano comum, essa abordagem funciona perfeitamente. Aí aparece a questão de quando o plano não é plano mesmo, ou quando as coordenadas são esféricas, aí a coisa muda de figura. Um erro que eu vejo todo mundo cometer é truncar os valores intermediários durante o cálculo. Se você arredonda a diferença de x pra dois casas decimais, depois eleva ao quadrado, depois faz a mesma coisa com y, e só então soma e extrai a raiz, o resultado final pode errar em centímetros ou metros dependendo da escala. A dica prática é manter a precisão máxima em todas as etapas intermediárias e arredondar só no resultado final. Isso costuma fazer a diferença sair de um erro de 0,003% para algo insignificante.
Também tem o problema de pontos com a mesma coordenada. Quando x1 é igual a x2, a fórmula ainda funciona, mas muita gente trava na hora de programar e coloca uma condição desnecessária ou divide por zero por engano em variações da implementação. O mesmo acontece com y1 igual a y2. A fórmula não quebra, mas código mal escrito quebra. Outro ponto importante: a distância euclidiana é a mais usada, mas nem sempre é a mais adequada. Se você está trabalhando com dados geográficos em larga escala, a curvatura da Terra importa. Nesses casos, a distância de Haversine ou a fórmula de Vincenty são mais precisas. Eu já vi gente aplicar a distância euclidiana em coordenadas de latitude e longitude e depois se perguntar por que os resultados não batiam com o esperado. O erro pode passar de 1% em distâncias maiores que 100 km, dependendo da latitude.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Na prática, aqui vai o resumo do que funciona:
- Verifique sempre o sistema de referência das coordenadas antes de calcular.
- Use precisão suficiente nos cálculos intermediários, arredonde só no final.
- Para coordenadas geográficas, prefira fórmulas esféricas em vez da euclidiana pura.
- Teste com casos degenerados (mesmo x, mesmo y) para validar sua implementação.
Se você tá fazendo isso num ambiente de planilha, uma célula com a função correta já resolve. Num script Python, use math.sqrt e mantenha os floats nativos. Em SQL, dependendo do SGBD, existem funções prontas de distância que já tratam desses detalhes. Numa aplicação real, eu prefiro bibliotecas especializadas como shapely ou geopandas, porque elas encapsulam a complexidade dos sistemas de projeção e evitam que eu tenha que reimplementar a lógica toda vez. O que mais dá errado? Principalmente dois casos. O primeiro é misturar unidades: um ponto em metros, outro em graus, ou vice-versa. O segundo é confiar cegamente no resultado sem verificar se a magnitude faz sentido. Se a distância entre dois pontos que deveriam estar próximos saiu com centenas de quilômetros, a primeira coisa pra checar é se as coordenadas estão no mesmo referencial e na mesma escala.
Em resumo, a matemática por trás é elementar, mas as armadilhas na hora de aplicar são mais numerosas do que o normal. O segredo é prestar atenção nos detalhes de implementação e não tratar a fórmula como uma caixa preta que resolve tudo sem contexto.