Calcolatore distanza Vincenty
Da 50,06638889, -5,71472222 a 58,64388889, -3,07 la distanza ellissoidica è di 969,9329875586 km, con una rotta iniziale di 9,1423286009°. Inserisca due punti in gradi decimali per un risultato che tiene conto dello schiacciamento della Terra. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Lat. 1
- 50,06638889
- Lon. 1
- -5,71472222
- Lat. 2
- 58,64388889
- Lon. 2
- -3,07
- Distanza m
- 969.932,9875585939
- Distanza km
- 969,9329875586
- Azimut iniziale °
- 9,1423286009
- Azimut finale °
- 11,2977211188
La distanza inversa di Vincenty risponde a una domanda di rilievo e navigazione che una semplice formula sferica lascia leggermente sbagliata su percorsi lunghi: quanto misura il cammino geodetico di superficie tra due coordinate geodetiche sul vero ellissoide WGS-84, non su una sfera media? Ingegneri GIS, topografi, pianificatori aeronautici e piattaforme logistiche usano quella lunghezza ellissoidica quando le proiezioni cartografiche sono eccessive ma la coerenza a scala di metri conta ancora tra continenti. Le coppie quasi antipodali che rifiutano di convergere falliscono con un errore chiaro di ingresso non valido invece di inventare una distanza. Le coordinate fuori intervallo sono rifiutate allo stesso modo.
Cosa misura la distanza Vincenty e come fornire i due punti
Il problema inverso di Vincenty parte da due latitudini e longitudini geodetiche su uno sferoide schiacciato e risolve la lunghezza del cammino di superficie più breve che resta su quell’ellissoide, insieme all’azimut diretto al primo punto e all’azimut inverso al secondo. A differenza dell’haversine su una sfera di raggio fisso, l’iterazione tiene conto dello schiacciamento terrestre tramite latitudini ridotte e un aggiornamento di differenza di longitudine finché il residuo di longitudine scende sotto una tolleranza stretta.
La latitudine deve stare tra meno novanta e novanta inclusi; la longitudine tra meno centottanta e centottanta inclusi. Punti coincidenti restituiscono distanza zero con azimut zero e iterazioni zero senza entrare nel ciclo.
Casi d'uso
Controlli di distanza topografici e catastali
Confronti estremi GPS di campo con una lunghezza geodetica ellissoidica in metri per tratti di confine e QA di rete di controllo senza avviare un GIS desktop completo.
Pianificazione di rotte a lunga distanza
Stimi la vera distanza di superficie WGS-84 e l’azimut iniziale tra due aeroporti o porti quando un haversine sferico lascerebbe un bias piccolo ma sistematico.
Domande frequenti
È la stessa cosa della distanza haversine?
No. Haversine assume una sfera. Vincenty modella l’ellissoide WGS-84 con schiacciamento, quindi le geodetiche lunghe sono più accurate per rilievo e lavoro intercontinentale.
Il calcolatore di distanza Vincenty è gratuito?
Lo strumento browser gira gratis sul Suo dispositivo.
Che differenza c'è tra rotta iniziale e rotta finale?
La rotta iniziale è la direzione con cui lascia il primo punto, misurata in senso orario dal nord vero. Quella finale è la direzione con cui arriva al secondo. Su un percorso lungo le due differiscono: nell'esempio sono 9,1423286009° e 11,2977211188°.
Che cosa succede se inserisco due volte lo stesso punto?
Ottiene una distanza pari a zero, entrambe le rotte a zero e zero iterazioni. Il calcolo riconosce subito i punti coincidenti, senza avviare il metodo iterativo.
Che cosa succede con punti quasi agli antipodi?
Con punti quasi opposti sul globo il metodo può non arrivare a una soluzione stabile. In quel caso riceve un errore chiaro invece di una distanza inventata.
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/vincenty-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":50.06638889,"lon1":-5.71472222,"lat2":58.64388889,"lon2":-3.07}'const res = await fetch("https://api.kit.forhosting.com/geo/vincenty-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 50.06638889,
"lon1": -5.71472222,
"lat2": 58.64388889,
"lon2": -3.07
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/vincenty-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 50.06638889,
"lon1": -5.71472222,
"lat2": 58.64388889,
"lon2": -3.07
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/vincenty-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":50.06638889,"lon1":-5.71472222,"lat2":58.64388889,"lon2":-3.07}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":50.06638889,"lon1":-5.71472222,"lat2":58.64388889,"lon2":-3.07}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/vincenty-distance", 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
{
"lat1": 50.06638889,
"lon1": -5.71472222,
"lat2": 58.64388889,
"lon2": -3.07
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.vincenty_distance",
"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.
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
Questa capacità prende due coppie di latitudine e longitudine, esegue l’iterazione classica di Vincenty con semiasse maggiore e schiacciamento WGS-84 fissi, e restituisce metri, chilometri e azimut iniziale e finale come JSON deterministico.
Cosa misura la distanza Vincenty e come fornire i due punti
Invii i campi obbligatori lat1 e lon1 per il primo punto WGS-84 e lat2 e lon2 per il secondo, tutti in gradi decimali. Alias come from_lat, to_lat, from_lon, to_lon, latitude1 e longitude1 sono accettati quando il client usa già quei nomi. Qualsiasi coordinata fuori da quegli intervalli solleva invalid_input con un messaggio che nomina il campo e il limite, così i chiamanti non ritagliano mai in silenzio un rumore GPS cattivo in una geodetica falsa. Entrate identiche producono sempre lo stesso JSON perché il percorso è aritmetica pura con costanti WGS-84 fisse, senza orologio di parete e senza servizio mappe esterno.
Lettura di metri, chilometri, azimut, iterazioni e convergenza
Preferisca i metri per corridoi di rilievo e lavoro a scala di pista; preferisca i chilometri per tratte interurbane e oceaniche. In caso di successo la risposta ecoa ogni coordinata di ingresso, poi distance_m e distance_km come lunghezza geodetica ellissoidica. initial_bearing_deg è l’azimut diretto al primo punto misurato in senso orario dal nord vero sull’intervallo da zero a trecentosessanta; final_bearing_deg è l’azimut inverso corrispondente al secondo punto dopo l’arrivo della geodetica. iterations conta quante aggiornamenti di longitudine ha servito il solver prima che il residuo scendesse sotto l’epsilon pubblicato, il che aiuta a diagnosticare coppie limite senza rifare il ciclo a mano. ellipsoid è sempre la stringa WGS-84, a_m è il semiasse maggiore in metri e f è lo schiacciamento, così il codice a valle può affermare il datum senza codificare costanti in ogni client. method è sempre vincenty_inverse e converged è true su ogni risposta riuscita. Quando due punti sono quasi antipodali l’iterazione classica può non stabilizzarsi mai; il motore si ferma a un tetto rigido di iterazioni e solleva invalid_input con un messaggio che nomina il fallimento quasi antipodale invece di restituire una distanza a metà. I fallimenti di validazione per campi mancanti, numeri non finiti e coordinate fuori intervallo falliscono pure in modo chiuso e non sono addebitati sotto l’API prepagata.
Uso API, prezzi, flussi GIS e limiti pratici
Invii un corpo JSON con le quattro coordinate obbligatorie, poi usi il calcolatore gratuito di distanza Vincenty nel browser per demo in aula, controlli di carta e verifica mentale rapida senza installare PROJ, GeographicLib o un GIS completo. Usi l’API prepagata quando una piattaforma logistica, uno strumento di pianificazione di volo, un flusso catastale o un harness di simulazione necessita di un contratto stabile sotto saldo KIT a $0.002 per elemento riuscito; i fallimenti di validazione e le antipodi non convergenti non consumano mai il saldo dopo il rifiuto del motore. Abbini questo endpoint al Suo geocoder quando servono nomi di luogo: questo prodotto misura solo geometria sull’ellissoide WGS-84. Per separazioni continentali ordinarie Vincenty è accurato a ben meno di un metro rispetto alle librerie geodetiche moderne; per la fascia sottile di casi quasi antipodali in cui l’iterazione del 1975 diverge, passi a un solver antipodale specializzato o a una geodetica in stile Karney piuttosto che forzare questo endpoint. Gli autori di SDK possono mappare distance_m e initial_bearing_deg direttamente in schede di percorso e test unitari — gli stessi numeri che gli studenti vedono lavorando un esempio di rilievo da coppie lat-lon pubblicate.
Casi di integrazione
Oracoli di geodesia in aula ed esami
Gli studenti risolvono a mano le coppie del foglio Vincenty; i correttori fissano JSON deterministico di distanza e azimut con gli stessi valori lat/lon del problema.
Domande tecniche
Come si calcola la distanza Vincenty tra due punti?
Invii JSON con lat1, lon1, lat2 e lon2 in gradi decimali. La risposta include distance_m, distance_km, initial_bearing_deg e final_bearing_deg sull’ellissoide WGS-84.
Cosa succede per punti quasi antipodali?
L’iterazione classica di Vincenty può non convergere. Questa capacità si ferma dopo un limite rigido di iterazioni e solleva invalid_input; quelle richieste non sono addebitate.
Quali datum e costanti sono usati?
Sempre WGS-84: semiasse maggiore a = 6378137 m e schiacciamento f = 1/298.257223563. La risposta ecoa ellipsoid, a_m e f a ogni successo.