Estoy usando OpenStreetMap y su red vial vectorial y me gustaría implementar un algoritmo de correspondencia de mapas.
Actualmente, para cada posición GPS, puedo recuperar el segmento de carretera más cercano y calcular la proyección de esta posición a ese segmento, como en esta imagen (el pin rojo es la posición GPS pura, en azul el segmento mapeado y en verde el posición mapeada):
Sin embargo, debido a la falta de precisión del GPS, a veces la posición asignada salta de un segmento a otro y puede proporcionar alguna posición asignada inconsistente de vez en cuando.
Mi algoritmo actual es muy básico: desde la posición GPS pura, obtengo el segmento más cercano y decido que la posición asignada asignada está en este. Sé que esto se puede mejorar realmente.
Me imagino que tomar en cuenta la dirección del vehículo mejorará la correspondencia del mapa, pero ¿conoce algún otro enfoque que me permita mejorar mi correspondencia de mapas?
Busco algún enlace y / o software de código abierto?