Ich kann so Punkte setzen, aber das Löschen ist schwierig. Manchmal klappt es durch noch mal drauf klicken. Meist aber nicht?! Gibt es einen Trick?
Ich habe jetzt noch zwei Änderungen eingebaut, die bewirken:
  • Ein Klick wirkt nur noch bei sichtbaren Kurven; nicht bei solchen, die ausgeblendet sind.
  • Dafür wird eine Kurve nicht nur genommen, wenn unmittelbar daneben geklickt wurde, sondern die Entfernung ist jetzt beliebig – es wird immer die nächstgelegene Kurve genommen.
  • => Man kann jetzt einen Punkt hinzufügen, indem man weit entfernt daneben klickt; dann ist er gleich an der richtigen Stelle. (Falls eine andere Kurve näher dran ist, muss man die vorher ausblenden.)
  • Und wenn man näher als 20 Pixel an einem Punkt dran ist, dann wird dieser gelöscht, statt ein neuer angelegt.
 
Und links und rechts ist die Geschwindigkeit erheblich höher. Und wieso steht da 0km und als Zeit 0:01?
Das habe ich jetzt behoben.
Wieso ist die Ordinate nicht ab null dargestellt?
Das kann ich nicht reproduzieren. Bei mir wurde es immer vollständig dargestellt, auch auf einem Tablet.
Dafür wird eine Kurve nicht nur genommen, wenn unmittelbar daneben geklickt wurde, sondern die Entfernung ist jetzt beliebig – es wird immer die nächstgelegene Kurve genommen.
Das macht es natürlich für das Tablet schwieriger; aber wenn du alle Input-Kurven ausblendest (ele, speed_max, wind, P_muscle), dann werden bei Berührung nur die Tooltips angezeigt.
 
Ganz am Beginn ist die Tretleistung auch null. Aber es entsteht in der Simulation ein Bremsen:
Sieht auf jeden Fall seltsam aus. Woher das Bremsen kommen soll, verstehe ich nicht. Generell wäre ich bei so kleinen Leistungen vorsichtig, da passiert es ja gelegentlich, dass es nicht vollständig konvergiert.

Aber ich kann das nicht nachstellen, wenn ich diesen Link aufrufe und einen P_muscle-Punkt am Anfang setze und die Tretleistung am Ende hochdrehe.
 
Kann es an dem in_speed_max=0 liegen? Weiß nicht woher das kommt - zumindest von mir so nicht eingetippt.
Nein. Das sagt nur, dass die dunkelgrüne Kurve ausgeblendet sein soll. (in_speed_max ist die Kurve, die man mit der Maus zurechtziehen kann; speed_max die daraus an jedem Punkt interpolierte Kurve, mit der dann gerechnet wird.)

Habe gerade noch eine Änderung eingebaut, dass man neue Punkte an Anfang/Ende ziehen kann und sie dort den alten Anfangs-/Endpunkt ersetzen. (Da es etwas schwierig ist, diese Punkte zu ziehen.) Also immer schön Reload drücken, damit auch die neueste Version geladen wird.
 
Nachdem es jetzt eine Weile ruhig war, habe ich endlich etwas weitergearbeitet:
Als Input einen BRouter-Output zusammen mit Nordwestwind Stärke 3 mit Zufallsböen :D
Zumindest der BRouter-Input ist jetzt verfügbar. Dazu muss die BRouter-URL im Parameter brouter übergeben werden (URL-codiert), etwa so:
  • BRouter-Route
  • im Velomobil-Simulator, d.h. angehängt ist:
    brouter=https%3A%2F%2Fbrouter.de%2Fbrouter-web%2F%23map%3D12%2F48.0449%2F11.8319%2Fstandard%2CHikeBike.HillShading%2Croute-quality%26lonlats%3D11.871071%2C47.987165%3B11.764984%2C48.050317%3B11.822319%2C48.081973%26profile%3Dvm-forum-velomobil-schnell
Damit das etwas leichter geht, habe ich auch ein Bookmark gemacht. D.h. den Link des Bookmarklet einfach als Browser-Lesezeichen speichern, auf die BRouter-Webseite gehen, die Route zeichnen, und dann das Lesezeichen aufrufen.

Funktionsweise:
  • Im BRouter kann man sich rechts eine Tabelle mit allen Routenpunkten anschauen.
  • Diese kann man sich auch direkt herunterladen, als GPX oder als GeoJSON.
  • Genau das tut mein Skript auch und erhält eine Liste von Routenpunkten.
  • Daraus wird erstens das Höhenprofil extrahiert. Per Mausklick kann das Höhenprofil trotzdem nachkorrigiert werden.
  • Zweitens werden die Koordinaten extrahiert und, wenn man die Parameter links oben einblendet, der aktuelle Punkt auf der Karte angezeigt. (Wenn zwischendurch ein großer Abstand zwischen den Routenpunkten ist, wird interpoliert, d.h. der Marker folgt dann nicht der Straße, sondern der direkten Linie.)
  • Drittens wird versucht, aus den Openstreetmap-Tags eine Maximalgeschwindigkeit zu bestimmen. Normalerweise ist diese 100 km/h; aber z.B. rechtwinklige Abzweigungen können nur mit 30 km/h gefahren werden (angelehnt an turncost), und bei einer Kreuzung mit Stoppschild oder beim Wechsel auf eine Straße einer höheren Kategorie muss man anhalten.
Ist also alles recht grob, aber erleichtert vielleicht das Herumspielen.
 
Damit das etwas leichter geht, habe ich auch ein Bookmark gemacht. D.h. den Link des Bookmarklet einfach als Browser-Lesezeichen speichern, auf die BRouter-Webseite gehen, die Route zeichnen, und dann das Lesezeichen aufrufen.
Stehe auf der Leitung: Beim tippen des blauen Text 'Bookmark' erfolgt keine Link-Auflösung.
Und wenn ich das selbst zusammenbastle mit Copy-Paste erfolgt der Standardaufruf des Simulators - so als wenn der Url-Anhang ignoriert worden sei.

Edit: Mein Aufruf war
 
Zuletzt bearbeitet:
Damit das etwas leichter geht, habe ich auch ein Bookmark gemacht.
Stehe auf der Leitung: Beim tippen des blauen Text 'Bookmark' erfolgt keine Link-Auflösung.
Habe ich etwas schlecht erklärt. Also, das geht so:
  • Der blaue Text ist ein Bookmarklet. Also einen Link, den man nicht direkt aufrufen soll, sondern nur als Lesezeichen speichern soll.
  • Dann geht man auf die BRouter-Webseite und klickt sich eine Route zusammen.
  • Während die BRouter-Webseite noch offen ist, ruft man das Lesezeichen auf.
  • Dieses enthält Javascript-Code, das die BRouter-URL (samt der ganzen Koordinaten) etwas umformatiert und an den VM-Simulator übergibt.
Ich glaube, die Forums-Software hat das Bookmarklet verunstaltet. Das Lesezeichen muss folgenden Inhalt haben:
 
Ich glaube, die Forums-Software hat das Bookmarklet verunstaltet. Das Lesezeichen muss folgenden Inhalt haben:
Jetzt passiert etwas:
In der URL-Zeile steht dann aber:
ha-te-te-p-s://christoph-moder.de/fahrrad/vm-simulator.php?brouter=about%3Ablank
Velomobil-Simulator mit BRouter
javascript:window.location='https://christoph-moder.de/fahrrad/vm-simulator.php?brouter='+encodeUR|Component(window.location);

Nach dem UR steht doch ein pipe-Symbol oder?
Sollte statt der Zeichen ' besser %27 stehen?
 
Zuletzt bearbeitet:
I explained something badly. So, it works like this:
  • The blue text is a bookmarklet. In other words, a link that should not be called up directly, but should only be saved as a bookmark.
  • Then you go to the BRouter website and click a route together.
  • While the BRouter website is still open, you open the bookmark.
  • This contains Javascript code that reformats the BRouter URL (including all the coordinates) and transfers it to the VM simulator.
I think the forum software defaced the bookmarklet. The bookmark must have the following content:
Awesome simulator, first off! Thanks!

What determines the interval at which a new elevation point is made? Is it a maximum number of elevation points per route or something similar?

I managed to make a few routes where it works splendid, but on this one (my commute) nothing happens, any idea to why?

https://brouter.de/brouter-web/#map=10/55.5741/13.0861/standard&lonlats=13.149025,55.673669;13.196195,55.663048;13.237882,55.647012;13.303413,55.609367;13.364096,55.543736;13.362122,55.539458&profile=vm -forum-velo mobile-fast
 
Nach dem UR steht doch ein pipe-Symbol oder?
Nein, das ist ein großes i.

Zum Verständnis:
  • encodeURIComponent konvertiert die Sonderzeichen in der URL
  • dann wird das an die URL des Velomobil-Simulators angehängt
  • und schließlich der Browser auf diese Seite geleitet
What determines the interval at which a new elevation point is made? Is it a maximum number of elevation points per route or something similar?
Route points are not evenly spaced because the segments don’t have the same size. If there is a long road without any intersections or junctions, then it is one long segment, and elevation data is only available at the points at the end of the segment.
I managed to make a few routes where it works splendid, but on this one (my commute) nothing happens, any idea to why?
Good question; I have to investigate that. There is a Javascript error that the interpolation fails. Maybe there are multiple data points at the same location, and I have to remove all but one.
 
Zurück
Oben Unten