ForHosting KIT · Viagens e geografia

Pontos k vizinhos mais próximos por distância geodésica

Ordene uma lista de lugares pela distância de círculo máximo a partir de um ponto e fique com os k mais próximos: de (40,4168; -3,7038), os três primeiros de quatro candidatos são Guadalajara a 51,3532 km, Toledo e Segovia. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Encontre os pontos geográficos mais próximos de uma coordenada de consulta sem configurar um banco de dados espacial. Informe latitude e longitude, uma lista de coordenadas candidatas e a quantidade de resultados desejada. A capacidade calcula a distância de grande círculo até cada candidato, classifica do mais próximo ao mais distante e retorna os primeiros k com índices de origem e rótulos opcionais. A ordenação determinística é apropriada para busca de locais, preparação de rotas, verificações de proximidade e pipelines de dados reproduzíveis.

Prepare a consulta e a lista de candidatos

Comece com uma coordenada de consulta em graus decimais e uma lista de um a dez mil pontos candidatos. A latitude deve ficar entre -90 e 90, e a longitude entre -180 e 180. Cada candidato segue as mesmas regras e pode ter um rótulo, como nome de loja, código de depósito, identificador de sensor ou cidade.

O rótulo é copiado para o resultado, mas nunca altera a classificação. Escolha k como inteiro positivo que não ultrapasse a quantidade de candidatos. Esse contrato explícito evita buscas parciais ambíguas e faz registros inválidos falharem cedo com uma mensagem útil.

Use coordenadas no padrão de graus decimais comum em mapas web e exportações GPS. Caso a origem use graus, minutos e segundos ou uma projeção cartográfica, converta-a antes da chamada. Se duas distâncias forem iguais, a ordem original da lista será mantida, garantindo uma saída repetível em diferentes execuções.

Entenda o ranking por grande círculo

O cálculo representa a Terra como uma esfera com raio médio de 6,371.0088 quilômetros. Para cada candidato, aplica a relação de haversine e um cálculo de ângulo central com atan2, estável tanto para trajetos muito curtos quanto para pontos quase opostos. Essa é a distância pela superfície do globo, e não uma linha reta através da Terra, uma rota rodoviária ou uma medida em projeção local.

O método trata naturalmente a mudança de longitude perto da linha internacional de data e funciona nos polos. O modelo esférico atende bem a consultas globais, descoberta, despacho aproximado e formação de listas curtas. Para topografia, distância elipsoidal, estradas, altitude, fronteiras ou obstáculos, use o resultado como pré-seleção e aplique depois um cálculo especializado.

O índice permite relacionar cada vizinho ao registro original mesmo sem rótulo exclusivo.

Use a lista ordenada em um fluxo maior

Um resultado de vizinhos próximos normalmente inicia uma decisão. Um localizador pode solicitar as cinco filiais mais próximas e depois filtrar por horário ou estoque. Um serviço logístico pode selecionar depósitos próximos antes de enviar poucos candidatos a um mecanismo de rotas.

Um painel ambiental pode associar uma observação aos sensores mais próximos e preservar as distâncias para controle de qualidade. Como a função não usa rede, aleatoriedade, estado armazenado nem horário atual, entradas idênticas produzem saídas idênticas. Isso facilita cache, testes com exemplos fixos e reprodução de um ranking em auditorias.

O limite declarado mantém o processamento previsível: cada candidato é medido uma vez e o conjunto limitado é ordenado. Para coleções muito grandes ou alteradas com frequência, um índice espacial ou banco de dados é mais eficiente.

Monte uma lista de filiais

Retorne lojas ou centros de atendimento próximos antes de filtrar por estoque, horário ou disponibilidade.

Associe leituras a sensores

Encontre estações de monitoramento próximas e preserve distâncias e índices para validação posterior.

Prepare candidatos de rota

Reduza uma lista de depósitos ou pontos aos mais próximos antes de solicitar rotas rodoviárias mais caras.

Quanto custa uma solicitação?

O mesmo cálculo determinístico também pode ser executado no navegador.

Qual fórmula de distância é usada?

É usado um cálculo de grande círculo baseado em haversine, com raio médio da Terra de 6,371.0088 quilômetros.

Como distâncias iguais são ordenadas?

Empates preservam a ordem original dos candidatos por meio dos índices de origem iniciados em zero.

k pode superar a lista de candidatos?

Não. k deve ser um inteiro positivo e não pode ser maior que a quantidade de pontos informados.

A ferramenta calcula distância rodoviária?

Não. Ela calcula distância esférica e não considera estradas, tempo de viagem, altitude, fronteiras ou obstáculos.

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/k-nearest-neighbors

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/k-nearest-neighbors \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":40.4168,"lon":-3.7038,"points":[{"label":"Toledo","lat":39.8628,"lon":-4.0273},{"label":"Segovia","lat":40.9429,"lon":-4.1088},{"label":"Guadalajara","lat":40.6337,"lon":-3.1674}],"k":2}'
{
  "lat": 40.4168,
  "lon": -3.7038,
  "points": [
    {
      "label": "Toledo",
      "lat": 39.8628,
      "lon": -4.0273
    },
    {
      "label": "Segovia",
      "lat": 40.9429,
      "lon": -4.1088
    },
    {
      "label": "Guadalajara",
      "lat": 40.6337,
      "lon": -3.1674
    }
  ],
  "k": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.k_nearest_neighbors",
  "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.

max_items10000
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.

Entenda o ranking por grande círculo

O valor distance_km é arredondado para seis casas decimais e os candidatos são ordenados de forma crescente.

Use a lista ordenada em um fluxo maior

Para listas compactas enviadas por solicitação, esta capacidade dispensa configuração de índice e retorna uma estrutura JSON transparente, pronta para outra tarefa.

Ver a documentação completa do KIT →