Skip to main content

Dostosuj silnik routingu

W niektórych przypadkach możesz chcieć rozszerzyć lub dostosować doświadczenie routingu w OsmAnd, dodając dodatkowe parametry, bariery lub zmieniając niektóre kary. Proszę zapoznać się z plikiem routing.xml. Routing w OsmAnd wykorzystuje dwukierunkowy algorytm A* oparty na najszybszym czasie (= odległość/(prędkość*priorytet) + kary). Jest to dość prosty format. Jest podzielony na 7 sekcji (grupy ewaluacyjne):

  • dostęp (1 zezwól, -1 nie zezwól)
  • prędkość (liczba przedstawiająca prędkość w km/h)
  • priorytet (liczba między 0 a 1) - mnożnik prędkości, który jest nadal ograniczony do maxSpeed, więc minimum (prędkość * mnożnik, maxSpeed) zostanie użyte dla A*
  • jednokierunkowa (1, -1 lub 0) - używana do wyjaśnienia dostępu na podstawie kierunku ruchu
  • kara_za_przejście (kara w sekundach) - używana do zdefiniowania kary, gdy użytkownik przechodzi z drogi wysokiej klasy na drogę niskiej klasy. Na przykład, autostrada - 10, droga główna - 15, jeśli użytkownik przechodzi z autostrady na drogę główną, kara wyniesie 5 sekund (=10 - 15). Ta kara zostanie użyta przez algorytm A*. Nie ma kary, jeśli użytkownik przechodzi z autostrady na drogę główną i nie ma kary, jeśli trasa kontynuuje się z autostrady na autostradę.
  • przeszkoda (kara w sekundach) - definiuje karę, która jest doliczana do czasu routingu
  • czas_przeszkody (kara w sekundach) - definiuje karę, która jest wyświetlana użytkownikowi, ale nie jest brana pod uwagę przez silnik routingu, np. czas_przeszkody - 2 godziny, przeszkoda - 1 minuta, na najkrótszej trasie silnik znajdzie trasę z przeszkodą 1 minuta, ale użytkownik zobaczy, że czas trasy wynosi 2 godziny.

Aby przetestować routing.xml, możesz użyć OsmAndMapCreator. Aby przetestować routing.xml na urządzeniu, możesz po prostu zastąpić domyślny routing.xml w folderze głównym OsmAnd na karcie SD.