He estado buscando en este sitio SE durante varias horas y todavía estoy luchando por encontrar una solución a mi pregunta. Mi objetivo es que, dada una forma en OSM y mi ubicación (coordenadas lat / lon), quiero encontrar la ubicación más cercana (coordenadas lat / lon) en ese camino. El punto puede estar en cualquier lugar del camino, no limitado a los puntos utilizados para definir el camino.
Entonces estoy pensando en el siguiente algoritmo:
- Trayectoria separada en bordes separados, cada borde conecta solo dos puntos.
- Seleccione el borde más cercano.
- Proyectar mi ubicación en ese borde.
Ahora hay muchas preguntas sobre el cálculo de la distancia entre una ubicación y una ruta:
- Punto WGS al segmento de línea WGS (gran círculo)
- Calcular la distancia entre un punto y una línea virtual de dos lat / lngs
- ¿Cómo aproximar la distancia punto a segmento en la esfera?
También una pregunta muy similar de la que no puedo hacer los cálculos correctos o verificados:
También hay información del Dr. Math sobre ese tema. Sin embargo, parece que no puedo encontrar un algoritmo para calcular la ubicación en el paso 3. Como no he tocado el álgebra (vector) en bastante tiempo, no entiendo la lógica de esas respuestas.
¿Alguien puede mostrar un algoritmo para hacer esto? Una solución en cualquier lenguaje de programación razonable está bien para mí.