bikerouter.de / BRouter(-Web) - Fragen & Antworten, Hilfe, Profile, Tipps etc.

...ich bräuchte bitte mal Hilfe :)

Ich möchte mir Friedhöfe anzeigen lassen und habe eine Benutzerdefinierte Ebene hinzugefügt

Screenshot_20250120_153901_Brave.jpg


allerdings sehe ich nix

Screenshot_20250120_154007_Brave.jpg


Wo liegt mein Fehler?
 

Anzeige

Re: bikerouter.de / BRouter(-Web) - Fragen & Antworten, Hilfe, Profile, Tipps etc.
Die Syntax für Overpass-Turbo im Bikerouter ist leider anders, als auf overpass-turbo.eu.

Mit nwr[landuse=cemetery] suche ich mir bei der Tourenplanung passende Wasserstellen.
 
Ich möchte mir Hochsitze anzeigen lassen, nwr["amenity"="hunting_stand"]; funktioniert aber nicht. Tipps?

Edit meint, das ist kein Problem, man muss das auch als overpass-abfrage einstellen und nicht als Basisebene :wut:
 
...kann man die 1Nite Tent Karte "einbauen"? Und, wenn ja, wie?
hab ich hier auch schonmal gefragt, ein paar antworten drunter kam ein lösungsvorschlag, der zeigte mir jedoch nur einen bruchteil der spots an, auf die website gehen ist also vermutlich die zuverlässigere methode..
ich habs jetzt mit etwas händischer arbeit anhand dem verlinkten lösungsvorschlag doch noch hinbekommen. stolperstein ist scheinbar primär die limitierte funktionsweise vom geojson import von bikerouter.

ich hänge die ergebnisse aber nicht einfach hier an, da die daten von 1nite tent gehostet werden und ich nicht weiß ob so eine nutzung in deren sinne (und vor allem im sinne der 1nite tent gastgeber) ist, schließlich enthalten sie ja auch ne menge persönlicher daten. hier daher die erklärung der nötigen schritte:
  • bikerouter-web liest scheinbar nur das "name" feld der geojson aus, so dass die beschreibungen und kontaktdaten beim anklicken der POIs dann fehlen, damit kann man nicht so viel anfangen. per chatGPT kann man sich leicht ein python script schreiben lassen, das die inhalte von "description" und "link" mit in das "name" feld packt und dabei auch noch die html tags entfernt. (das folgende script erwartet eine "input.geojson" in dem ordner, von dem das pythonscript aus ausgeführt wird und spuckt dann eine output.geojson aus):
Python:
import json
import re

def strip_html(text):
"""Remove HTML tags and unnecessary whitespace from text."""
clean_text = re.sub(r"<[^>]+>", " ", text)  # Remove HTML tags
clean_text = re.sub(r"\s+", " ", clean_text).strip()  # Remove excessive whitespace
return clean_text

# Load the GeoJSON file
with open("input.geojson", "r", encoding="utf-8") as f:
data = json.load(f)

# Modify each feature
for feature in data["features"]:
properties = feature.get("properties", {})
name = properties.get("name", "").strip()
description = strip_html(properties.get("description", ""))
link = properties.get("link", "").strip()

# Combine name, description, and link
properties["name"] = f"{name} | {description} | {link}".strip(" |")

# Save the modified GeoJSON
with open("output.geojson", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)

print("GeoJSON updated successfully.")
  • bikerouter-web scheint größere geojsons nicht gerne zu verarbeiten. aufsplitten mittels geojsplit in 3 .geojson files mit je 800 elementen scheint ganz gut zu funktionieren (manchmal muss man aber selbst die 2 mal importieren damit es funktioniert. hinweis: drag + drop funktioniert!). dazu mittels eingabeaufforderung (windows) bzw terminal (mac / linux) im gleichen ordner in dem die datei liegt diesen befehl ausführen:
Bash:
geojsplit output.geojson --geometry-count 800
  • bikerouter-web wirft außerdem jedes mal beim import einen geojson fehler wenn die geojson keine route sondern nur POIs enthält, dem hab ich entgegengewirkt in dem ich zu beginn jeder teil-datei 2 exemplarische streckenkoordinaten hinzugefügt habe (damit kann ich gleichzeitig auch den kartenausschnitt, auf den bikerouter-web nach dem import zoomt bestimmen), meine 3 files beginnen also dann immer so:
JSON:
{
    "features": [
        {
            "geometry": {
                "coordinates": [
                    [
                        5.5,
                        47.4,
                        289.5
                    ],
                    [
                        15.2,
                        55.1,
                        293.25
                    ]
                ],
                "type": "LineString"
            },
            "type": "Feature"
        },

1740508177233.png


1740510845656.png
 
Zuletzt bearbeitet:
Ich habe aktuell ein Problem mit exportieren .FIT Files.

Die gleiche Tour - als GPX und als FIT exportiert. Das FIT-File in einem Garmin Edge 1040 importiert ergibt ca. 42000km Streckenlänge. Das GPX File wird korrekt importiert und im Garmin dargestellt.
Ich habe es auch mit einer zweiten Tour gestestet - gleiches Verhalten.

Ist das ein Garmin-Problem (der Edge 1040 hat letztens auch Updates erhalten) oder ein bikerouter-Problem?
 
Hatte mal einen ähnlichen Fall. In den Fit-Files sind seltsame Höhenwerte enthalten gewesen. Teilweise 0 Meter, dann wieder Trackpunkte mit über 40.000 Metern. Diese Differenzen addierten sich dann zu einer unglaublichen Entfernung, wenngleich der Track zweidimensional rein optisch völlig korrekt aussah. Ich verwende seitdem nur GPX-Files, da war das Problem nicht vorhanden.
Ich vermute, es ist ein Problem der exportierten Garmin-Files.
 
Wenn du in meinem Profil in Zeile 202 folgenden Code einfügst, wird quasi ausschließlich über asphaltierte Straßen geroutet:
multiply switch is_paved 1 12Das funktioniert so gut, dass ich auch schon überlegt habe, das als prefer_paved_paths Schalter einzubauen.
in dem quaelnix Profil tauchen ja die diversen Oberflächen auf:
"surface=asphalt|concrete|paved|paving_stones|sett|cobblestone|metal"

Was traumhaft wäre: unter Optionen Auswahlkästchen für die verschiedenen Oberflächen einzufügen (z.B. mit schmalen Reifen Asphalt und Beton; "metal" wäre wohl für Schienen (?).

Wo muss ich
Code:
assign avoid_main_roads = 10 # %avoid_main_roads% | große Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 3 = Standard, 10 = stark vermeiden | number

assign avoid_small_roads = 0 # %avoid_small_roads% | kleine Straße vermeiden(0-10): 0 = nicht vermeiden, 1 = leicht vermeiden, 5 = Standard, 10 = stark vermeiden | number
einfügen? Hab das unter context/global probiert, aber es hat sich nichts an der Routenführung geändert. Kann natürlich auch sein, dass dieses Stück der Kantonsstrasse in open street map falsch deklariert ist.
Möchte vermeiden, dass über stark befahrene Strassen geroutet wird (mit multiply switch is paved 1 12" wird entlang dem Fahrradstreifen der Kantonsstrasse geroutet). Edit: wenn ich die Strecke in bikerouter mit dem angepassten quaelnix Profil hier als link speichere, erscheint trotzdem ein anderes Profil...
Kann nur die route mit dem Original quaelnix Profil (ohne die Z202 Anpassung) hier ohne Veränderung verlinken...
https://bikerouter.de/#map=13/47.18...75;7.634843,47.190629&profile=quaelnix-gravel

Zwischen Bettlach und Bellach könnte mit Z202 Anpassung auch nördlich auf der Bellacherstrasse auf Asphalt gefahren werden (siehe Anlage).
Edit: evtl. etwas mit "sum_highwaypenalty" (ist das überhaupt passend, um Hauptstrassen auszuschliessen?) hinzufügen?
 

Anhänge

  • 2025-03-15 15_11_58-bikerouter.de - Brave.jpg
    2025-03-15 15_11_58-bikerouter.de - Brave.jpg
    142,4 KB · Aufrufe: 15
Zuletzt bearbeitet:
sehe - danke, dass Du die pathpenalty gleich berücksichtigt hast -
(path penalty: bedeutet das schmale Strassen?)
aus gravel. brf, siehe https://github.com/quaelnix/brouter...4604f78ede4dfc57fa65495317bc8/gravel.brf#L128

Code:
assign pathpenalty
    switch bicycle=yes|designated
        switch not foot=yes|designated    1.1
            switch segregated=yes         1.8
                                          2.4
    switch foot=designated                4.9
    # neither designated foot- nor cycle path
    switch lesser smoothnesspenalty 1.6   1.1
    switch not and surface= smoothness=   3.0
                                          4.9

aus quaelnix_gravel.brf

Code:
assign pathpenalty
    switch bicycle=yes|designated
        switch not foot=yes|designated    1.1
            switch segregated=yes         3.8
                                          4.6
    switch foot=designated                4.9
    # neither designated foot- nor cycle path
    switch lesser smoothnesspenalty 1.6   1.1
    switch not and surface= smoothness=   3.0
                                          4.9


Code:
switch segregated=yes         3.8

                                          4.6
statt

Code:
switch segregated=yes         1.8

                                          2.4
(soweit ich das sehe, ist das das einzig geänderte) steht also für die geänderte path penalty?
Versuche, das Ganze grob nach zu vollziehen, war - als ich das musste - kein Meister im Programmieren...
Wie kann ich eigentlich die als Fusswege deklarierten Wege ausschliessen (am besten als Schalter)?
https://community.openstreetmap.org/t/brouter-offline-fahrrad-routing-fur-android/62371/4
hat mich diesbezüglich nicht erleuchtet, schätze so eine Art penalty für Fusswege wäre das zielführende (?).
 
Zuletzt bearbeitet:
Die pathpenalty bezieht sich auf sämtliche Wege, die in OSM als highway=path eingetragen sind und die Fallunterscheidung darin versucht, der Tatsache Rechnung zu tragen, dass diese Sorte an Wegen, je nachdem, welche Tags dem Weg noch anheften, eine sehr unterschiedliche Bedeutung haben kann.
Wie kann ich eigentlich die als Fusswege deklarierten Wege ausschliessen (am besten als Schalter)?
Indem du jeweils den unteren Teil der footwaypenalty und der pathpenalty weiter erhöhst.
 
eine Variante, die deine Änderungsvorschläge beinhaltet: https://paste.rs/gAa6C
hab jetzt in Zeile 210 unte
Indem du jeweils den unteren Teil der footwaypenalty und der pathpenalty weiter erhöhst.

r assign costfactor" eingefügt:
assign costfactor
multiply switch is_paved 1 12

meinst Du mit "unterer Teil" die Zeile mit 4.9? Einfach 'mal probieren mit beispielsweise 5.5 oder wie?

Code:
switch not footway=sidewalk    3.2
                                   4.9
bzw.

Code:
switch not and surface= smoothness=   3.0
                                          4.9

Wenn ich zwischen d'rin ein paar Meter eine Treppe 'runter bzw. das Fahrrad z.B. 100m schieben müsste, wäre das auch kein Beinbruch. Aber ich glaube jetzt wird's kompliziert...
 
Zuletzt bearbeitet:
Moin,

manchmal, wenn ich bei der Routenplanung die Strecke mit der Maus irgendwo hin ziehe, wo es eigentlich keinen Weg gibt, ändert sich die Route von "Straßen und Wegen folgend" in eine blaue gepunktete Luftlinie zwischen zwei Wegpunkten. Die werde ich dann irgendwie nicht wieder los, also ich bekomme keine Wegeplanung für den Abschnitt mehr hin. Auch nicht, wenn ich Wegpunkte wieder entferne.

Was ist hier der Trick?

Gruß Björn
 
meinst Du mit "unterer Teil" die Zeile mit 4.9?
Die Zeilen, die gelb markiert sind, wenn man den beiden Links folgt.
Einfach 'mal probieren mit beispielsweise 5.5 oder wie?
So:
Code:
---context:global

assign prefer_paved_paths false # %prefer_paved_paths% | Enable to prefer paved paths | boolean
assign avoid_foot_paths true # %avoid_foot_paths% | Enable to avoid foot paths | boolean

---context:way

assign footwaypenalty
    switch bicycle=yes|designated
        switch segregated=yes      1.8
                                   2.6
    switch not footway=sidewalk    multiply 3.2 switch avoid_foot_paths 6 1
                                   multiply 4.9 switch avoid_foot_paths 6 1

assign pathpenalty
    switch bicycle=yes|designated
        switch not foot=yes|designated    1.1
            switch segregated=yes         multiply 1.8 switch prefer_paved_paths 2 1
                                          multiply 2.4 switch prefer_paved_paths 2 1
    switch foot=designated                multiply 4.9 switch avoid_foot_paths 4 1
    # neither designated foot- nor cycle path
    switch lesser smoothnesspenalty 1.6   multiply 1.1 switch avoid_foot_paths 4 1
    switch not and surface= smoothness=   multiply 3.0 switch avoid_foot_paths 6 1
                                          multiply 4.9 switch avoid_foot_paths 6 1
Hier die komplette Version: https://paste.rs/VOlfS
Wenn ich zwischen d'rin ein paar Meter eine Treppe 'runter bzw. das Fahrrad z.B. 100m schieben müsste, wäre das auch kein Beinbruch. Aber ich glaube jetzt wird's kompliziert...
Dann musst du dir mal die stepspenalty genauer anschauen und an deine Bedürfnisse anpassen.
 
Zuletzt bearbeitet:
Zurück