Distancia 3D
Esta calculadora de distancia tridimensional combina una distancia horizontal medida sobre el terreno con la diferencia de elevación entre dos puntos.
Ejecutar — gratis
Considera ambas medidas como los catetos perpendiculares de un triángulo rectángulo y devuelve la distancia inclinada directa. Use la misma unidad de longitud en las dos entradas —metros, pies, kilómetros u otra— y el resultado conservará esa unidad. El cálculo es determinista, no requiere coordenadas ni proyección cartográfica y rechaza claramente valores ausentes, no finitos o una distancia horizontal negativa.
Convierta una distancia en planta y un desnivel en distancia inclinada
Un mapa, un plano de obra o una medición de campo suele proporcionar la separación horizontal, mientras que un nivel, un mapa de curvas o un modelo de elevación aporta la diferencia vertical. Esos valores son los componentes perpendiculares de un segmento recto en tres dimensiones. La calculadora aplica el teorema de Pitágoras: eleva al cuadrado la distancia horizontal y el desnivel, suma ambos cuadrados y extrae la raíz. Por ejemplo, 120 metros horizontales y 50 metros de desnivel producen 130 metros de distancia directa. El signo del desnivel no altera la longitud, pues su cuadrado representa igual una subida que una bajada. Aun así, la respuesta conserva el signo para indicar si el segundo punto está por encima o por debajo. Esta función parte de una distancia horizontal ya conocida; no la obtiene de latitud y longitud ni reproduce un camino que siga las irregularidades del terreno. El valor devuelto es la distancia recta entre los puntos definida por las dos mediciones perpendiculares.
Use entradas coherentes e interprete correctamente el resultado
Introduzca horizontal_distance como un número finito no negativo. Indique elevation_difference como la elevación del segundo punto menos la del primero: un valor positivo significa que está más alto y uno negativo, más bajo. Ambas cifras deben compartir unidad. Si la distancia horizontal está en metros y el desnivel en pies, la fórmula se ejecutará, pero el resultado carecerá de significado físico; convierta primero una medida. No se necesita un campo de unidad porque la relación pitagórica es independiente de ella. Con entradas en metros, la salida queda en metros; con pies, en pies. Si el desnivel vale cero, la distancia 3D coincide con la horizontal. Si la distancia horizontal vale cero, el resultado es el valor absoluto del desnivel. La distancia directa nunca puede ser menor que ninguno de sus componentes. La respuesta devuelve las entradas normalizadas, distance_3d y la fórmula para que una aplicación explique el cálculo. Cada elemento correcto mediante API cuesta $0.002; los datos inválidos se rechazan en vez de convertirse en ceros engañosos o valores JSON no numéricos.
Conozca los supuestos geométricos y los límites prácticos
Use la herramienta web para comprobaciones individuales y la API cuando necesite integrar la misma capacidad en un flujo automatizado.
Qué puede hacer con ella
Comprobaciones topográficas
Combine una línea horizontal medida con el cambio de elevación para obtener su distancia inclinada directa.
Estimaciones de cable y tubería
Estime el tramo recto entre extremos separados horizontal y verticalmente antes de añadir márgenes de trazado.
Análisis de tramos de sendero
Compare la distancia en planta con la distancia 3D entre dos puntos cuyas elevaciones inicial y final conoce.
Preguntas frecuentes
¿Qué fórmula se utiliza?
El resultado es la raíz cuadrada de la distancia horizontal al cuadrado más el desnivel al cuadrado.
¿Qué unidades puedo emplear?
Sirve cualquier unidad de longitud si ambas entradas usan la misma. El resultado conserva esa unidad.
¿Puede ser negativo el desnivel?
Sí. Un valor negativo indica que el segundo punto está más bajo; su magnitud contribuye igual que un valor positivo.
¿Es la distancia recorrida sobre el terreno?
No. Es la distancia recta entre los puntos, no la longitud de una ruta sinuosa o una superficie irregular.
¿Puedo usar latitud y longitud?
No directamente. Calcule primero una distancia horizontal adecuada y combínela aquí con el desnivel.
¿Cuánto cuesta un cálculo mediante API?
Cada elemento correcto cuesta $0.002; la calculadora del navegador es gratuita.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"horizontal_distance": 120,
"elevation_difference": 50
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.distance_3d",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |