ForHosting KIT · Utilidades de desarrollo

Punto más cercano en un segmento de círculo máximo

Esta calculadora de punto más cercano determina qué lugar de un segmento esférico de círculo máximo queda a menor distancia de una latitud y longitud dadas.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Proyecta la ubicación consultada sobre el círculo máximo, comprueba si la proyección cae entre los dos extremos y, cuando queda fuera, ajusta el resultado al extremo más próximo. La respuesta incluye las coordenadas, la clasificación de la posición, la fracción recorrida del segmento y la separación esférica expresada como ángulo y distancia.

Describa la ubicación consultada y el segmento

Introduzca la ubicación consultada mediante lat y lon, y defina después el segmento con start_lat, start_lon, end_lat y end_lon. Todas las coordenadas se expresan en grados decimales: la latitud va de sur a norte entre -90 y 90, mientras que la longitud va de oeste a este entre -180 y 180. El segmento es el arco más corto del círculo máximo que une sus extremos; no es una recta sobre un mapa plano ni una loxodromia de rumbo constante. La diferencia resulta importante en trayectos largos y latitudes altas, donde una fórmula de proyección plana puede situar el punto más cercano en un lugar claramente incorrecto. De forma predeterminada se usa el radio terrestre medio de la IUGG. Puede indicar otro radio positivo para modelar otra esfera o reproducir un cálculo establecido, sin alterar la latitud y longitud más cercanas. La precisión opcional controla el redondeo de la respuesta, no la precisión interna de la selección.

Comprenda la proyección y el ajuste a los extremos

La calculadora convierte las tres ubicaciones en vectores unitarios tridimensionales. El producto vectorial de los vectores de los extremos define el plano del círculo máximo; al eliminar del vector consultado su componente normal a ese plano se obtiene la proyección esférica perpendicular. Una proyección sobre el círculo máximo infinito no pertenece necesariamente al segmento finito. Por eso, el algoritmo compara longitudes angulares de arco para decidir si el vector proyectado se encuentra en el arco corto entre el inicio y el final. Si pertenece a él, la respuesta indica segment en location y devuelve un avance fraccionario desde cero en el inicio hasta uno en el final. Si queda fuera, el resultado se ajusta al extremo con menor separación angular y la ubicación pasa a ser start o end. Dos extremos coincidentes forman un segmento válido de longitud cero. Los extremos exactamente antípodas se rechazan porque los conectan infinitos círculos máximos y las dos coordenadas no bastan para identificar el arco deseado.

Aplique el resultado en flujos geográficos

El objeto nearest contiene la coordenada que puede guardar, mostrar o enviar a un cálculo geográfico posterior. La fracción permite ubicar un suceso a lo largo de una ruta o interpolar metadatos, como una hora prevista, siempre que esos datos sigan el mismo segmento de círculo máximo. La distancia angular no depende del radio elegido, mientras que distance_m es ese ángulo multiplicado por earth_radius_m. Al tratarse de un modelo esférico, resulta adecuado para estimaciones de navegación, visualizaciones globales, asociación con rutas y otros trabajos que necesitan una respuesta estable sobre círculos máximos. No es un solucionador geodésico elipsoidal y no debe sustituir un cálculo topográfico de límites que exija un datum concreto y precisión centimétrica. Para una polilínea, ejecute la capacidad una vez por segmento y conserve el resultado de menor distancia. Si dos extremos quedan exactamente a la misma distancia en un caso ambiguo, el resultado determinista elige el inicio para mantener la estabilidad entre ejecuciones.

Ajustar una posición a una ruta aérea o marítima

Obtenga la ubicación válida más cercana de un tramo de círculo máximo sin prolongar la proyección más allá de sus puntos de paso.

Medir la separación respecto de un tramo

Use la distancia esférica devuelta para ordenar tramos o detectar ubicaciones fuera de un corredor permitido.

Situar un suceso en un tramo planificado

Use la fracción ajustada para asociar un informe con el avance entre los dos extremos de la ruta.

¿Cuánto cuesta una solicitud de API?

El precio de la API es $0.002 por solicitud. También puede ejecutar este cálculo determinista en el navegador desde esta página.

¿Se utiliza una proyección cartográfica plana?

No. Los cálculos vectoriales y angulares se realizan sobre una esfera y siguen el arco corto de círculo máximo entre los extremos.

¿Qué significa ajustar el resultado?

Si la proyección perpendicular cae fuera del segmento finito, la calculadora devuelve en su lugar el extremo más cercano.

¿Qué sucede si los dos extremos son idénticos?

El segmento tiene longitud cero; por ello, el extremo compartido se devuelve como punto más cercano con una fracción igual a cero.

¿Por qué se rechazan los extremos antípodas?

Dos puntos opuestos de una esfera pueden unirse mediante infinitos círculos máximos. Los extremos por sí solos no identifican el arco deseado.

¿El cálculo se basa en el elipsoide WGS84?

No. Las coordenadas usan los intervalos habituales de latitud y longitud, pero la proyección y la distancia se calculan sobre una esfera de radio configurable.

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.

POSThttps://api.kit.forhosting.com/geo/nearest-point-on-segment

¿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.

curl -X POST https://api.kit.forhosting.com/geo/nearest-point-on-segment \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":30,"lon":45,"start_lat":0,"start_lon":0,"end_lat":0,"end_lon":90}'
{
  "lat": 30,
  "lon": 45,
  "start_lat": 0,
  "start_lon": 0,
  "end_lat": 0,
  "end_lon": 90
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.nearest_point_on_segment",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →