BRouter Version 1.5.5

Started by jusc, August 04, 2014, 20:16:16

0 Members and 16 Guests are viewing this topic.

chbla

Hi,

Ich wuerde das feature gerne pushen :) Brouter mit instructions waere fuer mich die beste Routing Loesung die ich mir vorstellen kann - vorallem wegen den Profilen.

Laut Menion kocht da wirklich jeder sein eigenes Sueppchen, das ist ziemlich schade. Die Moeglichkeiten laut seiner Aussage sind:

Quote1) extending export from BRouter by same tags and system as is used in MapQuest, Google or other service (every has own solution!)
2) extending GPX by Locus private tags (in this case, it will be export for Locus-only)
3) it should be also possible to use Locus API which allows directly create track with navigation commands anyway this will require import of Locus API and again, result will be Locus-only

Allerdings sollte so etwas meiner Meinung nach nicht Locus-spezifisch sein.

Bisher plane ich meine Routen mit brouter online und fuege dann in bikeroutetoaster Abbiegehinweise hinzu (TCX Courses File). Ich bin nicht sicher ob das TCX Schema da Sinn macht, aber es ist das einzige was halbwegs funktioniert.

Aufgrund von anderen Diskussionen frage ich aber eben mal bei den GPX Leuten nach, obs da keine einheitliche Loesung fuer sowas gibt..
  •  

abrensch

Hallo,

ich hab' die Version 1.3 hochgeladen (nur Distribution-Zip, nicht Google-Play):

http://brouter.de/brouter/revisions.html

Das ist ein rein technlogischer Update, er macht die Datenfiles deutlich kleiner, macht die carsubset-dateien überflüssig und verbessert den Memory-Footprint, verhindert also Out-Of-Memory-Fehler.

Das ist nur als Zwischenrelease gedacht, und die 1.4 wird dann (hoffentlich) auch funktional was neues bringen (Voice-Hints?) und dann auch wieder auf Google-Play erscheinen. Aber so will ich jetzt erstmal im "friendly fire" mögliche Probleme mit dem Datei-Format-Update erfahren...

Gruss, Arndt
  •  

gynta

#32
Danke

Die neuen Segment-daten haben folglich einen anderen Pfad.
http://brouter.de/brouter/segments4/
Ich werde das Tutorial nach ersten Tests anpassen...

Nachtrag:
Die Datenmenge von D A CH: ist nun rund 500MB groß und somit um ca. 50% geschrumpft.
Da man sich nun auch noch die "carsubsets" erspart, ist das schon ein recht guter Schritt gewesen.


jusc

laufen die Versionen parallel, oder installiert man "drüber" und muss dann noch den Pfad anpassen?
Regards J.
  •  

gynta

Quote from: abrensch on October 16, 2015, 08:28:05
...verhindert also Out-Of-Memory-Fehler...

Locus hat jetzt zumindest bei einem meiner Tests (10KM Fußmarsch in der Großstadt) nach 60 Sekunden abgebrochen.
Sollte diese Zeitspanne erweitert werden oder kam der Abbruch doch wieder von BRouter?

Eine weitere Frage.
Die beiden mitgelieferten "lookups.dat" Datein in der zip bzw. in der apk unterscheiden sich.
Was hat das auf sich?

abrensch

Quote from: jusc on October 16, 2015, 12:34:07
laufen die Versionen parallel, oder installiert man "drüber" und muss dann noch den Pfad anpassen?

Die neue Version kann auch die alten Dateien noch verarbeiten. Ich habe das gleiche Verfahren gewählt bei beim letzen Format-Wechsel im letzten Jahr:

- Verzeichnis "segments4" wird automatisch neu angelegt mit einer Datei "storageconfig.txt", die per "secondary_segment_dir" auf das alte Verzeichnis (segments3) Zeigt, damit das auch noch gefunden wird.

- "secondary_segment_dir" ist aber eigentlich dazu da, irgendwo auf die externe SD-Karte zu zeigen, solche Konfigurationen gehen also verloren und müssen nachgetragen werden.

- der Download-Manager schreibt immer in segments4 und verdeckt dann alte Dateien in segments3, die aber nicht gelöscht werden.

Der Download-Manager kann jetzt übrigens auch Updates, und hat eine leicht erhöhte Bandbreite (2Mbit = 262 Kb/s statt bisher 200 Kb/s), so dass der Dach-Download über den Download-Manager jetzt ca eine halbe Stunde dauert.
  •  

abrensch

Quote from: gynta on October 16, 2015, 12:51:00
Locus hat jetzt zumindest bei einem meiner Tests (10KM Fußmarsch in der Großstadt) nach 60 Sekunden abgebrochen.
Sollte diese Zeitspanne erweitert werden oder kam der Abbruch doch wieder von BRouter?

Ja schon, aber das ist ja der Timeout und kein Memory-Fehler. Sollte bei 10km aber auch nicht passieren.

Memory-Fehler bekamst Du z.B., wenn Du per "fastbike" von Frankfurt nach Hamburg geroutet hast (per BRouter-App). Das wird zwar immer noch eine halbe Stunde dauern, aber abbrechen soll es nicht mehr.


QuoteEine weitere Frage.
Die beiden mitgelieferten "lookups.dat" Datein in der zip bzw. in der apk unterscheiden sich.
Was hat das auf sich?

Das ich mich vertan habe. Hätte in beiden Fällen die neue (minor version 5) sein sollen. Ist aber erstmal nicht so tragisch.
  •  

erfi

#37
Vielen Dank, wieder tolle Arbeit!  :) Mein erster Eindruck: Funktioniert astrein! Habe nun wieder viel mehr Speicherplatz, Segments3 habe ich bis auf eine Datei (Testzweck) ausgemistet. Die Berechnungen klappen prima und flott. Eine Testroute von etwa 15km durch den eng verzweigten Berliner Dschungel zu Fuß dauerte ganze 6 Sekunden. Downloads in Segments4 ohne Probleme. Klasse!
  •  

franc

Habe auf SGS4 mit CM12.1 die 1.3.1 und dann die 1.3 probiert, vorher die 1.2 von GP deinstalliert, aber beim Start stürzt BRouter sofort und ordentlich ab, ohne Meldung (Crash Report).
Weiß nicht woran es liegt. Habe auch testweise das alte brouter Verzeichnis umbenannt.
Auch testweise das Profil Verzeichnis aus dem zip.

Läuft die 1.3.x evtl nicht auf CM12.1?
Die 1.2 geht problemlos.
Locus Pro - always the actual version on Xiaomi Mi A1 mit Android 9
  •  

erfi

#39
Ich hatte bei mir vorher nichts deinstalliert, einfach die BRouter 1.3.1 .apk-Datei ausgeführt. Vorher musste ich natürlich das in den Sicherheitseinstellungen genehmigen (...Installation von Apps aus unbekannten Quellen).
Umbenennen musst/darfst Du auch nichts, der neue Ordner Segments4 wird automatisch angelegt.
Ob es Probleme mit CM12.1 gibt, kann ich Dir nicht sagen, da ich es nicht nutze.
  •  

franc

Das hatte ich zuerst versucht, musste allerdings die 1.2 vorher deinstallieren um überhaupt installieren zu können. Geht/ging alles nicht, stürzt sofort brutal ab, reißt also sogar noch die aufrufende App mit in den Tod.
Muss ich mal LogKatze laufen lassen, vielleicht (auch wenn eher unwahrscheinlich) steht da was aufschlussreiches drin dazu
Locus Pro - always the actual version on Xiaomi Mi A1 mit Android 9
  •  

franc

#41
Mist!!!
Es liegt am Xposed Framework. Deaktiviere ich es (d.h. etwas mühsam den Uninstaller flashen), geht der BRouter nämlich.
Mit aktivem Xposed kommt eine NullPointerException:
10-28 19:38:05.216 E/AndroidRuntime(15614): FATAL EXCEPTION: main
10-28 19:38:05.216 E/AndroidRuntime(15614): Process: btools.routingapp, PID: 15614
10-28 19:38:05.216 E/AndroidRuntime(15614): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.AbsListView.obtainView(AbsListView.java:2349)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.ListView.measureHeightOfChildren(ListView.java:1270)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.ListView.onMeasure(ListView.java:1182)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5536)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
10-28 19:38:05.216 E/AndroidRuntime(15614): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2871)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.View.measure(View.java:17562)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1148)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.Choreographer.doCallbacks(Choreographer.java:580)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.Choreographer.doFrame(Choreographer.java:550)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.os.Handler.handleCallback(Handler.java:739)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.os.Handler.dispatchMessage(Handler.java:95)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.os.Looper.loop(Looper.java:135)
10-28 19:38:05.216 E/AndroidRuntime(15614): at android.app.ActivityThread.main(ActivityThread.java:5294)
10-28 19:38:05.216 E/AndroidRuntime(15614): at java.lang.reflect.Method.invoke(Native Method)
10-28 19:38:05.216 E/AndroidRuntime(15614): at java.lang.reflect.Method.invoke(Method.java:372)
10-28 19:38:05.216 E/AndroidRuntime(15614): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
10-28 19:38:05.216 E/AndroidRuntime(15614): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
10-28 19:38:05.216 E/AndroidRuntime(15614): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)
10-28 19:38:05.216 W/ActivityManager(  646):   Force finishing activity 1 btools.routingapp/.BRouterActivity

Ich habe das komplette LogCat mal angehängt, könntest du @Arndt, da überhaupt was machen?
Das wäre natürlich toll. Im Xposed Thread werde ich aber natürlich auch nachfragen.
Danke. Gruß franc
Locus Pro - always the actual version on Xiaomi Mi A1 mit Android 9
  •  

franc

Sehr sonderbar. Jetzt habe ich auch ohne Xposed den Fehler gehabt. Dann habe ich es wieder installiert und jetzt geht es im Moment auch mit Xposed. Sehr sonderbar. Ich konnte sogar die segments runterladen!
Auch das Routen in Locus geht.
Scheint mir ein allzu lokales Problem zu sein dann.

Habe ich richtig verstanden, ich kann die alten segments3 Dateien und die carsubsets alle löschen, wenn das stabil geht mit der 1.3.1?
Locus Pro - always the actual version on Xiaomi Mi A1 mit Android 9
  •  

meppen7

Ja,
die Dateien in segments3 werden nicht mehr benötigt.
  •  

abrensch

Quote from: franc on October 28, 2015, 20:01:40
Mit aktivem Xposed kommt eine NullPointerException:
...
könntest du @Arndt, da überhaupt was machen?

Ich hab' zwischen 1.2 -> 1.3.1 an der Start-Sequenz (also bis der Base-Dir Selection Dialog erscheinen soll) eigentlivh nichts geändert, von daher wundert's mich ein bisschen.

Was ich machen kann ist die Fehlerbehandlung an dieser Stelle robuster, glaub' aktuell fliegt da eine ganze Klasse von Exceptions einfach raus, Dein NullPointer könnte also auch ein Folge-Fehler von was anderem sein.

Gruss, Arndt
  •