ForHosting KIT · Ferramentas para dev

Ponto mais próximo em um segmento de círculo máximo

Esta calculadora encontra o local de um segmento esférico de círculo máximo que fica mais perto de uma latitude e longitude informadas.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ela projeta o ponto consultado sobre o círculo máximo, verifica se a projeção está entre as duas extremidades e, quando não está, ajusta a resposta à extremidade mais próxima. O resultado inclui as coordenadas encontradas, a classificação da posição, a fração percorrida do segmento e a separação esférica em forma de ângulo e distância.

Informe o ponto consultado e o segmento

Forneça o local consultado em lat e lon e depois identifique o segmento com start_lat, start_lon, end_lat e end_lon. Todas as coordenadas usam graus decimais: a latitude vai do sul ao norte entre -90 e 90, e a longitude vai do oeste ao leste entre -180 e 180. O segmento corresponde ao arco mais curto de círculo máximo entre as extremidades, e não a uma reta em um mapa plano nem a uma loxodromia de rumo constante. Essa diferença é relevante em rotas longas e latitudes elevadas, nas quais fórmulas de projeção plana podem deslocar bastante o ponto mais próximo. O raio padrão é o raio médio da Terra definido pela IUGG. Você pode informar outro raio positivo para modelar uma esfera diferente ou reproduzir um cálculo existente, sem alterar a latitude e a longitude encontradas. A precisão opcional controla o arredondamento dos campos numéricos da resposta, mas não reduz a precisão interna da escolha.

Entenda a projeção e o ajuste às extremidades

A calculadora converte os três locais em vetores unitários tridimensionais. O produto vetorial dos vetores das extremidades define o plano do círculo máximo; ao remover do vetor consultado a componente normal a esse plano, obtém-se a projeção esférica perpendicular. Uma projeção no círculo máximo infinito não pertence automaticamente ao segmento finito. Por isso, o algoritmo compara comprimentos angulares de arco para saber se o vetor projetado está no arco curto entre o início e o fim. Quando está, a resposta apresenta segment em location e informa o avanço fracionário, de zero no início a um no fim. Quando fica fora, o resultado é ajustado à extremidade de menor separação angular, e location passa a start ou end. Extremidades coincidentes formam um segmento válido de comprimento zero. Extremidades exatamente antípodas são rejeitadas porque infinitos círculos máximos podem ligá-las e as duas coordenadas, sozinhas, não revelam qual arco era pretendido.

Use o resultado em fluxos geográficos

O objeto nearest contém a coordenada que você pode armazenar, exibir ou encaminhar para outro cálculo geográfico. A fração ajuda a localizar um evento ao longo de uma rota ou interpolar metadados, como um horário planejado, desde que esses dados acompanhem o mesmo segmento de círculo máximo. A distância angular não depende do raio escolhido, enquanto distance_m corresponde a esse ângulo multiplicado por earth_radius_m. Como este é um modelo esférico, ele atende bem a estimativas de navegação, visualizações globais, associação de pontos a rotas e outras tarefas que precisam de uma resposta estável em círculo máximo. Ele não resolve geodésicas elipsoidais e não deve substituir um levantamento de limites que exija um datum específico e precisão de centímetros. Para uma polilinha, execute a capacidade uma vez por segmento e mantenha o resultado com a menor distância. Se as distâncias às extremidades forem exatamente iguais em um caso ambíguo, o resultado determinístico favorece o início para preservar a estabilidade entre execuções.

Ajustar uma posição a uma rota aérea ou marítima

Encontre o local válido mais próximo em um trecho de círculo máximo sem prolongar a projeção além dos pontos de passagem.

Medir a separação de um trecho de rota

Use a distância esférica retornada para classificar trechos ou sinalizar locais fora de um corredor permitido.

Posicionar um evento em um trecho planejado

Use a fração ajustada para relacionar um relatório ao progresso entre as duas extremidades da rota.

Quanto custa uma solicitação de API?

O preço da API é US$ 0,002 por solicitação. O mesmo cálculo determinístico também pode ser executado no navegador nesta página.

O cálculo usa uma projeção plana de mapa?

Não. Ele realiza cálculos vetoriais e angulares sobre uma esfera e segue o arco mais curto de círculo máximo entre as extremidades.

O que significa ajustar às extremidades?

Se a projeção perpendicular cair fora do segmento finito, a calculadora retornará a extremidade mais próxima no lugar dela.

O que acontece quando as extremidades são idênticas?

O segmento tem comprimento zero; portanto, a extremidade compartilhada é retornada como o ponto mais próximo com fração zero.

Por que extremidades antípodas são rejeitadas?

Pontos opostos em uma esfera podem ser unidos por infinitos círculos máximos. Apenas as extremidades não identificam o arco pretendido.

O cálculo se baseia no elipsoide WGS84?

Não. As coordenadas usam os intervalos comuns de latitude e longitude, mas distâncias e projeções usam uma esfera com raio configurável.

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.

POSThttps://api.kit.forhosting.com/geo/nearest-point-on-segment

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/geo/nearest-point-on-segment \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":30,"lon":45,"start_lat":0,"start_lon":0,"end_lat":0,"end_lon":90}'
{
  "lat": 30,
  "lon": 45,
  "start_lat": 0,
  "start_lon": 0,
  "end_lat": 0,
  "end_lon": 90
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.nearest_point_on_segment",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →