Distância pela lei esférica dos cossenos
A calculadora pela lei esférica dos cossenos determina o menor caminho sobre uma Terra esférica entre dois pontos de latitude e longitude.
Executar grátis
Informe os dois pares em graus decimais para receber o ângulo central e a distância em quilômetros, milhas e metros. É uma alternativa compacta à fórmula de haversine e funciona bem em cálculos, planilhas, aulas e implementações. Os resultados adotam um raio médio fixo da Terra, portanto cada solicitação é determinística e fácil de reproduzir.
Informe e interprete os pares de coordenadas
Informe latitude e longitude da origem como lat1 e lng1, e do destino como lat2 e lng2. Use graus decimais: a latitude vai de -90 a 90, e a longitude de -180 a 180. Valores negativos indicam o hemisfério sul ou posições a oeste de Greenwich. A resposta traz o ângulo central e a distância em quilômetros, milhas e metros. Ela representa o arco menor na superfície da esfera, não uma linha pelo interior da Terra. Inverter os pontos mantém a distância. Confira a ordem das coordenadas, pois trocar latitude por longitude pode indicar outro local mesmo quando os números são aceitos. Preserve casas decimais suficientes para a precisão espacial necessária.
Como funciona a lei esférica dos cossenos
O método converte as latitudes e a diferença de longitudes de graus para radianos. Em seguida, calcula o cosseno do ângulo central pelo produto dos senos das latitudes somado ao produto dos cossenos das latitudes e da diferença longitudinal. O arco cosseno fornece a separação angular no centro da Terra. Multiplicar esse ângulo pelo raio médio fixo de 6,371 quilômetros produz a distância superficial, depois convertida para metros e milhas terrestres. Pequenos erros de ponto flutuante podem levar o cosseno ligeiramente além de -1 ou 1 perto de pontos coincidentes ou antípodas; por isso o valor é limitado antes do cálculo, evitando NaN. O arredondamento estável facilita comparações repetíveis. O modelo é esférico e não representa o achatamento terrestre.
Use o método na precisão adequada
Use esta fórmula em ensino, comparações geográficas rápidas, resumos de mapas, estimativas logísticas e verificações de dados quando a aproximação esférica for suficiente. A identidade trigonométrica compacta é fácil de revisar. Em separações extremamente curtas, o arco cosseno pode perder precisão porque o cosseno fica muito próximo de um; nesses casos, haversine costuma ser preferível. Para topografia, limites legais ou navegação de alta precisão, escolha um método elipsoidal como Vincenty ou uma biblioteca geodésica moderna. O resultado também ignora relevo, estradas, edifícios, áreas restritas e procedimentos de voo: mede separação ideal, não um itinerário. Ao comparar ferramentas, confirme o raio adotado, pois raios esféricos diferentes geram pequenas diferenças legítimas.
Casos de uso
Verificar dados geográficos
Calcule separações esféricas reproduzíveis ao validar registros de localização ou detectar correspondências distantes demais.
Ensinar geometria de círculo máximo
Demonstre como latitude, diferença de longitude, ângulo central e comprimento do arco se relacionam em uma identidade compacta.
Estimar alcance entre pontos
Obtenha rapidamente uma distância aproximada para mapas, painéis, triagem logística ou comparações sem geometria de rotas.
Perguntas frequentes
Quanto custa o cálculo?
O preço da API é US$ 0,002 por solicitação. A calculadora no navegador é gratuita nesta página.
Qual raio da Terra é utilizado?
É usado um raio médio fixo de 6,371 quilômetros para resultados esféricos determinísticos.
Este método é igual à fórmula de haversine?
Não. Ambos estimam a distância de círculo máximo em uma esfera, mas usam formas trigonométricas diferentes. Haversine tende a ser melhor em separações mínimas.
O resultado acompanha estradas ou rotas aéreas?
Não. Ele representa o menor arco ideal na esfera e não considera restrições, relevo ou desvios operacionais.
Por que outra calculadora pode divergir?
Ela pode usar outro raio, um modelo elipsoidal, arredondamento diferente ou uma rota real em vez do arco de círculo máximo.
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/law-of-cosines-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}'const res = await fetch("https://api.kit.forhosting.com/geo/law-of-cosines-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/law-of-cosines-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/law-of-cosines-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/law-of-cosines-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,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.law_of_cosines_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. |