Załóżmy że implementuje aplikacje do nawigacji. Czy macie pomysły na wykrycie na którym odcinku trasy znajduje się pojazd oraz na wykrycie kiedy ktoś opuszcza trasę? Szukałem jakichś sensownych publikacji na ten temat, ale nic wartościowego nie znalazłem.
Założenia:
- mapa jest zadana w postaci grafu
- trasa to lista krawędzi / wierzchołków (wierzchołki mają koordynaty gps)
Sposoby które testowałem: - Przyjęcie założenia ze startujemy z wierzchołka i odliczanie ile przejechaliśmy i na tej podstawie przeskakiwanie na kolejny odcinek kiedy "przejedziemy" poprzedni. Nie ma tu możliwości wykrycia wyjechania poza trasę plus jest to słabe jeśli gps zwróci nam chociaż trochę niedokładne dane.
- Do wykrycia gdzie na drodze jesteśmy: sprawdzanie czy pojazd "zbliża się" do kolejnego wierzchołka drogi i kiedy zacznie się "oddalać" to znaczy że zmieniliśmy odcinek drogi na kolejny. Słabe bo może się zdarzyć że ktoś wcale nie minie tego wierzchołka a my to wykryjemy przez przypadek. Do sprawdzenia czy ktoś wyjechał poza trasę: obliczanie jak daleko jesteśmy od prostej wyznaczonej przez wierzchołki pomiędzy którymi jesteśmy. Słabe dla serpentyn, równoległych dróg blisko siebie i ostrych zakrętów bo możemy wykryć zmianę drogi niepoprawnie.
Może znacie jakiś bardziej sensowny sposób?