ForHosting KIT · Ferramentas para dev

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

Encontre os pontos geográficos mais próximos de uma coordenada de consulta sem configurar um banco de dados espacial.

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

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. O valor distance_km é arredondado para seis casas decimais e os candidatos são ordenados de forma crescente. 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. Para listas compactas enviadas por solicitação, esta capacidade dispensa configuração de índice e retorna uma estrutura JSON transparente, pronta para outra tarefa.

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?

Cada solicitação de API custa US$ 0,002. 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.

Ver a documentação completa do KIT →