Buslinien via Overpass in Bereich finden

Hallo,

ich möchte gerne mit der Overpass API + leaflet die Buslinien in einem Bereich darstellen, dazu verwende ich folgende Suchanfrage:

[out:json][timeout:25];
(
  node[public_transport=stop_position](<bbox>);
  way[public_transport=platform](<bbox>);
  relation['type'='route']['route'='bus'](<bbox>);
);
out;
>;
out skel;

Das Ergebnis wird so verarbeitet:

Bei kleineren Datenmengen ist die Verarbeitungsgeschwindigkeit OK, jedoch bei grossen Datenmengen wie z.B.: Brüssel dauert es zu lange.

Ist meine OverpassQuery OK oder verwende ich die falschen Tags ?

Danke für’s lesen.

Bei größeren Gebieten kann Overpass schon mal länger dauern, sollte aber kein Problem darstellen: siehe hier die Spalte Download duration, für den gesamten VBB 272 MB in 44 Sekunden mit dieser Overpass Query (deutlich komplexer als deine?)

Bei meiner Darstellung einer einzelnen Relation hatt ich eher Performanceprobleme in meinem eigene Code, den miche101 dann behoben hatte. Der Download erfolgt hier allerdings via API von OSM.

Danke für deine Antwort.

Wenn es nicht an der Anfrage liegt, ist es vermutlich daran das die Daten auf einem KaiOS-Telefon verarbeitet werde, welche eher low-end sind.

Wie kann ich denn den genauen Routenverlauf reproduzieren ? Zur Zeit vebinde ich einfach die Haltestellen (leaflet polyline) was nicht sehr genau ist.

Die Route-Relation enthält ‘way’ member ohne ‘role’. Das sind die benutzten Straßen, und wenn die vollständig (und in der richtigen Reihenfolge) sind reicht es vermutlich aus jeden member ‘way’ ohne ‘role’ als polyline darzustellen - wenn die relation public_transport:version=2 ist.

Bei anderen Route-Relationen (nicht-PTv2) können Straßen gegebenenfalls eine ‘role’ = ‘forward’ bzw. ‘backward’ in der Relation haben.

Stops und Platforms sollten sowieso ‘role’ = ‘stop*’ (stop, stop_entry_only, stop_exit_only) bzw. ‘role’ = ‘platform*’ haben (platform, platform_entry_only, platform_exit_only) haben

Soweit die Theorie, denn nicht alle Route-Relationen sind fehlerfrei. Daher PTNA zur Qualitätssicherung.

Ich finde leider nicht wie ich den Name einer Haltestelle mit meiner Anfrage erhalte.

relations.members enthält die nodes,
jedoch fehlt in den nodes der tags.name
ist das mit meiner Anfrage nicht möglich mehr Informationen zu den nodes zu erhalten oder habe ich die Struktur der Daten nicht verstanden ?