ich versuche gerade osm2po auf ein Fußgängerprofil umzustellen. Leider finde ich den betreffenden Eintrag in der osm2po.config Datei (sofern das hier gemacht wird) nicht. Kann mir jemand erklären, wie und wo das geht?
Bisschen warten und du hast auf localhost:8888 einen Router für Autos. Wenn das läuft, stellst Du den in osm2po.config auf foot um:
wtr.finalMask = foot
Jetzt hast Du einen Router, der zwar angeblich für Füsse ist, aber viele geeignete Wege ignoriert. Das liegt daran, dass noch ganz viele Strassen gar nicht geladen werden, weil sie auskommentiert wurden:
Da machst Du die # weg und hast einen Router, der alle Strassen erfasst. Hinter die angeblich nur für Autos gedachten Wegeklassen schreibst Du auch noch “foot”, schliesslich kann man ja auf einer primary auch laufen:
hast Du einen Router, der zwar auf allen Wegen und Pfaden routet, aber nach “autoregeln”. Er bevorzugt also highway=primary, wo er angeblich mit Tempo 70 vorankommt. Immerhin findet er jetzt auch zum Zielpunkt auf einem Waldweg.
… Der Rest ist rumprobieren mit priority und speed und immer wieder neu starten. Deshalb würde ich mir erst mal ein ganz kleines Gebiet runterladen, “oberbayern-latest.osm.pbf” oder irgendwas wo du dich auch im echten Leben auskennst.
PS: Ich hab die Aufrufe aus der mitgelieferten Beispieldatei. prefix=hh kommt daher, dass das Beispiel für Hamburg gedacht ist, und vielleicht kann man irgendwie die Demo-Webseite des Routers auch dazu bringen, verschiedene Profile zur Auswahl anzubieten. Rätselhafte Knöpfe und Einstellungen hat diese Seite ja genug
Vielen Dank für Deine Hilfe. Ich habe das Ganze soweit zum Laufen bekommen. Vielleicht kannst Du (oder auch jemand anderes) noch zwei weitere Fragen beantworten:
Im Tool osm2po kann man zu nutzenden Wege nach dem folgenden Muster auswählen:
wtr.tag.highway.footway = 1, 91, 50, foot
Ich möchte nicht alle “footway” nutzen, sondern nur solche, die auch Licht “lit” und Rollstuhlgeeignet sind.
Das wäre dann ein Aufruf, der wie folgt zusammengesetzt wäre:
wtr.tag.highway.footway AND lit=yes AND wheelchair=yes = 2, 91, 5, foot
Die umgekehrte Formulierung wäre einfach. “Ich möchte alle Wege ausschliessen, die mit wheelchair=no oder lit=no getaggt sind”. Das würde ich einfach analog zu Verboten eintragen:
Deine Formulierung könnte ich nicht umsetzen, aber das ist auch der Punkt, wo ich aufgehört habe und mich lieber mit der Manipulation der Daten in der DB beschäftigt habe. Vermutlich würde ich diese Wege so wie hier für tracktype=grade4+5 empfohlen einfach nur sehr teuer machen. In der Praxis ausserhalb meines Testgebietes sowieso, zu leicht vergisst man mal für eine Strassenüberquerung von 3m ein lit=yes einzutragen und macht damit ganze Strassenzüge fürs Routen unter Laternen unbrauchbar…
Grüße, Max
PS: Beim Testen bin ich über wtr.maxSpeedOverrides gestolpert…
wtr.maxSpeedOverrides=false
ist wichtig, weil sonst überschreibt ein maxspeed-Wert Deine Einstellungen. Und OSM meint mit maxspeed die Autos.
Das steht nicht drin, ich habs selbst eingetragen, vermutlich motiviert durch irgendeinen Hinweis (da z.B. oder wo anders).
Maxspeed steht an ganz vielen Strassen in den Tags, oft bei den “richtigen” Strassen (z.B. diesem highway=residential), manchmal aber sogar bei Fusswegen (dieser highway=path z.B., warum auch immer, vermutlich ist es einfach falsch, aber trotzdem isses halt da).
“maxSpeedOverrides” ersetzt die grob geschätzte Durchschnittsgeschwindigkeit in der osm2po.config, der für alle Strassen gilt, durch den individuellen Wert dieser Strasse. Für dich ist es unpraktisch, weil du mit Geschwindigkeiten für Fussgänger arbeitest und Autogeschwindigkeiten für dich egal sind.
Nur als Anmerkung: In den Niederlanden stehen selbst auf Fuß/Radwegen gelegentlich maxspeed-Schilder. Ich habe mich noch nicht interessiert, ob sie für Radler überhaupt gelten, gedacht sind sie jedenfalls für die bromfietsers, die die Radwege mitbenutzen müssen.