Matrice delle distanze tra punti geografici
Inserisca fino a 200 punti e ottenga tutte le distanze ortodromiche tra ogni coppia, in chilometri, in una tabella: tre punti danno una griglia 3 × 3 con zeri sulla diagonale e ogni distanza speculare. Righe e colonne seguono il suo ordine. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Il calcolatore della matrice delle distanze trasforma un elenco ordinato di coordinate di latitudine e longitudine in tutte le distanze di cerchio massimo, espresse in chilometri. È adatto alla preparazione di percorsi, al raggruppamento di luoghi e all’analisi di prossimità prima di scegliere gli itinerari. Il risultato mantiene l’ordine di ingresso, inserisce zeri sulla diagonale e riporta ogni distanza nella posizione speculare. Non consulta servizi esterni e restituisce sempre lo stesso risultato per le stesse coordinate.
Disponga le coordinate nell’ordine richiesto
Invii da due a 200 punti, ciascuno con <code>lat</code> e <code>lon</code> numeriche in gradi decimali. La latitudine deve essere compresa tra -90 e 90, mentre la longitudine deve rientrare tra -180 e 180. La posizione di ogni punto nell’elenco determina la rispettiva riga e colonna, quindi stabilisca un ordine coerente prima del calcolo.
Se il deposito è al primo posto e le consegne seguono, la riga zero contiene le distanze dal deposito alle fermate e la colonna zero gli stessi valori in senso inverso. Lo strumento non riordina, unisce, geocodifica o etichetta i punti. Conservi i Suoi identificatori insieme all’elenco e li associ mediante l’indice.
Le coordinate duplicate sono ammesse e generano correttamente una distanza zero, anche quando appartengono a record commerciali distinti. Verifichi la fonte dei dati, soprattutto nei fogli di calcolo in cui latitudine e longitudine potrebbero essere state scambiate.
Comprenda il calcolo della matrice simmetrica
Ogni coppia unica viene valutata con la formula di Haversine e un raggio terrestre medio di 6,371.0088 chilometri. La formula misura l’arco più breve su una Terra sferica, cioè la distanza di cerchio massimo. L’implementazione calcola soltanto il triangolo superiore, copia ciascun valore nella posizione speculare e imposta la diagonale esattamente a zero.
In questo modo garantisce la simmetria senza ripetere operazioni in virgola mobile che potrebbero differire nell’ultima cifra decimale. La distanza di cerchio massimo è geografica e in linea d’aria, non un percorso stradale, pedonale, ferroviario o marittimo. Non considera rilievi, divieti di accesso, sensi unici, ponti o confini.
La utilizzi come matrice analitica, euristica iniziale o filtro preliminare. Per tempi effettivi o distanze percorribili, invii successivamente le coppie selezionate a un servizio di instradamento stradale.
Utilizzi il risultato in modo consapevole
Poiché la distanza geografica non ha direzione, l’elemento inverso è identico. La struttura può alimentare algoritmi di clustering, scelta del vicino più prossimo, alberi ricoprenti minimi, confronti tra strutture o una prima euristica del commesso viaggiatore. Lo spazio cresce quadraticamente: 200 punti producono 40,000 celle numeriche, motivo del limite rigido.
Per raccolte più ampie, divida i dati in regioni significative o calcoli solo le coppie necessarie. Un ottimizzatore può trattare l’output come matrice dei costi, ma non deve dedurne la presenza di una strada. Conservi le coordinate originali ordinate con il risultato per rintracciare gli indici.
Casi d'uso
Avviare un’euristica di percorso
Crei la tabella geografica completa richiesta dagli algoritmi del vicino più prossimo o di inserimento prima delle rotte stradali.
Confrontare strutture candidate
Misuri tutte le separazioni tra magazzini e destinazioni in un’unica matrice ordinata per l’analisi delle sedi.
Raggruppare fermate vicine
Usi le distanze in chilometri come input deterministico per flussi di clustering per soglia, grafo o prossimità.
Domande frequenti
Sono distanze di guida?
No. Sono distanze di cerchio massimo su una Terra sferica e non seguono strade o limitazioni di viaggio.
Quale unità usa la matrice?
Tutti i valori sono espressi in chilometri e la risposta riporta esplicitamente l’unità.
Perché la matrice è simmetrica?
La distanza dal punto A al punto B coincide con quella da B ad A, quindi le celle speculari sono uguali.
Quanti punti posso inviare?
Ogni richiesta accetta da due a 200 punti. Il limite contiene il calcolo quadratico e la dimensione della risposta.
Quale formula e quale raggio terrestre vengono usati?
La formula dell'emisenoverso (haversine) su una sfera con raggio medio di 6371,0088 km. Misura l'arco più breve tra due punti, cioè la distanza ortodromica in linea d'aria.
Strumenti correlati
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/geo/distance-matrix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points":[{"lat":40.7128,"lon":-74.006},{"lat":51.5074,"lon":-0.1278},{"lat":35.6762,"lon":139.6503}]}'const res = await fetch("https://api.kit.forhosting.com/geo/distance-matrix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 51.5074,
"lon": -0.1278
},
{
"lat": 35.6762,
"lon": 139.6503
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/distance-matrix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 51.5074,
"lon": -0.1278
},
{
"lat": 35.6762,
"lon": 139.6503
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/distance-matrix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points":[{"lat":40.7128,"lon":-74.006},{"lat":51.5074,"lon":-0.1278},{"lat":35.6762,"lon":139.6503}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points":[{"lat":40.7128,"lon":-74.006},{"lat":51.5074,"lon":-0.1278},{"lat":35.6762,"lon":139.6503}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/distance-matrix", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"points": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 51.5074,
"lon": -0.1278
},
{
"lat": 35.6762,
"lon": 139.6503
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.distance_matrix",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_items | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Comprenda il calcolo della matrice simmetrica
I risultati sono arrotondati a sei decimali per ottenere JSON stabile.
Utilizzi il risultato in modo consapevole
La risposta comprende <code>point_count</code>, l’unità fissa <code>km</code> e <code>distances_km</code> come matrice quadrata. L’elemento <code>distances_km[i][j]</code> indica la distanza dal punto <code>i</code> al punto <code>j</code>. Essendo puro e privo di rete, il calcolo è riproducibile con JSON identico.
Domande tecniche
Quanto costa una richiesta?
Il prezzo dell’API è $0.002 per richiesta. La versione nel browser può essere eseguita localmente senza chiamare l’API.