Korzystam z OpenStreetMap i jego wektorowej sieci dróg i chciałbym zaimplementować algorytm dopasowywania map.
Obecnie jestem w stanie, dla każdej pozycji GPS, pobrać najbliższy odcinek drogi i obliczyć rzut tej pozycji na ten odcinek, jak na tym zdjęciu (czerwona pinezka to czysta pozycja GPS, na niebiesko segment mapowany, a na zielono zmapowana pozycja):
Jednak z powodu braku dokładności GPS czasami odwzorowana pozycja przeskakuje z segmentu na inny i może od czasu do czasu zapewniać niespójną pozycję mapowaną.
Mój obecny algorytm jest bardzo prosty: z czystej pozycji GPS uzyskuję najbliższy segment i decyduję, że mapowana dopasowana pozycja znajduje się na tym. Wiem, że można to naprawdę poprawić.
Mogę sobie wyobrazić, że wzięcie pod uwagę kierunku pojazdu poprawi dopasowanie mapy, ale czy znasz jakieś inne podejście, które pozwoliłoby mi ulepszyć dopasowywanie map?
Poszukuję linku i / lub oprogramowania typu open source?