Distância pitagórica equirretangular
Calcule rapidamente a distância entre dois pontos próximos tratando o mapa como um plano local: duas coordenadas de Manhattan ficam a pouco mais de 5 km. Você também vê os trechos norte-sul e leste-oeste em metros. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Lat1
- 40,7128
- Lon1
- -74,006
- Lat2
- 40,758
- Lon2
- -73,9855
- Distância m
- 5.314,523521
- Distância km
- 5,314523521
- Δ latitude (m)
- 5.026,010684
- Δ longitude (m)
- 1.727,245453
Esta capacidade estima a que distância dois pontos na Terra estão um do outro tratando o mapa como um plano local. Ela converte a diferença de latitude e de longitude em metros usando uma escala de cosseno da latitude média e, então, aplica o teorema de Pitágoras a esses deslocamentos leste-oeste e norte-sul. O resultado é uma distância aproximada no solo, em metros e quilômetros, além dos deltas projetados, para que você possa auditar os passos intermediários. O algoritmo é totalmente determinístico: sem chamadas de rede, sem amostragem aleatória e sem relógio. Use-a quando precisar de uma distância rápida e barata para pontos próximos, ranqueamento em lote ou para ensinar a projeção equirretangular sem o custo de uma fórmula de círculo máximo completa.
Como funciona a fórmula pitagórica equirretangular
Numa esfera, os verdadeiros caminhos mais curtos são círculos máximos, mas, para muitas tarefas de produto e análise, uma aproximação plana local basta. Esta ferramenta usa a clássica projeção equirretangular: converte ambas as latitudes e longitudes para radianos, toma a diferença de latitude como o arco norte-sul numa esfera de raio médio fixo e escala a diferença de longitude pelo cosseno da latitude média, de modo que os metros leste-oeste encolham perto dos polos. Esses dois deslocamentos em metros tornam-se os catetos de um triângulo retângulo.
A hipotenusa é a distância no solo informada. Usamos um raio médio da Terra de seis milhões trezentos e setenta e um mil metros, a mesma constante que muitos manuais educacionais e de SIG usam para este método. Essa estabilidade importa para testes de referência, réplicas multirregião e ferramentas offline que não podem divergir.
Faixas de entrada, apelidos e quando a chamada falha
Envie graus decimais no globo WGS84. Latitudes ou longitudes fora de faixa falham da mesma forma, com uma mensagem que nomeia o campo problemático. Prefira números decimais estáveis a texto em graus-minutos-segundos ou referências de grade; converta esses formatos antes de chamar.
O exemplo de parâmetros usa um par curto de Manhattan para que o teste e a documentação permaneçam realistas. Para pontos idênticos, a distância é zero. Cruzar o antimeridiano com diferenças brutas de longitude pode inflar o resultado; para trajetos que dão a volta na linha de data, normalize as longitudes primeiro ou use um método de círculo máximo.
Quando usar esta aproximação em vez de uma fórmula esférica
Escolha a distância pitagórica equirretangular quando os pontos estiverem relativamente próximos, quando você precisar de velocidade máxima em vez de precisão máxima, ou quando estiver ensinando ou depurando projeções de mapa e quiser os deltas intermediários em metros. Verificações de raio de entrega dentro de uma cidade, agrupamento de sensores próximos, heurísticas grosseiras de tempo de viagem e tooltips de interface se encaixam bem.
Para rotas intercontinentais, trajetos polares ou navegação em que alguns por cento de erro importam, prefira uma distância de círculo máximo do tipo haversine ou Vincenty: esses métodos consideram a curvatura da Terra com mais cuidado. O erro cresce com a separação e com os extremos de latitude, porque a projeção plana ignora a convergência dos meridianos além do fator de escala da latitude média. Sempre documente o método ao armazenar resultados, para que auditorias posteriores saibam que você usou uma aproximação.
Entradas inválidas nunca consomem saldo, então você pode validar coordenadas de forma agressiva antes dos jobs em lote.
Casos de uso
Ranqueamento de proximidade em escala de cidade
Ordene lojas, sensores ou pontos de coleta por metros aproximados no solo a partir de um usuário, sem carregar uma biblioteca geoespacial pesada.
Ensino de projeções de mapa
Mostre aos alunos como os deltas de lat/lon viram metros leste-oeste e norte-sul e, depois, uma hipotenusa pitagórica, com números ao vivo.
Perguntas frequentes
Quão precisa é o método pitagórico equirretangular?
É uma aproximação plana local. A precisão é boa para distâncias curtas e médias e degrada à medida que a separação cresce ou perto dos polos. Para longas rotas de círculo máximo, use uma fórmula esférica.
Quanto custa?
A ferramenta da página é grátis no seu navegador. Entradas inválidas não são cobradas.
Como calculo a distância entre duas coordenadas próximas?
Digite a latitude e a longitude dos dois pontos em graus decimais. Você recebe a distância em metros e quilômetros, além dos deslocamentos norte-sul e leste-oeste que formam os catetos do triângulo retângulo.
Por que os metros de leste a oeste diminuem perto dos polos?
Porque os meridianos se aproximam à medida que você se afasta do equador. A diferença de longitude é multiplicada pelo cosseno da latitude média, então o mesmo intervalo em graus vale menos metros em latitudes altas.
E se os dois pontos ficarem em lados opostos do meridiano de 180°?
A diferença bruta de longitude passa a cobrir quase o globo inteiro e a distância sai muito inflada. Normalize as longitudes antes ou use um método de círculo máximo para trajetos que cruzam a linha de data.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/geo/pythagorean-geo-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}'const res = await fetch("https://api.kit.forhosting.com/geo/pythagorean-geo-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/pythagorean-geo-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/pythagorean-geo-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/pythagorean-geo-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.pythagorean_geo_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como funciona a fórmula pitagórica equirretangular
A resposta ecoa as quatro coordenadas que você enviou, a distância em metros e quilômetros, os componentes com sinal delta_lat_m e delta_lon_m, o nome do método e a constante de raio, para que o código a jusante possa registrar a procedência sem fazer engenharia reversa da fórmula.
Faixas de entrada, apelidos e quando a chamada falha
Os campos de latitude lat1 e lat2 devem ficar entre menos noventa e noventa, inclusive. Os campos de longitude lon1 e lon2 devem ficar entre menos cento e oitenta e cento e oitenta, inclusive. Apelidos comuns são aceitos: latitude1, from_lat, longitude1, from_lon, from_lng, latitude2, to_lat, longitude2, to_lon e to_lng mapeiam para os mesmos quatro números obrigatórios. Os valores podem chegar como números JSON ou strings numéricas; valores não finitos, strings vazias e campos obrigatórios ausentes falham com invalid_input e não são cobrados.
Quando usar esta aproximação em vez de uma fórmula esférica
Rode a ferramenta gratuita no navegador para inspecionar um único par, ou chame a API quando a automação precisar do mesmo resultado determinístico, a US$ 0,002 por requisição bem-sucedida.
Casos de integração
Atributos de distância em pipelines em lote
Adicione uma coluna distance_m barata e determinística a CSVs ou fluxos de eventos, para atributos de análise e de aprendizado de máquina em faixas curtas.
Perguntas técnicas
O que esta calculadora retorna?
Ela retorna os dois pontos, a distância em metros e quilômetros, os deltas projetados de latitude e longitude em metros, o rótulo de método pythagorean_equirectangular e a constante de raio da Terra usada.
Quando a chamada falha?
Ela falha com invalid_input quando uma coordenada obrigatória está ausente ou não é finita, ou quando a latitude está fora de −90…90 ou a longitude está fora de −180…180.
O resultado do navegador é igual ao da API?
Sim. Ambos rodam a mesma solve() pura em lib.js, então entradas idênticas produzem distâncias e deltas idênticos.