WYSZUKIWANIE I OPTYMALIZACJA TRAS DLA URZĄDZEŃ MOBILNYCH ANDROID W OPARCIU O SIEĆ/GRAF DOSTĘPNYCH DRÓG Piotr Dąbrowski, Tomasz Pyśk, Piotr Wojciechowski
Podstawowe założenia Źródło danych: OpenStreetMap. Algorytm routingu dostępny jako niezależny moduł, możliwy do zaadaptowania na urządzeniach mobilnych lub jako webservice. Algorytm routingu uwzględniający parametry samochodów ciężarowych (wysokość/ciężar). Możliwość wskazania punktów pośrednich. Szukanie drogi na podstawie odległości oraz na podstawie czasu przejazdu. Sieć drogowa reprezentowana przez obiekt w pamięci, lub dynamicznie wczytywana z bazy SQLite Implementacja modułu jako usługi sieciowej. Implementacja prostej aplikacji klienckiej działającej w przeglądarce internetowej.
Założenia wydajnościowe Wydajność pamięciowa adekwatna do możliwości urządzeń mobilnych. Niewielki rozmiar pliku z mapą (możliwy do przetwarzania na urządzeniu mobilnym) Możliwie szybki algorytm wyszukiwania (brak widocznej zwłoki dla obszaru Polski) Duża dokładność w przypadku szukania drogi po czasie przejazdu
System stworzony w ramach projektu
Parser Oparty o narzędzie open source: spatialite-tools (spatialite_osm_net) Struktura bazy dostosowana do potrzeb naszego projektu Zadowalająca (wysoka) wydajność parsera (w całości napisany w języku C) Na wyjściu baza danych SQLite reprezentująca graf sieci drogowej (wielkość danych dla obszaru Polski <400Mb).
Algorytm Wykorzystany algorytm: dwukierunkowy A* (wielokrotne skrócenie czasu wyszukiwania bez zwiększania rozmiaru danych o sieci drogowej) W przypadku dodania punktów pośrednich dodatkowe skrócenie czasu wyszukiwania. Algorytm operuje na obiekcie wczytanym w całości do pamięci (serializacja) lub na danych dynamicznie doczytywanych z bazy.
Wyszukana trasa na tle OpenStreetMap W przeglądarce wyświetlane są dwie trasy (najkrótsza odległość, najkrótszy czas). Na tle jest wyświetlana mapa z serwisu OSM.
Napotkane problemy Błędy w danych *.osm. W rezultacie możliwe są Błędne kierunki ruchu na rondach Nieaktualne rodzaje dróg – wyszukiwanie po czasie wybiera inne drogi.
Elementy niedokończone Możliwość zawracania nie uwzględnia gabarytów pojazdu
Podsumowanie Prawie wszystkie założenia projektowe zostały wykonane Nasz system pozwala na wyszukiwanie tras z uwzględnieniem różnorodnych parametrów przejazdu. Architektura i niewielkie wymagania programu pozwalają na wykorzystanie go w zastosowaniach mobilnych.