Visibilidad entre puntos sobre un perfil del terreno
La prueba de visibilidad entre puntos determina si un objetivo puede verse desde un observador a lo largo de un perfil del terreno proporcionado.
Ejecutar — gratis
Traza una línea recta entre las elevaciones del observador y del objetivo, incluidas sus alturas sobre el suelo, y compara con ella cada muestra intermedia del terreno. El resultado indica si el objetivo es visible, identifica el punto con menor despeje y comunica allí el despeje vertical con signo. Así, el cálculo resulta transparente y repetible para topografía, planificación radioeléctrica, evaluación de emplazamientos y análisis cartográfico del relieve.
Prepare un perfil ordenado del terreno
Proporcione las muestras del terreno en el orden del recorrido desde el observador hasta el objetivo. La primera distancia debe ser cero, cada distancia posterior debe superar a la anterior y la última muestra representa la ubicación del objetivo. Puede usar metros, pies u otra unidad lineal para distancias y elevaciones, pero todos los valores deben compartir la misma unidad, ya que el cálculo los compara directamente. Añada la altura del observador y la del objetivo como distancias sobre sus respectivas elevaciones del suelo. La altura del observador puede representar el nivel de los ojos, el centro de una antena o un instrumento sobre trípode. La altura del objetivo puede corresponder a una persona, un mástil, una estructura o ser cero si desea evaluar el propio punto del suelo. Incluya muestras en cambios de pendiente y máximos locales siempre que sea posible. La prueba solo evalúa el perfil recibido; no inventa ni infiere una cresta situada entre muestras muy separadas. Por tanto, la entrada ordenada incorpora al resultado tanto el modelo del terreno como las limitaciones de su muestreo.
Comprenda la prueba de línea de visión recta
El cálculo suma primero la altura del observador a la elevación del terreno en la distancia cero y la altura del objetivo a la elevación de la distancia final. Estas dos elevaciones absolutas definen una recta. En cada muestra intermedia, una interpolación lineal obtiene la elevación de esa recta para la distancia correspondiente. Después se resta la elevación del terreno a la de la línea de visión para calcular el despeje. Un despeje positivo significa que la línea pasa sobre el suelo muestreado; cero indica que lo toca; y un valor negativo señala que la muestra supera la línea y bloquea la visibilidad. El objetivo solo se considera visible cuando todos los despejes intermedios son iguales o mayores que cero. La salida también devuelve el punto crítico, es decir, la muestra con el menor despeje, junto con su distancia, elevación del terreno, elevación de la línea de visión y despeje. Este valor con signo aporta más que una respuesta afirmativa o negativa: muestra cuánta altura adicional haría falta en la ubicación crítica o lo estrecho que es el margen disponible.
Interprete el resultado dentro de los límites del modelo
Considere el resultado una prueba punto a punto sobre el perfil proporcionado, no una cuadrícula geográfica completa de cuenca visual. Solo se evalúa la sección vertical recta que une ambas ubicaciones. No se aplican la curvatura terrestre ni la refracción atmosférica, por lo que los enlaces largos pueden requerir otro análisis con Tierra curva o radio efectivo. Los edificios, árboles, vehículos, copas estacionales y demás objetos superficiales no aparecen salvo que sus alturas ya estén representadas en las elevaciones suministradas. El cálculo tampoco interpola una superficie continua entre muestras; un muestreo más denso alrededor de las crestas suele producir una respuesta más fiable. Un resultado visible con despeje positivo muy pequeño debe interpretarse como sensible a errores de elevación y obstáculos omitidos, mientras que un margen positivo amplio es más sólido. Un despeje mínimo negativo identifica una obstrucción cierta dentro de los datos recibidos, y su punto crítico ayuda a orientar una inspección de campo o un cambio de diseño. La misma entrada determinista siempre produce la misma salida, lo que facilita flujos de evaluación documentados y comparaciones automatizadas.
Qué puede hacer con ella
Evalúe un enlace de radio
Compruebe si el terreno muestreado cruza la línea directa entre dos alturas de antena antes de realizar un estudio de propagación completo.
Revise un perfil topográfico
Pruebe la visibilidad a la altura de los ojos o de un instrumento entre estaciones medidas y localice la estación con menor despeje.
Compare emplazamientos candidatos
Ejecute pruebas de terreno punto a punto coherentes para varias ubicaciones del observador y conserve la evidencia de despeje con cada resultado.
Preguntas frecuentes
¿Qué significa que sea visible?
Significa que ninguna muestra intermedia del terreno supera la línea recta entre las alturas del observador y del objetivo. El terreno que toca exactamente la línea se considera visible.
¿Las distancias y elevaciones deben estar en metros?
No. Puede utilizar cualquier unidad lineal si todas las distancias, elevaciones y alturas del observador y del objetivo emplean esa misma unidad.
¿La prueba incluye la curvatura terrestre o la refracción?
No. Utiliza un perfil recto en una sección vertical plana. Corrija antes las elevaciones de entrada cuando esos efectos sean relevantes.
¿Tiene en cuenta árboles y edificios?
Solo si esas alturas ya están incluidas en las elevaciones del perfil suministrado. La capacidad no añade automáticamente objetos superficiales.
¿Qué es el punto crítico?
Es la muestra evaluada con el menor despeje de la línea de visión. Un valor negativo identifica la obstrucción muestreada más intensa.
¿Cuánto cuesta una solicitud de API?
Cada solicitud de API cuesta $0.002. El mismo cálculo determinista puede ejecutarse en el navegador como capacidad de nivel A.
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/viewshed-point-test \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"terrain_profile":[{"distance":0,"elevation":100},{"distance":500,"elevation":112},{"distance":1000,"elevation":108}]}'const res = await fetch("https://api.kit.forhosting.com/geo/viewshed-point-test", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"terrain_profile": [
{
"distance": 0,
"elevation": 100
},
{
"distance": 500,
"elevation": 112
},
{
"distance": 1000,
"elevation": 108
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/viewshed-point-test",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"terrain_profile": [
{
"distance": 0,
"elevation": 100
},
{
"distance": 500,
"elevation": 112
},
{
"distance": 1000,
"elevation": 108
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/viewshed-point-test", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"terrain_profile":[{"distance":0,"elevation":100},{"distance":500,"elevation":112},{"distance":1000,"elevation":108}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"terrain_profile":[{"distance":0,"elevation":100},{"distance":500,"elevation":112},{"distance":1000,"elevation":108}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/viewshed-point-test", 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
{
"terrain_profile": [
{
"distance": 0,
"elevation": 100
},
{
"distance": 500,
"elevation": 112
},
{
"distance": 1000,
"elevation": 108
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.viewshed_point_test",
"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.
Límites
max_points | 10000 |
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. |