RoutingGrid

Dzisiaj miałem problem z routingiem, wytyczło mi dziwną trasę “na około”.
Okazało się, że problem jest z tym, że ktoś dał barrier=lift_gate na przejeździe kolejowym. To skłoniło mnie, żeby przypomnieć sobie programi,
który zdaje się powstał podczas zmiany licencji:
https://github.com/apmon/RoutingGrid

Zasada działania jest prost, w pliku podajemy miasta (punkty referencyjne) i programik sprawdza routing na osrm i porównuje go z googlowym.
Łatwo można wychwycić ewentualne niedociągnięcia, bo wynik nie będzie zbliżony. Wynik, czyli ilośc przejechanych kilometrów.
Oczywiście minusem jest to, że to tylko jakiś konkretny punkt na mapie. Jednak plusem jest to, że sami możemy uruchamiać ten analizator i wstawiać dowolne miejsca.

Ja stworzyłem sobie plik dla większych miast w województwie kujawsko-pomorskim i wyszło mi to:
https://dl.dropboxusercontent.com/s/hhc7cl2idf65apg/output_grid.html?dl=1&token_hash=AAFqtzsRWUHAtzDkgbQmYunjKGryR2iEmOTx3SFNCmxZIQ

Stworzenie pod własnym kątem takiego analizatora jest banalne. Ściągamy paczkę (https://github.com/apmon/RoutingGrid/archive/master.zip),
tworzymy plik miasta.cities, które wygląda mniej więcej tak:

53.1384797 17.5983327 Naklo nad Notecia
52.8355791 18.9018215 Nieszawa
53.6458175 18.7281042 Nowe
52.8071576 18.0916846 Pakosc
52.551074 18.498995 Piotrkow Kujawski

(pomiędzy kolumnami należy dać tab’a). Takie punkty łatwo wyszukać, pobieramy mały kawałek miasta do którego chcemu dotrzeć (ja szukałem centr w pobliżu rynków itd.) do JOSM.
Zaznaczamy wspólny węzeł dróg, wciskamy Ctrl+I i wyszukujemy pozycję w podobnej postaci.
I uruchomiamy:

java -jar RoutingGrid.jar miasta-cities output_grid.html reference.list 1

W pliku reference.list mieści się cache odległości, ta jedynka na końcu powoduje utworzenie tego pliku - jeśli jest już stworzony, uruchamiamy bez niej.
Dla pliku z prawie 52 miastami, działało mi to blisko 2 godziny, niestety pod koniec coś się skiepściło, jeszcze nie wiem co.