Navigation mit Zwischenpunkten

Started by abrensch, September 05, 2016, 17:53:35

0 Members and 1 Guest are viewing this topic.

abrensch

Hallo, ich geb' hier mal eineFrage weiter, die mich per email erreicht hat, aber mehr Locus als BRouter betrifft und die ich als Locus-Legasteniker nicht wirklich beantworten kann. Ich schick dem Frager noch den Link nach hier.

Gruss, Arndt

==============================================================

Hallo

Ich wähle den direkten Weg, da es mir seit Tagen nicht gelingen will mich bei http://forum.locusmap.eu zu registrieren.

Folgendes Problem ist aufgetreten:

In Locus definiere ich eine Strecke abseits meiner derzeitigen Position mittels START -> VIA -> ZIEL mit "Punkt schnell einfügen".
Danach wird über die angelegte Locus-Verknüpfung die BRouter App gestartet, welche die Berechnungen ausführt.
Diese verlasse ich über "SERVER-MODE" -> "EXIT".

Jetzt öffne ich in Locus die soeben erstellte brouter0.gpx, welche auch korrekt angezeigt wird und wähle, durch antippen der Route und öffnen des Untermenü über den kleinen Pfeil, "Navigieren". Nach einer kurzer Neuberechnung, ich befinde mich ja noch immer abseits der Route, werde ich sofort zum Endpunkt der Route geführt, sämtliche Zwischenziele werden dabei ignoriert.

Die Einstellung für "Automatisch neu berechnen" steht auf "Endpunkt Priorität", ein Wechsel zu "Strecken Priorität" brachte auch kein anderes Ergebnis.
Apropos "Strecken Priorität":
In anderen Situationen erhielte ich bei  beim Verlassen der Route merkwürdige Anweisungen, welche mich immer wieder zurück auf einen bereits in Fahrtrichtung hinter mir liegenden, für mich aber nicht erklärbaren Punkt führen wollte ("Strikte Routen-Navigation" ist deaktiviert). Aus meiner Sicht funktioniert die Navigation bei START -> ZIEL und "Endpunkt Priorität" am perfektesten.

Aber nun zurück zum eigentlichen Problem.
Definiere ich die gleiche Strecke, mit den gleichen Punkten (Start/Via/Ziel) und meiner noch immer gleichen, abseitigen Position in Locus direkt über "Navigieren" erfolgt das Routing genau entsprechend der Vorgaben (mit Zwischenzielen).
Das dumme ist nur, dass auf diesem Weg nur 2 Zwischenziele möglich sind.

Aufgefallen ist mir die Sache als ich einen zuvor erstellten Rundkurs abfahren wollte, die Route aber schon nach kurzer Fahrt verlassen habe und durch die nachfolgend erfolgte Neuberechnung bereits nach wenigen Kilometer wieder nach Hause fahren sollte=-O.
Falls es hilft kann ich Ihnen die entsprechenden Screenshots zusenden, obwohl ich meine, das es ein allgemeines Problem ist da ich es auf verschiedenen Geräten getestet habe.
Hier noch meine Locus-Einstellungen die Navigation.
   
Quelle:    BRouter -> Fastbike
Automatisch neu berechnen: Endpunkt Priorität
Abweichung ab der neu berechnet wird: 100m
Abweichung Info: "EIN"
Strikte Routen-Navigation: "AUS"
Erlaubte Abweichung: 10km
Auf Strecke fixieren: "AUS"

Haben Sie eine Erklärung?
  •  

zossebart

Ich kann das Problem im Prinzip reproduzieren.

Ich vermute mal, der Unterschied ist der, dass Locus bei seinen internen Routing-Modi mit Zwischenzielen (Navigation und Route&Measure) jeweils die Teilstrecken zwischen den Wegpunkten (also z.B. from -> via1 und via1 -> to) einzeln von Brouter berechnen lässt, und das Ergebnis dann in seinem internen Format (inklusive der Zwischenziele) zusammenfügt.

Wenn Brouter extern aufgerufen wird, behandelt er ja die Zwischenpunkte selbst. Die Frage ist, werden diese auch in einem für Locus erkennbaren Format in der .gpx abgespeichert? Nach einem kurzen Test kann ich auf Anhieb nichts derart in der .gpx finden. Ich finde lediglich die Abbiege-Hinweise als <wpt> im Locus-Format und den track mit den einzelnen <trkpt>s. Locus weiß also nach dem Import anscheinend nichts von den Zwischenzielen...

Btw.: ich konnte das nur mit "Route&Measure" verifizieren, da bei Navigation die Fehlermeldung "no brouter service config found" erschien. Da aber "Route&Measure" funktioniert, gehe ich mal davon aus, dass das ein Fehler in Locus und nicht in Brouter ist...
  •  

Mips

Hallo zossebart,
von mir stammt die ursprüngliche Anfrage an Arndt.
Ich meine, dass das zurückgegebene brouter0.gpx nicht das Problem ist.
Meines Wissens sind POI, was ja die übergebenen "via"-Punkte sind, im GPX auch nur einfache Wegpunkte <wpt>.
Da "nogo" Areas bei der Neuberechnung aber korrekt behandelt werden, scheint die Übergabe dieser Daten eine Angelegenheit des Service-Interface (API) zu sein.
Sicherlich spielt auch die Locus interne Verarbeitung von Zwischenzielen eine Rolle, da ja auf direktem Weg über "Navigieren", deren Anzahl auf 2 (bei 3 erhielt ich Fehlermeldungen) begrenzt ist.
Diese Frage können aber wohl nur Menion oder Arndt beantworten.
Gruß
Mips
  •  

abrensch

Quote from: Mips on September 09, 2016, 15:58:20Meines Wissens sind POI, was ja die übergebenen "via"-Punkte sind, im GPX auch nur einfache Wegpunkte <wpt>

Ja genau, ein von BRouter generiertes GPX (egal ob das als brouter0.gpx gespeicherte oder das über die Service-Schnittstelle zurückgelieferte) enthält keinerlei Information mehr über die Zwischenpunkte, die zu seiner Berechnung genutzt wurden.

QuoteDa "nogo" Areas bei der Neuberechnung aber korrekt behandelt werden, scheint die Übergabe dieser Daten eine Angelegenheit des Service-Interface (API) zu sein.

Die Nogo's werden von Locus nicht im Service-Interface übergeben, sondern ich suche sie bei jedem Request selbst in der Wegpunkte-Datenbank von Locus ( Locus/data/database/waypoints.db )

Ich arbeite zwar dran, Menion zu überzeugen, ein explizites Konzept für Nogo's in Locus einzuführen, sie also auch als Sperrkreise darzustellen und über die Schnittstelle zu senden, aber das ist eher in weiter Ferne.

Generell ist das Thema Neuberchnung mit Zwischenzielen ja nicht so einfach, ich hab' da zumindest kein Konzept für. Man könnte es natürlich so machen, einen Zwischenpunkt "abzuhaken", wenn man ihm nah genug (? wie na ist das) gekommen ist. So macht es OsmAnd, aber auch da beschweren soch ja die Nutzer, das das mit dem Abhaken wohl nicht so funktioniert wie sie das erwarten, und man dann fummeln muss, um den Router zu überzeugen, das nächste Zwischenziel anzusteuern.

Deswegen gefällt mir die Lösung besser, Routen-Präferenzen über Nogo's zu erwzingen, weil da gibt es keine konzeptionellen Probleme.
  •  

jonny.blue

QuoteGenerell ist das Thema Neuberchnung mit Zwischenzielen ja nicht so einfach, ich hab' da zumindest kein Konzept für. Man könnte es natürlich so machen, einen Zwischenpunkt "abzuhaken", wenn man ihm nah genug (? wie na ist das) gekommen ist.

Schade ...  ::)
Ich nutze Locus in Verbingung mit brouter zum Wandern schon sehr lange und bin auch absolut begeistert.
Seit einiger Zeit versuche ich auch Mopedtouren damit zu planen (was von Version zu Version - incl. etwas Übung) auch immer besser gelingt.
Aber genau diese Funktion (einige Zwischenstops wie: Mittagspause, Kaffee, Aussichtspunkt ... ) für einen Rundkurs wäre sehr hilfreich. Und das Problem liegt hier tatsächlich im "Rundkurs", denn wenn einmal neu berechnet wird, landet man wieder daheim ...  :o
Das switchen auf den nächsten Wegpunkt mache ich immer mit der Funktion "nächster Wegpunkt", was auch gut funktioniert.  :) Klar könnte man sich auch eine Entfernungsangabe (Def: 100m o.ä.) denken, die man irgendwo hinterlegt.
  •  

erfi

Worüber ich mir am Freitagabend Gedanken mache:  ;D
Da es noch keine sichere Lösung für eine Neuberechnung ,,Endpunktpriorität mit Berücksichtigung von Zwischenzielen (must pass via-points) gibt, besteht jedoch auch jetzt schon die Möglichkeit die Gesamtstrecke in einzelne Teilrouten zu unterteilen, um so bedingungslos alle Zwischenziele anzuvisieren. Das geht jedoch unterwegs bislang nur manuell ...dafür sicher. Habe ich schon oft so praktiziert.
Der einfachste Weg wäre vielleicht mit Hilfe von Locus über ein einfaches Menü eine Routenfolge definieren zu können, die dann nach Aktivierung unterwegs selbständig von einer Route zur Nächsten wechselt. Kommt die Meldung ,,Du hast Dein Ziel erreicht!", wechselt Locus zur nächstfolgenden Route. Gibt es keine nächste Route mehr, bist Du am Endziel angelangt und die Navigation wird automatisch beendet. Damit wären dann auch beliebige Rundkurse machbar, ein mehrfach anzufahrener Punkt könnte beispielsweise Ziel von Teilroute 2, Teilroute 5 und Teilroute 6 sein. Eine kumulierte Gesamtauswertung und Statistik der definierten Routenfolge würde die Sache noch komplettieren.
  •  

jonny.blue

Quote... besteht jedoch auch jetzt schon die Möglichkeit die Gesamtstrecke in einzelne Teilrouten zu unterteilen ...

Hätte ich auch drauf kommen können ...  ::)

Klar, anstatt alles in eine Route zu packen, dann - in der Nähe  ;) - der Zwischenpunkte zu halten und den nächsten Wegpunkt manuell weiterzuschalten, könnte man natürlich auch die Navigation stoppen und einfach eine neue für den nächsten Punkt starten ...   8)

Danke für die Idee ...  ;D
  •  

erfi

#7
Nebenbei bemerkt, funktioniert die Navigation mit mehreren Zwischenzielen recht ordentlich, wenn Du Deine Tour direkt in Locus mit dem Routenplanungstool und BRouter planst. So jedenfalls meine Erfahrung...

Aber:
Exportiere ich diese in Locus erstellte Route als .gpx und importiere sie anschließend, ist alles dahin. Die importierte .gpx-Route berücksichtigt keine Zwischenziele mehr.  :(   
edit 17.09.2016: Problem gelöst - Einstellungsfehler bei Importoptionen beseitigt, siehe Betrag unten.

Exportiere ich sie dagegen als .tcx und importiere diese dann mit Locus, funkioniert es weiterhin - die Zwischenziele werden strikt anvisiert.  ;)

Ohne mich jetzt weiter in diese Problemstellung weiter zu vertiefen (...ich bin schon müde), würde ich sagen, das Problem liegt in der Locus-Interpretation der .gpx-Dateien. Oder eben bereits beim Export aus der Locus-Datenbank ins .gpx-Format.
Bei .kml-Export und anschließendem Import funktioniert es übrigens auch nicht mehr, Zwischenziele werden nicht mehr erkannt.
  •  

zossebart



Quote from: erfi on September 16, 2016, 22:17:12
Aber:
Exportiere ich diese in Locus erstellte Route als .gpx und importiere sie anschließend, ist alles dahin. Die importierte .gpx-Route berücksichtigt keine Zwischenziele mehr.  :(

In welches gpx-format hast du da exportiert? Bei gpx 1.1 geht das meiner Meinung nach,  bei gpx 1.0 anscheinend nicht, weil da die Locus-spezifischen Tags nicht mit exportiert werden.

Das wäre eventuell auch die Lösung für Brouter, wenn er selbst eine Route mit via-Punkten aus der Locus-Datenbank in ein brouter0.gpx exportiert: die Zwischenpunkte könnten mit dem Locus-Tag <locus:rtePointAction>50</locus:rtePointAction> als wpt exportiert werden. Ich denke,  Locus würde sie dann als Zwischenpunkte erkennen und auch bei Neuberechnungen berücksichtigen.
  •  
    The following users thanked this post: erfi

erfi

Zur Info für Euch: Betreff fehlerhafte Routenführung nach Neuberechnung beim Nutzen der importierten .gpx-Datei:
Jetzt funktioniert die Routenführung mit Endzielpriorität auch mit mehreren Zwischenzielen.  :) Ich habe beim Import die Option "Punkte mit Track zusammenführen" gesetzt. Die Zwischenziele werden nun auf der Karte dargestellt und bei der Neuberechnung berücksichtigt. Das fehlende Häkchen war wohl der Fehler in meinen Einstellungen auf dem Gerät. 
  •