Distancia mediante la ley esférica de cosenos
La calculadora de distancia mediante la ley esférica de cosenos obtiene el trayecto más corto sobre una Tierra esférica entre dos puntos de latitud y longitud.
Ejecutar — gratis
Introduzca ambos pares de coordenadas en grados decimales para recibir el ángulo central y la distancia en kilómetros, millas y metros. Es una alternativa compacta a la fórmula del semiverseno y resulta práctica en cálculos, hojas de cálculo, clases e implementaciones. Los resultados emplean un radio terrestre medio fijo, por lo que cada solicitud es determinista y reproducible.
Introduzca e interprete los pares de coordenadas
Indique la latitud y longitud del origen como lat1 y lng1, y las del destino como lat2 y lng2. Use grados decimales: la latitud admite de -90 a 90 y la longitud, de -180 a 180. Los valores negativos señalan el hemisferio sur o posiciones al oeste de Greenwich. El resultado incluye el ángulo central y la distancia en kilómetros, millas y metros. Se trata del arco menor sobre la esfera, no de una línea que atraviesa la Tierra. Invertir los puntos conserva la distancia. Revise el orden, pues intercambiar latitud y longitud puede identificar otro lugar aunque los números sean válidos. Mantenga suficientes decimales para la precisión espacial que necesite.
Cómo funciona la ley esférica de cosenos
El método convierte las latitudes y la diferencia de longitudes de grados a radianes. Después calcula el coseno del ángulo central multiplicando los senos de ambas latitudes y sumando el producto de sus cosenos por el coseno de la diferencia longitudinal. El arcocoseno proporciona la separación angular en el centro terrestre. Al multiplicarla por el radio medio fijo de 6,371 kilómetros se obtiene la distancia superficial. También se convierte a metros y millas terrestres. Para evitar NaN por pequeños errores de coma flotante cerca de puntos coincidentes o antípodas, el valor intermedio se limita al intervalo válido de -1 a 1. El redondeo estable facilita comparaciones reproducibles. La fórmula considera la Tierra una esfera, no un elipsoide.
Elija este método para la precisión adecuada
Utilice este cálculo para enseñanza, comparaciones geográficas rápidas, resúmenes cartográficos, estimaciones de rutas y comprobaciones de datos cuando una aproximación esférica sea suficiente. Su identidad trigonométrica compacta resulta sencilla de auditar. En separaciones extremadamente pequeñas, el arcocoseno puede perder precisión porque el coseno se aproxima mucho a uno; en ese caso suele preferirse el semiverseno. Para topografía, límites legales o navegación de alta precisión, use un método elipsoidal como Vincenty o una biblioteca geodésica moderna. El resultado tampoco incorpora relieve, carreteras, edificios, zonas restringidas ni procedimientos aéreos: mide una separación superficial ideal, no un itinerario. Al comparar herramientas, compruebe el radio empleado, ya que radios esféricos distintos producen resultados ligeramente diferentes.
Qué puede hacer con ella
Comprobar datos geográficos
Calcule una separación esférica reproducible entre coordenadas al validar ubicaciones o detectar coincidencias demasiado lejanas.
Enseñar geometría de círculo máximo
Muestre la relación entre latitud, diferencia longitudinal, ángulo central y longitud de arco mediante una identidad trigonométrica compacta.
Estimar el alcance entre puntos
Obtenga una distancia aproximada rápida para mapas, paneles, filtros logísticos o comparaciones de viajes sin geometría de rutas.
Preguntas frecuentes
¿Cuánto cuesta el cálculo?
El precio de la API es de $0.002 por solicitud. La calculadora del navegador es gratuita en esta página.
¿Qué radio terrestre utiliza?
Utiliza un radio terrestre medio fijo de 6,371 kilómetros para ofrecer resultados esféricos deterministas.
¿Es igual que la fórmula del semiverseno?
No. Ambas estiman distancias de círculo máximo sobre una esfera, pero usan formas trigonométricas distintas. El semiverseno suele comportarse mejor a distancias diminutas.
¿El resultado sigue carreteras o rutas aéreas?
No. Es el arco ideal más corto sobre la esfera y no incluye restricciones de ruta, relieve ni desvíos operativos.
¿Por qué puede discrepar otra calculadora?
Puede emplear otro radio, un modelo elipsoidal, un redondeo diferente o una ruta real en lugar del arco de círculo máximo.
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/law-of-cosines-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}'const res = await fetch("https://api.kit.forhosting.com/geo/law-of-cosines-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/law-of-cosines-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/law-of-cosines-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/law-of-cosines-distance", 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
{
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.law_of_cosines_distance",
"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. |