GraphHopper offline routing service

Started by gynta, June 22, 2015, 11:44:16

0 Members and 2 Guests are viewing this topic.

gynta

Die alternative zu BRouter in der neuen Version.

Wozu?
Locus ist eigentlich nicht als Navigationstool schlechthin konzipiert und hat selbst keine Möglichkeit offline (ohne Datennetz) eine Route zu berechnen. Mit den beiden AddOns BRouter und GraphHopper hast Du nun aber die Möglichkeit immer und überall ein Routing zu erstellen - sofern Dir nicht der Saft ausgeht...

Den Originalbeitrag aus dem englischen Forumsbereich findet Ihr hier

LOCUS Add-on(!) GraphHopper v0.2 (GH addon 0.2 - based v0.5.apk)
Änderung: (Übersetzung folgt nach den ersten Tests)
  • support for independent compute types. So you may generate own maps with graph.flagEncoders values from these options car,foot,bike,mtb,racingbike,motorcycle and Locus should correctly recognize them
  • support for compute with more locations (new feature of 3.9.3.3 version - "via points". Add-on compute whole track at once, not separated to segments like other compute sources
Benötigte Locus Version: v3.9.3.3+



Installation:

  • GH addon 0.2 - based v0.5.apk aus dem "data" Ordner von HIER herunterladen und installieren.
    (In Euren Systemeinstellungen muß dazu das installieren von APK files erlaubt sein. Mehr dazu findet Ihr im www)
    _
  • Eine *-gh.zip Routing Datei aus dem Order "2015.09.19/Dein Land/.." von HIER herunterladen
    und entzippt in Euer ../mapsVector/ Verzeichnis kopieren.
    zB.:

    Wichtig: Achtet dabei darauf, daß Ihr das Routingverzeichnis nicht in einem anderen Ordner drinnen habt.
    Das passierte bei einem User beim entzippen. Der Ordner in mapsVector muß mit ".osm-gh" enden.
    _
  • Falls Ihr noch aus der Vorgängerversion den alten ../Locus/graphhopper Ordner habt:
    Dieser wird hier nicht mehr benötigt und muß(!) samt Inhalt gelöscht werden.
    _
  • Starte Locus
    Wähle "GraphHopper" als  Standard Routing Dienst und ein Routing file aus:
    Einstellungen -> Navigation -> Quelle zur Routenberechnung -> GraphHopper

    Sofort nach der Auswahl von GraphHopper muß auch gleich das Routingprofil gewählt werden.
    siehe Pfeil am Screenshot.



    (Hier wurde zB gerade "baden-wurtemberg" gewählt)
    _
  • Im Anhang findet Ihr noch einen kurzen Beispiel-Clip wie man GraphHopper einsetzen kann.




Fortgeschrittene Benutzer können sich mit einem Generator die Routingdatein selbst erstellen.
Der Generator befindet sich ebenfalls im google drive Ordner.
Beachtet bitte: car / bike / foot  sind vorgegebene Werte.
Andere können nicht verwendet werden.

Erstellen der Routingdatein:
https://github.com/graphhopper/graphhopper/blob/0.4/docs/android/index.md#maps


meppen7

Quote from: gynta on July 29, 2015, 14:30:39

Danke für die Rückmeldung. Dies könnte anderen Usern evtl auch helfen.


Ich danke auch

Anmerkung:
Sowohl mit brouter als auch Graphhopper funktioniert die Berechnung der Strecke nicht für große Entfernungen zwischen Start und Ziel (z. B. Fahrradtour über 250 km). Mit z.B. 2 Zwischenzielen geht es dann.
Für brouter funktioniert die Berechnung ohne Zwischenziele mit brouter-web und Nutzung des so erzeugten gpx-Files mit locus.
  •  

karussell

#2
Hallo gynta,
bin der GraphHopper Autor.
Wie funktioniert das technisch, startest Du lokal auf dem device einen Server?
Und verwendest Du mit CH oder ohne? Z.B. sollte mit CH eine Tour über 250km schon funktionieren, dauert bei meinem älteren Gerät dann nur ein biscchen.
Auch wird es in der neuen Version mehrere Profile mit CH geben:
https://github.com/graphhopper/graphhopper/issues/464
Was wären Deine größten 3 Wünsche fürs on-device routing :) ?
Grüße

edit
Ah, da gibts ja noch nen größeren englischen Thread und menion ist der Autor des add-ons. Hab da auch mal nen reply verfasst...
  •  

gynta

#3
Quote from: karussell on July 30, 2015, 08:37:10
Hallo gynta,
bin der GraphHopper Autor.
Ah, da gibts ja noch nen größeren englischen Thread und menion ist der Autor des add-ons. Hab da auch mal nen reply verfasst...

Hallo Peter
Schön daß sich nun nach Arndt (BRoputer) auch der Autor von GraphHopper hier eingefunden hat.

Ich bin nur ein kleiner Mod, der versucht den Usern die Locus App ans Herz zu legen - mit all seinen Unzulänglichkeiten und Problemen. :D
Also bist Du schon am richtigen Weg wenn Du Dich mit Menion direkt in Verbindung setzt.
Mittlerweile ist es ja schon drei Jahre her, seitdem wir GraphHopper auf dem Schirm haben.
Schade, daß sowohl GraphHopper als auch BRouter die Android device möglichkeiten eher als Nebenprodukt sehen.
Um so schöner zu lesen, daß Du anscheinend doch ein wenig Zeit und ein offenes Ohr hast um Dir ein Bild machen zu wollen.

meppen7

Hallo,
ich sehe gerade, dass der Graphhopper-Entwickler sich eingeklinkt hat.
Da ich in der Nähe der holländischen Grenze wohne, wäre es wünschenswert, wenn die Routenberechnung auch über die Grenzen des jeweiligen Routingfiles von Graphhopper möglich wäre.
Bei mir funktioniert es (noch) nicht. Oder habe ich irgendetwas übersehen?

MfG
meppen7
  •  

karussell

> Schade, daß sowohl GraphHopper als auch BRouter die Android device möglichkeiten eher als Nebenprodukt sehen.

Also wenn Ihr uns das finanziert ändere ich meinen Fokus sofort :)
Nein, also im Ernst. Android bzw. mobile generell vernachlässigen wir nur sehr ungern, Aber es ist aus resourcenmangel leider notwendig.

> Um so schöner zu lesen, daß Du anscheinend doch ein wenig Zeit und ein offenes Ohr hast um Dir ein Bild machen zu wollen.

Also auf der Mailingliste sind wir immer offen und mit mehreren Ohren an mehreren Orten zu lauschen ist ein bisschen schwierig, aber ich hoffe mal ich schaffe das halbwegs. Es gibt ja auch noch stackoverflow, osm help, osm forum, issue tracker etc :)

> Da ich in der Nähe der holländischen Grenze wohne, wäre es wünschenswert,
> wenn die Routenberechnung auch über die Grenzen des jeweiligen Routingfiles von Graphhopper möglich wäre.

Das geht aktuell nur wenn Du die beiden Gebiete ausschneidest und GraphHopper beim Import 'zeitgleich' vorlegst. Siehe https://github.com/graphhopper/graphhopper/issues/293

  •  

erfi

#6
Ich habe heute mal GraphHopper in Locus installiert und probiert. Funktioniert, ich kann jedoch die Streckenführung bei "zu Fuß" und "Rad schnell" nicht ganz nachvollziehen. :-\
Testroute: Großer Müggelberg ---> Drachenberg. Quer durch die stark verzweigte Stadt, ich denke, dass ist zu Testzwecken geeignet.
Zu Fuß: 34,56km


Rad kurz: 31,40km


Rad schnell: 36,21km


Zum Vergleich:
Brouter Zu Fuß (BRouter_shortest): 30,96km

  •  


erfi

Ich bin mir nicht sicher, ob die Rad_schnell-Tour über 36,21km schneller ist als die Rad-kurz-Tour über 31,4km.
Die Zu_Fuß-Tour ist mit 34,56km auch recht lang im Vergleich zu BRouter-shortest. Worauf wird bei GraphHopper in diesem Zu_Fuß-Modus Wert gelegt? Ich hätte gedacht, da sucht Graphhopper den kürzesten Weg...
Der Download und die Installation haben prima geklappt, ich werde die Tage noch mehr probieren...  :)
  •  

karussell

Achso, 'fastest' ist tatsächlich etwas missverständlich. Generell ist es nicht unbedingt 'schnellste' sondern eher 'best guess' er nimmt auch infos über offizielle Radwege mit rein und versucht da lang zu routen auch wenn es etwas Umweg ist. Und wenn man Höhendaten mit reinnimmt vermeidet er noch Berge (aber das ist ja auch 'schnell' :))

Bei Fuß ist das ähnlich.

Eine pure 'schnellste' könnte man aber leicht bauen ...
  •  

erfi

#10
Wow, danke, ...mit so einem schnellem Feedback habe ich gar nicht gerechnet!  :)
Aha, das ist eine Erklärung, danke! Es wäre sicher vorteilhaft, wenn die Routing-Profile kurz erklärt werden. Als Nur-User will ich verstehen, worauf bei der Berechnung Wert gelegt wird. Bei BRouter ist z.B. das Rad_kurz-Profil oft nicht das Kürzeste was geht  ;D. Eigentlich heißt es ja auch "trekking", was die Sache dann erklärt. Aber das muss man erstmal verstehen lernen.
PS: Ich habe gerade entdeckt, das im Car-Modus sogar die Abbiegevorschriften beachtet werden. Vorbildlich!  ;)
2.PS: Die Poller-Barrieren werden bei Berechnung im Car-Modus auch wahrgenommen, prima!
  •  

karussell

> PS: Ich habe gerade entdeckt, das im Car-Modus sogar die Abbiegevorschriften beachtet werden.

Achtung: im speed modus nicht, im flexibility modus aber schon (setCHEnable(false)). Auf Android kommt aber eigentlich der speed modus zur Anwendung d.h. es sollte eigentlich gar nicht funzen ...
  •  

erfi

Oh, danke! Ich schau dann noch mal genauer...
Getestet hatte ich es u.a. hier, Prenzlauer Allee/Ecke Saarbrücker Str. --> links abbiegen auf  Prenzlauer Berg.
  •  

erfi

@karussell: Ich habe nun nochmals mit dem Locus-Routenplaner an 4 weiteren Kreuzungen in Berlin probiert, die Linksabbiegeverbote wurden im "Auto-Modus schnell" korrekt berücksichtigt. Es handelte sich dabei stets um Straßen, die in beide Richtungen befahren werden können.
  •  

FriedelXT

Hat schon mal jemand ein gutes Motorradrouting entdeckt? Ich benutze immer Mopped, aber das Routing ist weiiiiiiiiiiiit von kurviger entfernt.
  •