Distanza del percorso con deviazione e tappa intermedia
Un percorso deviato collega intenzionalmente una partenza alla destinazione passando per un punto intermedio.
Esegui gratis nel browser
Questo calcolatore misura i due tratti di cerchio massimo, li somma per ottenere la distanza complessiva e confronta il totale con la distanza diretta fra gli estremi. Il costo della deviazione viene espresso sia come distanza assoluta sia come percentuale. È utile per pianificare itinerari, stimare percorsi aerei o marittimi, analizzare la logistica e svolgere qualsiasi valutazione che richieda un riferimento geometrico riproducibile senza mappe stradali o dati sul traffico in tempo reale.
Che cosa misura il calcolo del percorso deviato
Il percorso comprende due segmenti collegati: dalla partenza al punto intermedio e da questo alla destinazione. Il calcolatore valuta ogni segmento come l’arco più breve su una Terra sferica e li somma per ricavare la distanza totale. Calcola inoltre l’arco diretto fra partenza e destinazione. Sottraendo la distanza diretta dal totale si ottiene la penalità della deviazione; dividendo la differenza per la distanza diretta si ricava l’aumento percentuale. Il totale mostra la lunghezza geometrica prevista, la penalità quantifica la distanza aggiunta e la percentuale permette di confrontare viaggi di diversa scala. I due tratti separati indicano se la tappa divide il percorso in modo equilibrato. Poiché il metodo usa coordinate e non una rete di trasporto, non considera strade, spazio aereo vietato, correnti, rilievi, orari o traffico. Lo usi come riferimento coerente per confronti e selezioni preliminari, non come preventivo di navigazione passo per passo.
Come inserire le coordinate e leggere l’output
Inserisca latitudine e longitudine in gradi decimali per partenza, unico punto intermedio e destinazione. La latitudine deve essere compresa fra -90 e 90, la longitudine fra -180 e 180. Mantenga l’ordine corretto: la latitudine esprime la posizione nord-sud e la longitudine quella est-ovest. Invertirle può identificare un luogo valido ma indesiderato. Scelga metri, chilometri, miglia terrestri o miglia nautiche; la stessa unità vale per tutte le distanze. Può impostare le cifre decimali visualizzate senza modificare il calcolo interno. La sfera predefinita usa il raggio terrestre medio IUGG di 6,371,008.8 metri, ma accetta un altro raggio positivo. La penalità non deve risultare negativa, perché l’arco diretto è il cammino sferico minimo; il rumore numerico viene eliminato. Se partenza e destinazione coincidono, manca un denominatore utile. Quando la tappa genera movimento, `detour_percent` viene omesso, mentre restano disponibili tratti, totale e penalità assoluti.
Come usare il risultato nella pianificazione
Usi il risultato quando il viaggio deve passare per un centro logistico, un controllo, un rifornimento, un porto di trasferimento o un’ispezione. In logistica può confrontare i centri candidati in base alla penalità prima di interrogare un servizio stradale più costoso. In aviazione o navigazione, le miglia nautiche consentono di stimare l’effetto geometrico di una tappa, ricordando che rotte autorizzate e meteo possono aggiungere altra distanza. Gli analisti possono anche calcolare l’aumento percentuale di molte proposte e segnalare quelle oltre una soglia, per esempio dieci per cento. La risposta deterministica è adatta a test, fogli di calcolo e audit: gli stessi dati producono gli stessi campi. Una richiesta API costa $0.002; la versione nel browser facilita le prove. Non trasformi questa distanza da sola in tempo o carburante, che dipendono anche da velocità, mezzo, vento, congestione, pendenza e soste. Inserisca i tratti nel modello operativo oppure usi la penalità come filtro trasparente prima di richiedere indicazioni basate sulla rete reale.
Casi d'uso
Confrontare centri di distribuzione
Misuri la distanza aggiuntiva introdotta da ogni magazzino o centro di trasferimento candidato fra origine e destinazione.
Valutare un controllo obbligatorio
Quantifichi la deviazione assoluta e percentuale causata da un’ispezione, un confine o una sosta tecnica.
Selezionare punti aerei o marittimi
Calcoli i due tratti in miglia nautiche prima di applicare meteo, spazio aereo, correnti o vincoli di navigazione.
Domande frequenti
Che cos’è un percorso deviato?
È un viaggio in due tratti dalla partenza alla destinazione attraverso un unico punto intermedio.
Come viene calcolata la penalità della deviazione?
La distanza diretta di cerchio massimo viene sottratta dalla somma dei tratti partenza-tappa e tappa-destinazione.
Calcola la distanza stradale o di un piano di volo?
No. Calcola archi sferici fra coordinate, senza strade, rotte autorizzate, rilievi o traffico.
Quali unità di distanza sono disponibili?
Può richiedere metri (m), chilometri (km), miglia terrestri (mi) o miglia nautiche (nmi).
Cosa accade se partenza e destinazione coincidono?
La distanza diretta è zero. Tratti, totale e penalità restano disponibili; la percentuale richiede un denominatore valido.
Quanto costa una richiesta API?
Ogni richiesta API completata costa $0.002. Gli input non validi vengono respinti prima del calcolo.
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/dogleg-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_lat":40.7128,"start_lon":-74.006,"waypoint_lat":41.8781,"waypoint_lon":-87.6298,"end_lat":34.0522,"end_lon":-118.2437}'const res = await fetch("https://api.kit.forhosting.com/geo/dogleg-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_lat": 40.7128,
"start_lon": -74.006,
"waypoint_lat": 41.8781,
"waypoint_lon": -87.6298,
"end_lat": 34.0522,
"end_lon": -118.2437
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/dogleg-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_lat": 40.7128,
"start_lon": -74.006,
"waypoint_lat": 41.8781,
"waypoint_lon": -87.6298,
"end_lat": 34.0522,
"end_lon": -118.2437
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/dogleg-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_lat":40.7128,"start_lon":-74.006,"waypoint_lat":41.8781,"waypoint_lon":-87.6298,"end_lat":34.0522,"end_lon":-118.2437}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_lat":40.7128,"start_lon":-74.006,"waypoint_lat":41.8781,"waypoint_lon":-87.6298,"end_lat":34.0522,"end_lon":-118.2437}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/dogleg-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
{
"start_lat": 40.7128,
"start_lon": -74.006,
"waypoint_lat": 41.8781,
"waypoint_lon": -87.6298,
"end_lat": 34.0522,
"end_lon": -118.2437
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.dogleg_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. |