ForHosting KIT · Strumenti per sviluppatori

K punti più vicini per distanza ortodromica

Trovi i punti geografici più vicini a una coordinata di ricerca senza configurare un database spaziale.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Indichi latitudine e longitudine, una lista di coordinate candidate e il numero di risultati desiderato. La capacità calcola la distanza di cerchio massimo per ogni candidato, ordina dal più vicino al più lontano e restituisce i primi k elementi con indice originale ed eventuale etichetta. L’ordinamento deterministico è adatto alla ricerca di luoghi, alla preparazione di itinerari, ai controlli di prossimità e a pipeline di dati riproducibili.

Prepari la ricerca e l’elenco dei candidati

Parta da una coordinata di ricerca in gradi decimali e da un elenco compreso tra uno e diecimila punti candidati. La latitudine deve essere tra -90 e 90 e la longitudine tra -180 e 180. Ogni candidato segue le stesse regole e può includere un’etichetta, come il nome di un negozio, il codice di un deposito, un sensore o una città. L’etichetta viene copiata nel risultato, ma non influenza mai la graduatoria. Scelga k come intero positivo non superiore al numero di candidati. Questo contratto esplicito evita ricerche parziali ambigue e segnala subito i record non validi con un errore utile. Mantenga le coordinate nel formato decimale normalmente usato dalle mappe web e dalle esportazioni GPS. Se la fonte usa gradi, minuti e secondi o un sistema proiettato, la converta prima della richiesta. Quando due distanze coincidono, prevale l’ordine originale dell’elenco, così il risultato rimane ripetibile tra esecuzioni e ambienti diversi.

Comprenda la graduatoria di cerchio massimo

Il calcolo rappresenta la Terra come una sfera con raggio medio di 6,371.0088 chilometri. Per ogni candidato applica la relazione di haversine e ricava l’angolo centrale con atan2, mantenendo stabilità sia per tragitti brevissimi sia per punti quasi antipodali. Il valore distance_km viene arrotondato a sei decimali, poi i candidati sono ordinati in senso crescente. È una distanza sulla superficie del globo, non una retta attraverso la Terra, un percorso stradale o una misura in una proiezione locale. Il metodo gestisce naturalmente il cambio di longitudine vicino alla linea internazionale del cambio di data e funziona ai poli. Il modello sferico è adatto a ricerche globali, individuazione, assegnazioni indicative e preselezioni. Per misure ellissoidali di precisione, strade, altitudine, confini o ostacoli, usi questo risultato come prima selezione e applichi poi un calcolo specialistico. L’indice consente di risalire al record originale anche senza un’etichetta univoca.

Inserisca la selezione in un flusso più ampio

Un risultato di vicinanza spesso avvia una decisione anziché concluderla. Un localizzatore può richiedere le cinque filiali più vicine e poi filtrare per orari o disponibilità. Un servizio logistico può preselezionare i depositi prima di inviare pochi candidati a un motore stradale. Un pannello ambientale può associare un’osservazione ai sensori vicini conservando le distanze per i controlli di qualità. Poiché la funzione non usa rete, casualità, stato memorizzato o ora corrente, input identici producono output identici. Ciò semplifica cache, test con esempi fissi e riproduzione di una graduatoria durante un audit. Il limite dichiarato rende prevedibile l’esecuzione: ogni candidato viene misurato una volta e l’insieme limitato viene ordinato. Per raccolte enormi o molto dinamiche è più efficiente un indice spaziale. Per elenchi compatti inviati in ogni richiesta, questa capacità evita la configurazione di indici e restituisce una struttura JSON trasparente, pronta per un’altra attività.

Crei una rosa di filiali

Restituisca negozi o centri vicini prima di filtrare per scorte, orari o disponibilità di appuntamenti.

Associ misurazioni e sensori

Trovi le stazioni di monitoraggio vicine e conservi distanze e indici per verifiche successive.

Prepari i candidati per le rotte

Riduca depositi o tappe ai punti più vicini prima di richiedere calcoli stradali più costosi.

Quanto costa una richiesta?

Ogni richiesta API costa $0.002. Lo stesso calcolo deterministico può essere eseguito anche nel browser.

Quale formula di distanza viene usata?

Viene applicato un calcolo di cerchio massimo basato su haversine, con raggio terrestre medio di 6,371.0088 chilometri.

Come vengono ordinate distanze uguali?

A parità di distanza viene mantenuto l’ordine iniziale tramite gli indici originali a partire da zero.

k può superare il numero di candidati?

No. k deve essere un intero positivo e non può superare il numero di punti forniti.

Viene calcolata la distanza stradale?

No. Il calcolo è sferico e non considera strade, tempi di viaggio, altitudine, confini o ostacoli.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/geo/k-nearest-neighbors

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_items10000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →