Distance 3D
Ce calculateur de distance tridimensionnelle combine une distance horizontale mesurée au sol et la différence d’altitude entre deux points.
Lancer gratuitement
Il considère ces mesures comme les côtés perpendiculaires d’un triangle rectangle et fournit la distance inclinée directe. Utilisez la même unité de longueur pour les deux entrées — mètres, pieds, kilomètres ou autre — afin d’obtenir un résultat dans cette unité. Le calcul est déterministe, ne demande ni coordonnées ni projection cartographique, et rejette clairement les valeurs absentes, non finies ou une distance horizontale négative.
Convertissez une distance en plan et un dénivelé en distance inclinée
Une carte, un plan de chantier ou un relevé de terrain indique souvent la séparation horizontale, tandis qu’un niveau, une carte de courbes ou un modèle d’élévation donne la différence verticale. Ces deux valeurs forment les composantes perpendiculaires d’un segment droit en trois dimensions. Le calculateur applique le théorème de Pythagore : il élève au carré la distance horizontale et le dénivelé, additionne les carrés puis extrait la racine. Par exemple, 120 mètres à l’horizontale et 50 mètres de dénivelé donnent une distance directe de 130 mètres. Le signe du dénivelé ne modifie pas la longueur, puisque le carré fait contribuer de façon identique une montée et une descente égales. La réponse conserve néanmoins ce signe afin d’indiquer si le second point est plus haut ou plus bas. Cette fonction suppose que la distance horizontale est déjà connue. Elle ne la déduit pas de la latitude et de la longitude et ne modélise pas un trajet épousant le relief. Le résultat correspond au segment droit entre les points défini par les deux mesures perpendiculaires.
Choisissez des entrées cohérentes et interprétez bien le résultat
Saisissez horizontal_distance sous la forme d’un nombre fini positif ou nul. Définissez elevation_difference comme l’altitude du second point moins celle du premier : une valeur positive indique qu’il est plus haut, une valeur négative qu’il est plus bas. Les deux nombres doivent employer la même unité. Si la distance horizontale est en mètres et le dénivelé en pieds, la formule s’exécutera mais le résultat n’aura aucun sens physique ; convertissez d’abord l’une des mesures. Aucun champ d’unité n’est nécessaire, car la relation de Pythagore ne dépend pas de l’unité. Des entrées en mètres produisent des mètres, et des entrées en pieds produisent des pieds. Si le dénivelé vaut zéro, la distance 3D égale la distance horizontale. Si la distance horizontale vaut zéro, le résultat est la valeur absolue du dénivelé. La réponse reprend les entrées normalisées, fournit distance_3d et mentionne la formule. Chaque élément valide par API coûte $0.002 ; les entrées incorrectes sont rejetées plutôt que transformées en zéros trompeurs ou valeurs JSON non numériques.
Tenez compte des hypothèses géométriques et des limites pratiques
Utilisez l’outil web pour les vérifications ponctuelles et l’API pour intégrer la même capacité à un flux automatisé.
Cas d’usage
Contrôles topographiques
Associez une ligne horizontale mesurée au changement d’altitude pour obtenir sa distance inclinée directe.
Estimations de câbles et conduites
Estimez la liaison droite entre des extrémités séparées horizontalement et verticalement avant d’ajouter les marges de cheminement.
Analyse de portions de randonnée
Comparez la distance en plan à la distance 3D entre deux points dont les altitudes de départ et d’arrivée sont connues.
Questions fréquentes
Quelle formule est utilisée ?
Le résultat est la racine carrée de la distance horizontale au carré plus le dénivelé au carré.
Quelles unités puis-je employer ?
Toute unité de longueur convient si les deux entrées utilisent la même. Le résultat conserve cette unité.
Le dénivelé peut-il être négatif ?
Oui. Une valeur négative signifie que le second point est plus bas ; sa grandeur contribue comme celle d’une valeur positive.
S’agit-il de la distance parcourue sur le terrain ?
Non. Il s’agit du segment droit entre deux points, et non de la longueur d’un trajet sinueux ou d’une surface accidentée.
Puis-je utiliser la latitude et la longitude ?
Pas directement. Calculez d’abord une distance horizontale appropriée, puis associez-la ici au dénivelé.
Combien coûte un calcul par API ?
Chaque élément valide coûte $0.002 ; le calculateur du navigateur est gratuit.
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/distance-3d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"horizontal_distance":120,"elevation_difference":50}'const res = await fetch("https://api.kit.forhosting.com/geo/distance-3d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"horizontal_distance": 120,
"elevation_difference": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/distance-3d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"horizontal_distance": 120,
"elevation_difference": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/distance-3d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"horizontal_distance":120,"elevation_difference":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"horizontal_distance":120,"elevation_difference":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/distance-3d", 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
{
"horizontal_distance": 120,
"elevation_difference": 50
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.distance_3d",
"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. |