Distance d’un itinéraire avec détour par un point intermédiaire
Un itinéraire avec détour relie volontairement un départ à une destination en passant par un point intermédiaire.
Lancer gratuitement
Ce calculateur mesure les deux segments en orthodromie, les additionne pour obtenir la distance complète, puis compare ce total à la distance directe entre les extrémités. Le coût du détour apparaît en distance absolue et en pourcentage. Cet outil convient à la planification, aux estimations aériennes ou maritimes, à la logistique et à toute analyse exigeant une référence géométrique reproductible, sans carte routière ni données de circulation en temps réel.
Ce que mesure le calcul avec détour
L’itinéraire comprend deux segments reliés : du départ au point intermédiaire, puis de ce point à la destination. Le calculateur traite chaque segment comme l’arc le plus court sur une Terre sphérique et les additionne. Il évalue aussi séparément l’arc direct entre départ et destination. La soustraction de cette distance directe au total donne la pénalité du détour ; sa division par la distance directe produit le surcroît en pourcentage. Le total décrit la longueur géométrique prévue, la pénalité quantifie la distance ajoutée et le pourcentage permet de comparer des trajets d’échelles différentes. Les deux segments sont fournis afin de voir si l’étape partage équitablement le voyage. Comme le calcul repose sur des coordonnées et non sur un réseau, il ignore routes, espace aérien réglementé, courants, relief, horaires et circulation. Utilisez-le comme référence cohérente de comparaison ou de présélection, et non comme devis de navigation détaillé.
Saisir les coordonnées et lire le résultat
Indiquez la latitude et la longitude en degrés décimaux pour le départ, l’unique point intermédiaire et la destination. La latitude doit rester entre -90 et 90, et la longitude entre -180 et 180. Respectez leur ordre : la latitude situe l’axe nord-sud et la longitude l’axe est-ouest. Une inversion peut désigner un lieu valide mais erroné. Choisissez les mètres, kilomètres, miles terrestres ou milles marins ; la même unité s’applique à toutes les distances. Vous pouvez régler le nombre de décimales affichées sans modifier le calcul interne. La sphère par défaut emploie le rayon terrestre moyen IUGG de 6,371,008.8 mètres, mais un autre rayon positif est accepté. La pénalité ne doit pas être négative, puisque l’arc direct est le chemin sphérique minimal ; le bruit numérique est neutralisé. Si départ et destination coïncident, le pourcentage n’a pas de dénominateur pertinent. `detour_percent` est alors omis si l’étape crée un déplacement, tandis que toutes les distances absolues restent présentes.
Exploiter le résultat pour planifier
Utilisez ce résultat lorsqu’un trajet doit passer par une plateforme, un contrôle, un ravitaillement, un port de transfert ou une inspection. En logistique, classez les plateformes candidates selon leur pénalité avant d’interroger un service routier plus coûteux. En aviation ou en navigation maritime, les milles marins permettent d’estimer l’effet géométrique d’une étape, sachant que les trajectoires autorisées et la météo ajouteront parfois de la distance. Vous pouvez aussi calculer le surcroît de nombreuses propositions et signaler celles qui dépassent un seuil, par exemple dix pour cent. La réponse déterministe convient aux tests, feuilles de calcul et audits : les mêmes paramètres donnent les mêmes champs. Une requête API coûte $0.002, et l’outil dans le navigateur facilite les essais. Ne déduisez pas directement le temps ou le carburant : vitesse, véhicule, vent, congestion, pente et arrêts interviennent aussi. Injectez plutôt les distances dans votre modèle opérationnel ou utilisez la pénalité comme filtre avant un calcul d’itinéraire tenant compte du réseau réel.
Cas d’usage
Comparer des plateformes logistiques
Mesurez la distance supplémentaire imposée par chaque entrepôt ou plateforme candidate entre un départ et une destination.
Évaluer un contrôle obligatoire
Quantifiez le détour absolu et relatif créé par une inspection, un passage frontalier ou un arrêt technique.
Présélectionner des points aériens ou maritimes
Calculez les deux segments en milles marins avant d’appliquer météo, espace aérien, courants ou contraintes de navigation.
Questions fréquentes
Qu’est-ce qu’un itinéraire avec détour ?
C’est un trajet en deux segments qui relie le départ à la destination en passant par un seul point intermédiaire.
Comment la pénalité du détour est-elle calculée ?
La distance orthodromique directe est soustraite à la somme des segments départ-étape et étape-destination.
S’agit-il d’une distance routière ou d’un plan de vol ?
Non. Le calcul porte sur des arcs sphériques entre coordonnées, sans routes, trajectoires autorisées, relief ni circulation.
Quelles unités de distance sont proposées ?
Vous pouvez demander des mètres (m), kilomètres (km), miles terrestres (mi) ou milles marins (nmi).
Que se passe-t-il si le départ et l’arrivée coïncident ?
La distance directe vaut zéro. Segments, total et pénalité restent fournis ; le pourcentage exige un dénominateur valable.
Quel est le prix d’une requête API ?
Chaque requête API réussie coûte $0.002. Toute entrée invalide est rejetée avant le calcul.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"start_lat": 40.7128,
"start_lon": -74.006,
"waypoint_lat": 41.8781,
"waypoint_lon": -87.6298,
"end_lat": 34.0522,
"end_lon": -118.2437
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.dogleg_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |