Planowanie tras – darmowa mapa Open Street Map

Planowanie tras – darmowa mapa

O ile w moim poprzednim artykule starałem się ogólnie omówić zastosowanie map w systemach TMS, teraz chciałbym poświęcić większą uwagę szczególnej spośród nich. Co dojrzalsi czytelnicy pamiętają zapewne angielski serial Robin z Sherwood, na którego kolejne odcinki czekało się z wypiekami w latach 80-tych. Legendę o Robin Hoodzie zna chyba każdy, nie każdy natomiast słyszał o darmowej mapie Open Street Map (w skrócie OSM). Mapa ta może nie zabiera bogatym i nie daje biednym, jednak jest ogólnodostępna, wspierana przez społeczność, i co najważniejsze za darmo.

Często zadawałem sobie pytanie, jaki ktoś ma interes w utrzymywaniu mocnych serwerów dla mapy, do której dostęp ma każdy i jest to dostęp za darmo, a Open Street Map jest darmowy nawet w zastosowaniach komercyjnych. Czasy nastały takie, że spora część oprogramowania jest darmowa, a korzystanie z niego wiąże się z jakimiś systemem reklam lub mikrotransakcji.

W przypadku OSM sprawa nie jest jednak taka oczywista. Przede wszystkim, korzystając z OSM
za darmo, zmuszeni jesteśmy w znacznej mierze korzystać z pomocy społeczności. W razie jakichkolwiek problemów, awarii usługi, lub zwykłych błędów, jesteśmy skazani na samodzielne poszukiwanie rozwiązania. Kiedy zabraknie dostępu do  usługi, w zasadzie nie mamy możliwości wpłynięcia na szybkie jej przywrócenie. W każdej chwili możemy zostać danej usługi pozbawieni. Co więcej, nie mamy gwarancji że projekt Open Street Map będzie działał w dalszym horyzoncie w przyszłości.

Zainteresowanych odsyłam do lektury na temat reguł Open Street Map:

Oczywiście sytuacje awaryjne nie zdarzają się często, z serwisu korzysta wielu użytkowników na świecie, jednak istotę problemu często zauważa się po fakcie, gdy wystąpiła usterka. Drugą kwestią są obostrzenia transakcyjne. Serwer OSM posiada szereg zabezpieczeń, chroniących przed nadmierną liczbą zapytań z jednego adresu IP, zarówno jeżeli chodzi o wyświetlanie mapy, jak i o geokodowanie (znajdowanie współrzędnych lokalizacji), czy wyznaczanie tras (tzw. routing).

Jakość danych i funkcjonalność

Kolejnym ograniczeniem jest jakoś danych i dostępna funkcjonalność. Mapa OSM nie oferuje znajdowania trasy w oparciu o restrykcje (nośność, nacisk na oś itp.). Sam model jest na to przygotowany, brak jednak wprowadzonych danych dla poszczególnych dróg. Tu kolejna dygresja – to właśnie dane o drogach, połączeniach, ograniczeniach, mostach, mostkach, zakazach itd. są najcenniejszą wartością wszelkich map. Nie ładny interfejs, ale właśnie aktualne, poprawne dane. W przypadku OSM dba o nie społeczność, jednak w razie błędu trudno znaleźć „winnego”. Przypomina mi się tutaj sytuacja z jednego ze szkoleń, kiedy to klient zdecydował się na darmową mapę OSM, ale niestety jego lokalizacja (mały przysiółek), nie była wyszczególniona na mapie. Jedynym rozwiązaniem w tej sytuacji, jest samodzielne dodanie potrzebnej lokalizacji do mapy.

Kwestie techniczne

Przechodząc do kwestii bardziej technicznych, pozwolę sobie podpowiedzieć pewne rozwiązanie, które częściowo eliminuje problem stabilności usługi. Istnieje możliwość uruchomienia własnego serwisu mapy. Należy w tym celu wykonać trochę prac konfiguracyjno-instalacyjnych, zaczynając od ściągnięcia interesujących nas zakresów danych. Open Street Map obejmuje cały świat, a to bardzo duża ilość danych. Zazwyczaj jednak korzystamy tylko z jakiegoś wycinka, na przykład terenu Polski lub Europy.

Instalacja serwisu mapy obejmuje serwer PostgreSQL, serwer Apache, bazę OSM, wybrany silnik znajdowania tras (np. OSRM), silnik geokodowania (np. Nominatim) itd. Przy sprawnym i doświadczonym dziale IT, powinno to zająć nie więcej niż jeden do dwóch dni roboczych. W ten sposób ciężar administracji usługą, a także kwestię jej niezawodności bierzemy na swoje barki.

Takie rozwiązanie ma swoje istotne zalety. Z własnego doświadczenia mogę stwierdzić, że usługi rutowania i geokodowania zainstalowane lokalnie spisuje się znakomicie. Działają szybko, nie ma też zagrożenia odcięciem od serwera za zbyt dużą liczbę zapytań. Należy jednak pamiętać, że płynne wyświetlanie mapy wymaga sporej mocy obliczeniowej. Open Street Map wykorzystuje do tego wiele serwerów, które asynchronicznie zwracają fragmenty mapy (tzw. „tiles”) wystarczy podglądnąć konsolę przeglądarki np. w Chrome. Instalując mapę na słabym serwerze, możemy się solidnie rozczarować.

Wnioski

Jeżeli mamy małe wymagania co do dostępności mapy i nie interesują nas zawansowane funkcje planowania trasy, to Open Street Map jest wartym rozważenia rozwiązaniem. Jeżeli natomiast chcemy planować trasy biorąc pod uwagę indywidualne potrzeby samochodów ciężarowych, uwzględnić maksymalny dopuszczalny nacisk na oś, natężenie ruchu, ograniczenia dróg i mostów, wyznaczyć najszybszą trasę, albo ważna jest dla nas niezawodność usługi, warto rozważyć płatne opcje. Paradoksalnie, niektóre z płatnych serwisów, w tym np. Mapbox, opierają się właśnie na Open Street Map.

Autor artykułu
Poleć innym
Share on linkedin
LinkedIn
Share on facebook
Facebook
Share on twitter
Twitter

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *