ETA até o próximo ponto
A 25 km/h em um trecho de 76°, uma posição em 37.7749, -122.4194 está a 13.43 km do ponto 37.8044, -122.2712 e chega em cerca de 32 min 14 s. Só conta a parte da sua velocidade que aponta para o ponto da rota. 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
- Latitude atual
- 37,7749
- Longitude atual
- -122,4194
- Latitude do ponto de passagem
- 37,8044
- Longitude do ponto de passagem
- -122,2712
- Rumo (graus)
- 76
- Velocidade
- 25
- Distância restante
- 13,43
- Distância (m)
- 13.429,644
- Rumo ao ponto de passagem (°)
- 75,817
- Rumo da rota (°)
- 76
A calculadora de ETA até o próximo ponto transforma uma posição de navegação em uma estimativa prática de progresso. A ferramenta mede a distância de círculo máximo, encontra o rumo inicial até o destino e usa somente a componente da velocidade que realmente reduz a separação. O resultado traz distância restante, erro de rumo, velocidade de aproximação, ETA em segundos e minutos e uma duração legível. Tudo funciona sem mapas ao vivo, trânsito, meteorologia, rede ou relógio do sistema.
O que a estimativa até o ponto mede
Uma ETA até um ponto é mais útil quando representa o progresso no trecho que você está seguindo, em vez de apenas dividir a distância em linha reta pela velocidade total sem considerar a direção. Esta calculadora recebe a posição atual e o próximo ponto como coordenadas em graus decimais. Ela calcula a menor separação pela superfície de uma esfera com a fórmula de Haversine e o raio médio da Terra definido pela IUGG.
Em seguida, encontra o rumo verdadeiro inicial da posição atual até o ponto. A ferramenta projeta a velocidade na direção do destino usando o cosseno desse erro. Assim, quem se move diretamente para o ponto aproveita toda a velocidade; um deslocamento oblíquo tem menor velocidade de aproximação e ETA maior.
Trata-se de uma estimativa instantânea de uma única posição, não de uma previsão de curvas ou mudanças de velocidade. Se a posição já coincide com o ponto, distância e ETA são zero. Se o rumo é perpendicular ou aponta para longe, a solicitação é rejeitada para não produzir uma ETA negativa ou infinita enganosa.
Limites da ETA instantânea e uso responsável
Considere a saída uma fotografia transparente do momento, não uma navegação curva a curva nem uma promessa de chegada. A estimativa pressupõe que rumo e velocidade atuais continuam enquanto a separação de círculo máximo diminui. Ela não conhece a geometria de trechos posteriores, áreas restritas, correntes, vento, trânsito, perfis de subida, terreno, paradas ou aceleração.
Também adota uma Terra esférica, e não uma geodésica elipsoidal; isso é adequado para acompanhamento rápido e automação reproduzível, mas não substitui equipamento certificado de navegação. Em uma rota curva ou intencionalmente deslocada, refaça o cálculo após cada nova posição para atualizar erro de rumo e velocidade de aproximação. Se a rota exigir uma polilinha específica, calcule o comprimento restante em outra ferramenta; esta capacidade mede a distância superficial direta até o ponto e ajusta o tempo conforme o rumo informado.
A rejeição de um rumo que não fecha distância pode sinalizar percurso invertido, ponto antigo, coordenadas trocadas ou veículo em espera circular antes que outro sistema mostre uma chegada plausível. Em sinais GPS ruidosos, suavize posição, rumo e velocidade ou espere várias leituras coerentes. A resposta determinista serve para painéis, alertas, simuladores e testes sem acesso a um provedor de mapas.
Nenhum dado é armazenado, nenhuma localização é buscada e nenhum horário é consultado.
Casos de uso
Acompanhamento de trecho marítimo
Converta posição, ponto ativo, rumo e velocidade em nós em milhas náuticas restantes e uma ETA instantânea.
Painéis de telemetria de frotas
Transforme mensagens periódicas de posição e direção em progresso reproduzível sem consultar mapas em cada atualização.
Testes de simulação de navegação
Gere dados estáveis de distância, erro de rumo, velocidade de aproximação e ETA para telas e exercícios de acompanhamento.
Perguntas frequentes
Como a ETA até o próximo ponto é calculada?
O cálculo mede a distância de círculo máximo, encontra o rumo inicial, projeta a velocidade nessa direção e divide a distância pela velocidade de aproximação positiva.
Por que o rumo altera a ETA?
Somente o movimento em direção ao ponto reduz a distância. Um rumo inclinado oferece menos velocidade de aproximação que a mesma velocidade apontada diretamente ao alvo.
A ferramenta calcula um horário de chegada?
Não. Ela retorna a duração restante sem consultar o relógio.
Ela usa mapas, trânsito, vento ou correntes?
Não. É geometria esférica determinista baseada apenas nas coordenadas, no rumo, na velocidade, nas unidades e na precisão informados por você.
E se o meu rumo estiver se afastando do ponto?
Se o seu rumo for perpendicular ao ponto ou apontar para longe dele, nenhuma parte da sua velocidade diminui a distância. Nesse caso a calculadora recusa a estimativa, em vez de mostrar um tempo de chegada negativo ou infinito.
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/next-waypoint-eta \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}'const res = await fetch("https://api.kit.forhosting.com/geo/next-waypoint-eta", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/next-waypoint-eta",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/next-waypoint-eta", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_lat":37.7749,"current_lon":-122.4194,"waypoint_lat":37.8044,"waypoint_lon":-122.2712,"bearing_deg":76,"speed":25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/next-waypoint-eta", 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
{
"current_lat": 37.7749,
"current_lon": -122.4194,
"waypoint_lat": 37.8044,
"waypoint_lon": -122.2712,
"bearing_deg": 76,
"speed": 25
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.next_waypoint_eta",
"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.
Limites
latitude_min | -90 |
latitude_max | 90 |
longitude_min | -180 |
longitude_max | 180 |
speed_max_mps | 10000 |
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
Informe latitude e longitude atuais, coordenadas do próximo ponto, rumo seguido no trecho ativo e velocidade presente.
O que a estimativa até o ponto mede
O bearing_deg informado é tratado como o rumo atual do trecho ativo, medido no sentido horário a partir do norte verdadeiro. A diferença entre essas direções aparece em course_error_deg: um valor positivo coloca o ponto à direita do rumo e um valor negativo, à esquerda. A resposta inclui distance_remaining na unidade escolhida, distance_m, os dois rumos, closing_speed_mps, eta_seconds, eta_minutes e eta_formatted.
Como informar a posição e interpretar a resposta
Latitudes negativas ficam ao sul do equador e positivas ao norte; longitudes negativas ficam a oeste de Greenwich e positivas a leste. As coordenadas são validadas, e a diferença de longitude é ajustada ao cruzar o antimeridiano, impedindo que um trecho curto perto de 180 graus vire quase uma volta ao planeta. Essa independência é útil quando um instrumento náutico fornece nós, mas o relatório exige milhas náuticas, ou quando a telemetria fornece metros por segundo e a tela deve mostrar quilômetros. precision controla de zero a nove casas decimais sem mudar o cálculo interno. A ETA é a distância dividida pela velocidade de aproximação, não pela velocidade total. Use current_lat e current_lon para a posição GPS atual e waypoint_lat e waypoint_lon para o próximo ponto da rota. Informe bearing_deg entre zero e 360; zero e 360 significam norte verdadeiro, 90 significa leste, 180 sul e 270 oeste. speed deve ser estritamente positivo. Escolha speed_unit entre km/h, mph, kn e m/s, e escolha distance_unit separadamente entre m, km, mi e nmi. Com erro de rumo de 60 graus, apenas metade da velocidade fecha a distância, e a ETA instantânea fica aproximadamente duas vezes maior que no rumo direto. eta_formatted arredonda para o segundo inteiro mais próximo; eta_seconds e eta_minutes preservam a precisão solicitada para integração. Cada resultado aceito é reproduzível no navegador gratuito e na API por US$ 0,002 por solicitação concluída.
Limites da ETA instantânea e uso responsável
Se você precisar do horário de chegada, some eta_seconds a uma marca temporal confiável no seu aplicativo; manter a duração separada evita divergências de fuso horário e relógio do dispositivo.
Perguntas técnicas
O que acontece quando o rumo aponta para longe?
A solicitação retorna invalid_input, pois movimento perpendicular ou de afastamento não possui velocidade de aproximação positiva nem ETA instantânea finita.
Quanto custa o cálculo pela API?
Cada solicitação concluída custa US$ 0,002. O mesmo cálculo determinista está disponível gratuitamente no navegador.