Calculadora de rumo inicial
Saindo de Londres para Paris pelo grande círculo, o rumo inicial é de 148,115617°, que na rosa de 16 pontos é SSE. Informe origem e destino em graus decimais e receba um rumo pronto para desenhar como seta ou linha de direção. 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
- 51,5074
- Lng1
- -0,1278
- Lat2
- 48,8566
- Lng2
- 2,3522
- Rumo
- 148,115617 deg
- Ponto cardeal
- SSE
Quando você precisa da direção da bússola de um ponto da Terra para outro, o rumo inicial é a resposta: o azimute direto do trajeto de círculo máximo no momento em que ele parte da origem. Esta calculadora recebe dois pares de latitude e longitude em graus decimais e retorna uma única direção na faixa de 0 a 360 graus, medida no sentido horário a partir do norte verdadeiro. Ela usa a fórmula esférica padrão em que as bibliotecas de navegação se apoiam, então o resultado é determinístico, livre de consultas de rede e adequado para planejamento de rotas, anotações em mapas, notas de topografia e pipelines automatizados que precisam concordar no mesmo número toda vez.
O que o rumo inicial significa (e o que não é)
O rumo inicial, também chamado de azimute direto, é o ângulo em que você ajustaria uma bússola se começasse a caminhar ou voar pelo trajeto mais curto sobre uma esfera do ponto A em direção ao ponto B. Zero grau significa exatamente norte, noventa significa exatamente leste, cento e oitenta significa exatamente sul, e duzentos e setenta significa exatamente oeste.
Como a Terra é curva, essa direção só está correta no início da viagem: à medida que você avança pelo círculo máximo, a direção local de bússola necessária para permanecer na geodésica normalmente muda. O rumo final (o azimute reverso no destino) é um número diferente; a distância é ainda outro cálculo. Esta ferramenta responde deliberadamente só à pergunta direta, para que o contrato permaneça simples: quatro coordenadas na entrada, uma direção na saída.
Os valores são sempre normalizados no intervalo semiaberto de zero inclusive a trezentos e sessenta exclusive, que é como a maioria dos sistemas GIS e das APIs expressa o azimute. Se ambos os pontos forem o mesmo local, a singularidade matemática do atan2 se resolve em zero, o que é uma convenção estável para extremidades idênticas em vez de uma direção indefinida.
Como fornecer as coordenadas e ler o resultado
As latitudes precisam ficar entre menos noventa e noventa; as longitudes entre menos cento e oitenta e cento e oitenta. Latitude positiva fica ao norte do equador; longitude positiva fica a leste do meridiano de Greenwich. A resposta inclui bearing arredondado para seis casas decimais para automação estável, um campo unit definido como deg, o eco dos pontos from e to para que você possa auditar a requisição, e um rótulo cardinal de dezesseis pontos como N, NE ou WSW para resumos legíveis por pessoas.
Use o rumo numérico quando precisar de precisão para mapas, linhas de direção ou orientação de dispositivo; use o cardinal apenas para exibição.
Onde a fórmula é usada em sistemas reais
Softwares de logística desenham setas entre armazéns e paradas; estações de solo de drones mostram a direção até o próximo ponto de rota; apps de topografia anotam a direção de um ponto de controle a um alvo; mapas de jogos orientam marcadores para os destinos das missões. Todos esses fluxos precisam de um azimute repetível sem chamar um geocodificador externo.
O algoritmo aqui é a clássica identidade de trigonometria esférica: converter graus em radianos, formar as componentes leste e norte com o seno e o cosseno das diferenças de latitude e longitude, depois tomar o atan2 dessas componentes e envolver o resultado entre zero e trezentos e sessenta. Ele assume uma Terra esférica, que é a mesma aproximação usada por incontáveis helpers de círculo máximo de código aberto e é precisa o suficiente para a maioria das tarefas de planejamento abaixo de alguns milhares de quilômetros.
Para trabalho cadastral legal ou topografia de precisão centimétrica, você usaria uma biblioteca geodésica elipsoidal; para roteamento diário, interface de mapa e ferramentas educativas, esta forma fechada é o compromisso certo.
Casos de uso
Orientação de rotas e pontos de rota
Calcule a direção de partida entre posições GPS consecutivas para que uma interface de mapa ou barra de navegação desenhe uma seta que combine com a geodésica planejada.
Logística e despacho em campo
Dê aos motoristas ou equipes de campo um rumo em relação ao norte verdadeiro do depósito até uma entrega ou local de serviço, sem exigir um motor completo de instruções passo a passo.
Notas de topografia e anotações em mapas
Registre o azimute direto de um ponto de controle até um marco em um formulário ou pipeline de planilha que precisa permanecer determinístico entre dispositivos.
Perguntas frequentes
O que é o rumo inicial?
É a direção de bússola direta, em graus no sentido horário a partir do norte verdadeiro, do trajeto de círculo máximo no momento em que ele parte da primeira coordenada rumo à segunda.
O resultado é norte magnético ou norte verdadeiro?
Norte verdadeiro. A calculadora não aplica declinação magnética; aplique você mesmo uma tabela de variação local se precisar de uma leitura de bússola magnética.
O rumo permanece constante por todo o trajeto?
Normalmente não. O rumo inicial é apenas o azimute de partida. Sobre uma esfera, a direção local ao longo de um círculo máximo geralmente muda; use o rumo final no destino se precisar da direção de chegada.
Qual formato de coordenada é aceito?
Graus-minutos-segundos e plus-codes não são interpretados; converta-os primeiro.
Que rumo sai se os dois pontos forem o mesmo?
Zero. Com pontos idênticos não existe direção de viagem, então o cálculo adota 0° como convenção estável, em vez de um rumo indefinido. Se isso aparecer sem você esperar, confira os dados informados.
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/bearing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}'const res = await fetch("https://api.kit.forhosting.com/geo/bearing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/bearing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/bearing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":51.5074,"lng1":-0.1278,"lat2":48.8566,"lng2":2.3522}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/bearing", 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": 51.5074,
"lng1": -0.1278,
"lat2": 48.8566,
"lng2": 2.3522
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.bearing",
"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 fornecer as coordenadas e ler o resultado
Passe lat1 e lng1 para a origem e lat2 e lng2 para o destino, cada um como um número finito em graus decimais. Como a aritmética é pura e sem efeitos colaterais, o caminho grátis do navegador e o caminho pago da API produzem o mesmo JSON para a mesma entrada. Parâmetros inválidos ou ausentes falham com invalid_input e não são cobrados, então você pode validar formulários de forma barata antes de confirmar um lote de pontos de rota.
Onde a fórmula é usada em sistemas reais
As chamadas de API têm preço de US$ 0,002 por item sobre saldo pré-pago, com o mesmo contrato disponível para execução offline ou no navegador, onde nenhuma conta é necessária.
Perguntas técnicas
Quanto custa a API?
Cada requisição bem-sucedida é cobrada ao preço base publicado de US$ 0,002 sobre o saldo pré-pago do KIT. Entrada inválida não é cobrada. A ferramenta do navegador pode rodar a mesma matemática pura localmente sem conta.