Interseção de trajetos de grande círculo
Informe dois pontos de partida com seus rumos verdadeiros e veja onde as rotas de grande círculo se encontram: 51,8853 N, 0,2545 E a 108,547° e 49,0034 N, 2,5735 E a 32,435° se cruzam perto de 50,9078 N, 4,5084 E. 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,8853
- Lon1
- 0,2545
- Rumo1
- 108,547
- Lat2
- 49,0034
- Lon2
- 2,5735
- Rumo2
- 32,435
- Latitude
- 50,907809
- Longitude
- 4,50841
- Lat antípoda
- -50,907809
- Lon antípoda
- -175,49159
Esta calculadora de interseção de trajeto de grande círculo encontra onde dois cursos esféricos se encontram, quando cada trajeto é definido por uma latitude e longitude de início mais um rumo verdadeiro inicial. Trabalhos de aviação, navegação à vela, e GIS frequentemente descrevem um trajeto como "a partir deste ponto, rumo tal e tal graus", e não como um par de extremos; o mecanismo converte cada ponto mais rumo em um plano de grande círculo na esfera unitária, cruza os planos, e retorna as duas coordenadas de interseção antípodas. A verificação clássica é 51,8853 norte, 0,2545 leste, rumo 108,547 graus, contra 49,0034 norte, 2,5735 leste, rumo 32,435 graus, que resulta perto de 50,9078 norte, 4,5084 leste. A aritmética é geometria vetorial de forma fechada, sem chamadas de rede, sem amostragem e sem atalhos dependentes de data.
Onde a interseção de trajeto se encaixa em navegação, GIS e software
Planejadores encontram esse problema quando duas aerovias, trajetos de radar, ou rumos de vela em uma esfera são especificados a partir de pontos fixos diferentes com cursos diferentes, e alguém precisa do ponto de encontro previsto antes de desenhar uma camada de carta. Professores podem pré-gerar gabaritos para conjuntos modestos de latitude e rumo, sem depender de aplicativos de calculadora opacos que trocam silenciosamente para linhas de rumo ou projeções de carta.
Desenvolvedores chamam o mesmo contrato a partir de scripts para gerar vetores de teste determinísticos para bibliotecas de navegação, validar cursos inseridos por usuários em interfaces de planejamento de voo, ou atender enunciados de desafios de programação que exigem lat e lon, em vez de um esboço aproximado. A prática de competições e provas costuma precisar de uma fonte rápida e offline de coordenadas de interseção, para que as soluções possam ser verificadas sem aviônicos proprietários sob pressão de tempo.
Ferramentas de produto e educação usam a reescrita quando um aprendiz digita dois pontos e rumos, e a interface precisa mostrar tanto a interseção mais próxima quanto sua antípoda, para completude. Combine-a com distância ao longo do trajeto, distância rhumb, ou conversores de coordenadas ao montar um pequeno laboratório de auxiliares geográficos gratuitos e determinísticos.
Casos de uso
Exercícios de planejamento de voo e vela
Encontre onde dois cursos de grande círculo definidos por ponto e rumo se encontram, para pontos fixos de sala de aula, exercícios de aerovia, e QA de carta, sem aviônicos proprietários.
Software de mapa e GIS
Normalize origens e rumos verdadeiros inseridos por usuários em pontos de interseção esférica, para sobreposições de trajeto e demonstrações de ensino.
Perguntas frequentes
Como cada trajeto é definido?
Cada trajeto é um grande círculo fixado por um ponto geográfico (lat, lon) e um rumo verdadeiro inicial em graus, no sentido horário a partir do norte. Você não precisa de um segundo extremo.
Por que existem dois pontos de interseção?
Dois grandes círculos distintos em uma esfera se encontram em um par de antípodas.
Isso é o mesmo que interseção de linha de rumo?
Não. Linhas de rumo mantêm um rumo de carta constante e não são grandes círculos, exceto em casos especiais. Esta ferramenta cruza apenas planos esféricos de grande círculo.
Qual ponto aparece como interseção principal?
O mais próximo do primeiro ponto de partida, ou do segundo se os dois estiverem à mesma distância. O antípoda, o ponto exatamente oposto no globo, também aparece, porque dois grandes círculos sempre se cortam em dois lugares opostos.
Posso escolher quantas casas decimais aparecem no resultado?
Sim. Você pode pedir de 0 a 15 casas decimais para as coordenadas e os rumos do resultado. Se não indicar nada, a ferramenta usa 6 casas decimais.
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/great-circle-intersection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":51.8853,"lon1":0.2545,"bearing1":108.547,"lat2":49.0034,"lon2":2.5735,"bearing2":32.435}'const res = await fetch("https://api.kit.forhosting.com/geo/great-circle-intersection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 51.8853,
"lon1": 0.2545,
"bearing1": 108.547,
"lat2": 49.0034,
"lon2": 2.5735,
"bearing2": 32.435
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/great-circle-intersection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 51.8853,
"lon1": 0.2545,
"bearing1": 108.547,
"lat2": 49.0034,
"lon2": 2.5735,
"bearing2": 32.435
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/great-circle-intersection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":51.8853,"lon1":0.2545,"bearing1":108.547,"lat2":49.0034,"lon2":2.5735,"bearing2":32.435}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":51.8853,"lon1":0.2545,"bearing1":108.547,"lat2":49.0034,"lon2":2.5735,"bearing2":32.435}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/great-circle-intersection", 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.8853,
"lon1": 0.2545,
"bearing1": 108.547,
"lat2": 49.0034,
"lon2": 2.5735,
"bearing2": 32.435
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.great_circle_intersection",
"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
lat_min | -90 |
lat_max | 90 |
lon_min | -180 |
lon_max | 180 |
bearing_min | 0 |
bearing_max | 360 |
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
O que significam dois grandes círculos definidos por ponto e rumo, e o que a resposta contém
Um grande círculo é o caminho mais curto entre pontos em uma esfera, e o trajeto que uma aeronave ou navio segue ao voar um curso puro de grande círculo entre pontos fixos. Quando você conhece apenas um único ponto fixo e o rumo verdadeiro inicial, esse par ainda define todo o grande círculo: os vetores unitários locais de norte e leste no ponto fixo, combinados com o cosseno e o seno do rumo, dão uma direção tangente, e o plano passando pela origem, o ponto fixo, e essa tangente é único. Dois planos assim geralmente se encontram em uma linha que passa pelo centro da Terra; essa linha atravessa a esfera em dois pontos antípodas, os únicos lugares onde ambos os cursos podem se cruzar. Esta calculadora retorna as entradas normalizadas, a latitude e longitude de interseção primária, escolhida como a candidata mais próxima da primeira origem (depois a segunda origem, em caso de empate de distância), a latitude e longitude antípodas, a precisão usada, uma etiqueta de método great_circle_plane_intersection, e um breve lembrete de fórmula. Não há marcha iterativa de raios, nem projeção de carta: o mecanismo constrói vetores unitários finitos e um produto vetorial não nulo das duas normais de plano, ou rejeita a solicitação com invalid_input. Os casos rejeitados incluem coordenadas ou rumos ausentes, valores não finitos, latitudes fora de menos noventa a noventa, longitudes fora de menos cento e oitenta a cento e oitenta, e trajetos paralelos cujos pares ponto-mais-rumo definem o mesmo plano de grande círculo, de modo que não existe interseção única. Se você precisa de encontros de linha de rumo (rhumb-line), distância ao longo do trajeto até um terceiro ponto, ou distância geodésica entre dois extremos, use essas ferramentas dedicadas; esta página responde apenas à interseção esférica de trajeto de grande círculo, com saída numérica estável para planilhas de exercícios, testes unitários e consumidores de API.
Como latitudes, longitudes e rumos são interpretados e mantidos reproduzíveis
Sinais de mais à esquerda opcionais e notação científica em strings numéricas são permitidos quando interpretados como decimais finitos; espaços embutidos, prefixos hexadecimais, e tokens não numéricos são rejeitados com uma mensagem clara, para que uma célula com erro não vire um ponto fixo errado. Os rumos podem ser qualquer real finito, e são normalizados no intervalo semiaberto de zero inclusive a trezentos e sessenta exclusive, então direções negativas e valores acima de um círculo completo mapeiam de forma limpa, sem mudar a geometria. O cálculo converte cada origem em um vetor unitário centrado na Terra, constrói a base local de norte e leste, forma a direção tangente para cada rumo, toma as normais de plano como o produto vetorial de posição e direção, e cruza essas normais; se a magnitude do vetor de interseção resultante estiver em ou abaixo de um épsilon minúsculo, os planos são paralelos e a solicitação falha. Os campos preferidos são lat1 e lon1 com bearing1 para o primeiro trajeto, e lat2 e lon2 com bearing2 para o segundo, mas os aliases, como start1_lat, latitude1, phi1, brng1, course1, heading1, e os nomes correspondentes do segundo trajeto, são aceitos, para que planilhas, strings de consulta e formulários tipados possam reutilizar o mesmo contrato. Um campo opcional precision, com aliases decimals e dp, escolhe quantas casas decimais expor para latitudes, longitudes, e rumos, com padrão de seis e limite de quinze, para que os goldens em JSON permaneçam estáveis.
Onde a interseção de trajeto se encaixa em navegação, GIS e software
Nesta página o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do resto do catálogo tier A do KIT e permite passar de uma demonstração em sala de aula para um pipeline automatizado sem mudar o resultado matemático.
Casos de integração
Fixtures de navegação determinísticas
Gere interseções e antípodas de lat/lon reproduzíveis para testes unitários, verificações de propriedades, e asserções de CI em bibliotecas geográficas.
Perguntas técnicas
Quanto custa a calculadora de interseção de trajeto de grande círculo?
É gratuita no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Quando os trajetos são rejeitados como paralelos?
Quando ambos os pares ponto-e-rumo definem o mesmo plano de grande círculo, as normais dos planos são paralelas, não há interseção única, e a API retorna invalid_input.