User:ToniE/analyze-routes
Motivation
Erste Diskussionen fanden auf einem Münchner Stammtisch im Februar 2017 statt.
TBD: weitere Links auf die verschiedenen schon existierenden Seiten.
Analysierte Verbunde
Die Auswertung ist nun endgültig umgezogen: PTNA - Public Transport Network Analysis.
Download der Daten via Overpass-API Abfrage
Für die Auswahl der Daten wird das Overpass-API verwendet.
Die Abfrage erfolgt außerhalb des eigentlichen Analysetools durch einen wget-Aufruf unter Linux.
Aufbau der Overpass-API-Abfrage
Die Abfrage selber gliedert sich in 3 große Teile:
Eingrenzung und Abspeichern des Gebietes
Als (Regierungs-)Bezirk
area[boundary=administrative][admin_level=5][name='Oberbayern']
Als (Land-)Kreis (hier zwei Kreise: Kreisfreie Stadt "Landshut" und "Landkreis Landshut")
area[boundary=administrative][admin_level=6][name~'Landshut']
Als Liste von (Land-)Kreisen
area[boundary=administrative][admin_level=6][name~'(Dachau|München|Ebersberg|Erding|Starnberg|Freising|Tölz|Wolfratshausen|Fürstenfeldbruck)']
Als Geimeindegebiet
area[boundary=administrative][admin_level=8][name='Ottobrunn']
Als Gebiet eines Verkehsverbundes
area[boundary=public_transport][name='Verkehrsverbund Rhein-Sieg']
Via Polygon
(poly:'48.0770 11.6378 48.0436 11.6378 48.0436 11.7024 48.0770 11.7024')
Auswahl und Abspeichern aller relevanten Route und deren Route-Master Relationen
(rel(area)[route~'(bus|tram|train|subway|light_rail|trolleybus|ferry|monorail|aerialway|share_taxi|funicular)'];rel(br);rel[type='route'](r);)->.routes;
Auswahl und Abspeichern der Routen innerhalb des Gebietes
Es erfolgt eine unscharfe Auswahl durch Verwendung von '~'. Das stellt sicher, dass auch "verdächtige" Relationen mit z.B. route='suspended_bus'
gefunden werden.
Es wird absichtlich nach 'route' und nicht nach 'route_master' gesucht, da PTv1 keine Route-Master kennt und wir eine Bestandsaufnahme aller ÖPNV Linien anstreben.
Nur Busse
rel(area)[route~'(bus)'];
Busse und Bahnen
rel(area)[route~'(bus|train)'];
Alle bekannten ÖPNV Typen
rel(area)[route~'(bus|tram|train|subway|light_rail|trolleybus|ferry|monorail|aerialway|share_taxi|funicular)'];
Auswahl und Abspeichern der zugehörigen Route-Master (Eltern-Relationen)
Die Tags der Eltern-Relationen sowie die IDs der Member der Eltern-Relationen
rel(br);
Auswahl und Abspeichern aller Route Relationen die zu den Route-Master Relationen gehören
Diese extra Abfrage stell sicher, dass auch diejenigen Route-Relationen ausgewählt werden, die sich außerhalb des Suchgebietes befinden, aber zum eigentlichen Suchumfang gehören sollten
rel[type='route'](r);
Ausgabe der relevanten Informationen
(.routes;<<;rel(r.routes);way(r.routes);node(r.routes););out;
Ausgabe aller abgespeicherten Route-Master und Route Relationen
.routes;
Ausgabe aller Eltern-Relationen, Großeltern-Relationen, ... der Route-Master und Route Relationen
<<;
Ausgabe der Member der Routen, die Relationen sind
Platforms, ... und deren Tags sowie deren Ways (nur deren IDs)
rel(r.routes);
- gelegentlich werden hierdurch wieder weitere Route-Relationen geladen. Das führt zu Fehlermeldungen bei der Analyse
- "Error in input data: ...", da deren Relation-, Way- und Node-Memmber nicht nachgeladen werden.
- das Nachladen von Route-Relationen an dieser Stelle deutet auf Fehler beim Mapping hin:
- die nachgeladenen Route-Relationen sind Member von Route-Relationen oder Network-Relationen
- die nachgeladenen Route-Relationen liegen zudem außerhalb des Suchgebietes, sind also für die Analyse nicht relevant.
- gelegentlich werden hierdurch wieder weitere Route-Relationen geladen. Das führt zu Fehlermeldungen bei der Analyse
Ausgabe der Member der Routen, die Ways sind
Straßen, Platforms, ... und deren Tags sowie die IDs ihrer Nodes (nicht die Tags der Nodes)
way(r.routes);
Ausgabe der Member der Routen, die Nodes sind
Stop-Positions, Platforms, ... und deren Tags
node(r.routes);
Die Overpass-API-Abfrage liefert
- Die Overpass-API Abfrage liefert alle Routen für ÖPNV sowie deren Route-Master für den angegebenen Ort (die angegebene Region).
- Zusätzlich werden indirekt noch Routen außerhalb des Ortes, der Region über die Member-Ship der Route-Master Relationen geliefert.
- Des Weiteren werden alle Eltern-Relationen, Großeltern-Relationen, ... der Route-Relationen und Route-Master -Relationen gefunden.
- danach liefert die Abfrage noch alle Ways und Nodes der Routen (d.h. Member der Relationen mit ihren Details, sowie die Ids aller Nodes der Ways).
Die Overpass-API-Abfrage liefert nicht
- Die Suche erfolgt absichtlich nicht nach "route_master"-Relationen und deren Mitgliedern.
- PTv1 relation haben keinen Route-Master, sie würden nicht gefunden werden, eine Bestandsaufnahme wäre somit unvollständig,
- Route-Master haben keine physischen Objekte, die Suche in einem Gebiet scheitert und liefert keine Daten.
- Route-Master ohne Routen (leere Route-Master) werden hiermit nicht gefunden.
- "stop_area"-Relationen werden nicht gesucht und somit auch nicht analysiert.
- sie haben keine Bedeutung für Linien des ÖPNV.
- dafür und für die Analyse von 'stop_position" und 'platform" Objekten könnte
- evtl ein weiteres Tool geschrieben werden oder
- das selbe Tool eine zweite Output-Datei erzeugen
- oder schaut mal bei Ilya Zveriks Subway Validator vorbei. Blog.
Die Overpass-API-Abfrage erlaubt
Diese Abfrage erlaubt eine Analyse der ÖPNV-Linien dahingehend, dass auch die Wegstrecke auf Vollständigkeit geprüft werden kann. Nodes, Ways und Relationen (Stops und Platforms) und deren Tags können nun auch gegen deren Rolle 'role' in der Relation geprüft werden. Die Abfrage liefert XML-Daten zwischen 1.1 MB und ~93 MB, je nach Größe des Gebietes und des Verkehrsverbundes (Gemeinde Ottobrunn: 1.1 MB, Verkehrsverbund Rhein-Nekar: ~93 MB).
Beispiele
Suche nach dem (Land-)Kreis
Als Beispiel wird Landshut verwendet Es werden alle Busse analysiert, die durch das Gebiet fahren.
- der Landkreis Landshut (name="Landkreis Landshut") hat den "admin_level" 6 und existiert weltweit als Kreis mit diesem Namen nur ein einziges mal - das ist zu beachten!
- die Kreisfreise Stadt Landshut (name="Landshut") hat den "admin_level" 6 und existiert weltweit als Kreis mit diesem Namen nur ein einziges mal - das ist zu beachten!
Da hier beide Kreise erfasst werden sollen wird die unscharfe Suche nach "Landshut" verwendet.
https://overpass-api.de/api/interpreter?data=area[boundary=administrative][admin_level=6][name~'Landshut'];(rel(area)[route~'(bus)'];rel(br);rel[type='route'](r);)->.routes;(.routes;<<;rel(r.routes);way(r.routes);node(r.routes););out;
Suche nach der Gemeinde
Als Beispiel wird hier die Gemeinde Ottobrunn südöstlich am Stadtrand von München verwendet. Es werden alle Busse und Züge (S-Bahn) analysiert, die durch das Gemeindegebiet fahren.
- Die Gemeinde Ottobrunn hat den "admin_level" 8 und existiert weltweit als Gemeinde mit diesem Namen nur ein einziges mal - das ist zu beachten!
https://overpass-api.de/api/interpreter?data=area[boundary=administrative][admin_level=8][name='Ottobrunn'];(rel(area)[route~'(bus|train)'];rel(br);rel[type='route'](r);)->.routes;(.routes;<<;rel(r.routes);way(r.routes);node(r.routes););out;
Suche per Polygon
Als Beispiel hier eine Gegend um Augsburg herum definiert. Die Definition erfolgt per Polygon.
Es werden alle Busse und Züge (S-Bahn) analysiert, die durch das Gebiet fahren.
Hier wurde der Einfachheit halber ein Rechteck gewählt mit: oben links, unten links, unten rechts, oben rechts.
Es sind jedoch beliebige Polygone realisierbar - durch Hinzufügen von weiteren Breitengrad/Längengrad-Paaren.
Siehe auch: Overpass-API Abfrage für Augsburger Verkehrs- und Tarifverbund
https://overpass-api.de/api/interpreter?data=(rel(poly:'48.0770 11.6378 48.0436 11.6378 48.0436 11.7024 48.0770 11.7024')[route~'(bus|train)'];rel(br);rel[type='route'](r);)->.routes;(.routes;<<;rel(r.routes);way(r.routes);node(r.routes););out;
Suche per Verkehrsverbund
Als Beispiel wird hier ein Verkehrsverbund, für den es eine boundary=public_transport Relation gibt.
Es werden alle ÖPNV-Transportmittel analysiert, die durch das Gebiet fahren.
Hier werden die Grenzen des VRS, Verkehrsverbund Rhein-Sieg, benutzt.
https://overpass-api.de/api/interpreter?data=area[boundary=public_transport][name='Verkehrsverbund Rhein-Sieg'];(rel(area)[route~'(bus|tram|train|subway|light_rail|trolleybus|ferry|monorail|aerialway|share_taxi|funicular)'];rel(br);rel[type='route'](r);)->.routes;(.routes;<<;rel(r.routes);way(r.routes);node(r.routes););out;
Das Analyse-Tool
Filter nach network
Aus den Daten der Overpass-API Abfrage werden alle Routen und Route-Master herausgefiltert/entnommen, die gewissen Kriterien entsprechen:
- der network-Tag ist nicht vorhanden oder
- der network-Tag enhält 'MVV' (short) oder
- der network-Tag enthält 'Münchner Verkehrs- und Tarifverbund' (long).
Test Linien
Im nächsten Schritt werden die entnommenen Linien mit einer Liste verglichen. Diese Liste (CSV-Datei*) enthält einige Linien des MVV. Die Liste ist ein Teil der Liste der MVV-Linien, diese haben wir zum überwiegenden Teil direkt vom MVV bekommen. Die Einträge in der CSV-Datei enthalten u.A. Informationen über die Liniennummer ('ref') und den Type des Verkehrsmittels ('route'='bus', ...). Die in OSM gefundenen Linien müssen dabei sowohl
- mit ref als auch mit route_master bzw. route in der Liste vorkommen
Beispiel: '210;bus': Linie 210 muss als Bus-Linie erscheinen (d.h. 'ref' = 210 und ('route_master' = 'bus' oder 'route' = 'bus)).
Als Tram oder U-Bahn wird sie nicht berücksichtigt und erscheint auf der nächsten Liste ("Other Public Transport Lines").
(*): Die CSV-Datei ist keine reine CSV-Datei mehr. Lediglich die Linieneinträge passen noch zum Format von CSV.
Andere ÖPNV Linien
Übrig bleiben die Linien, die
- den network-Tag Kriterien entsprechen und
- eben nicht in der Liste (CSV-Datei) vorkommen.
Taucht in dieser Liste ("Andere ÖPNV Linien") z.B. eine MVV Linie 724 auf, so ist das ein Indiz, dass es diese Linie nicht mehr gibt - sie wurde u.U. eingestellt (denn sonst würde sie bei der Liste "Test Linien" auftauchen).
ÖPNV Linien ohne 'ref'
Hierzu zählen alle Linien, die
- keinen ref-Tag haben
- egal, ob sie den network-Tag Kriterien entsprechen oder nicht
Weitere Relationen
Dieser Abschnitt enthält weitere Relationen aus dem Umfeld der Linien:
- evtl. falsche 'route' oder 'route_master' Werte?
- z.B. 'route' = "suspended_bus" statt 'route' = "bus"
- aber auch 'type' = 'network' oder 'route' = "network", d.h. eine Sammlung aller zum 'network' gehörenden Route und Route-Master.
- solche Sammlungen sind streng genommen Fehler, da Relationen keinen Sammlungen darstellen sollen: Relationen sind keine Kategorien
Die Darstellung erfolgt in diesem Abschnitt lediglich mit der Relation-ID und markanten Tags.
Details zu 'network'-Werten
Das 'network' Tag wird nach den folgenden Werten durchsucht:
- <langer Name des Verkehrsverbundes>
- <kurzer Name des Verkehrsverbundes>
- 'network' ist nicht gesetzt
Berücksichtigte 'network' Werte
Dieser Abschnitt listet die 'network'-Werte auf, die berücksichtigt wurden, d.h. einen der oben genannten Werte enthält.
Nicht berücksichtigte 'network' Werte
Dieser Abschnitt listet die 'network'-Werte auf, die nicht berücksichtigt wurden. Darunter können auch Tippfehler in ansonsten zu berücksichtigenden Werten sein.
Prüfungen
Verwendetes Schema
Die Daten durchlaufen mehrere Prüfungen, wobei der Fokus auf dem Schema: Public Transport Version 2 liegt. Dieses Schema wird beschrieben unter:
wobei ich mich vornehmlich auf das Approved Feature Public Transport beziehe, da die einzelnen Tags dort weitaus besser beschrieben sind.
Abweichungen
Die Abweichungen betreffen im Wesentlichen eine striktere Auslegung der im Approved Feature Public Transport definierten Vorgehensweise:
- "recommended" wird bei den folgenden Tags als "mandatory" gesehen
- public_transport:version
- public_transport:version=2 ist wichtig um die PTv2 Analyse für eine Route zu starten
- network
- ist wichtig um nach dem zu analysierenden Verkehrsverbund zu filtern
- ref
- ist wichtig um die einzelnen Teillinien einander zuordnen zu können (das wird nicht über einen evtl. vorhanden Route-Master gemacht, den gibt es bei PTv1 ja auch nicht)
- name
- sollte gesetzt werden, damit man die Teillinien auseinander halten kann
- Einfache Linie
- name="Bus 210: Neuperlach Süd => Brunnthal, Zusestraße" Hinfahrt
- name="Bus 210: Brunnthal, Zusestraße => Neuperlach Süd" Rückfahrt
- Linie mit unterschiedlichen Wegen
- name="Bus 221: Unterhaching (S) => Waldheimplatz" Hinfahrt am Wochenende
- name="Bus 221: Unterhaching (S) => Siemensstraße => Waldheimplatz" Hinfahrt werktags (durchs Gewerbegebiet)
- name="Bus 221: Waldheimplatz => Unterhaching (S)" Rückfahrt am Wochenende
- name="Bus 221: Waldheimplatz => Siemensstraße => Unterhaching (S)" Rückfahrt werktags (durchs Gewerbegebiet)
- public_transport=stop_position oder =platform
- sollte gesetzt sein, damit die Funktion des Objektes eindeutig ist
- es erleichtert die Analyse ob die stop_position in der richtigen Reihenfolge sind, ...
- public_transport:version
Besonderheiten
Die folgenden Besonderheiten beziehen sich immer auf einen einzelne Relation (type=route) in der PTv2-Notation (public_transport:version=2). Hierbei stellt eine solche Relation immer eine von (in der Regel) mehreren Teillinien dar.
- Kreisverkehre
- Hier ist das Tool nicht puristisch und erwartet nicht, dass der Fahrweg in der Relation (in der Regel: des Busses) nur die Teile eines Kreisverkehrs enthält, die auch tatsächlich durchfahren werden
- das entspricht dem Verhalten von JOSM
- der Kreis muss nicht aufgeteilt, d.h. in mehrere Segmente geteilt werden
- es wird aber u.U. eine Anmerkung ausgegeben (--check-roundabout), wenn der Kreis nicht komplett durchfahren wird, das hat aber keinen Einfluss auf die weitere Analyse
- Hier ist das Tool nicht puristisch und erwartet nicht, dass der Fahrweg in der Relation (in der Regel: des Busses) nur die Teile eines Kreisverkehrs enthält, die auch tatsächlich durchfahren werden
- Durchfahrt eines Weges in beide Richtungen bzw. erneut in der selben Richtungen
- Fährt das Verkehrsmittel (hier in der Regel: der Bus, aber auch Züge die in Kopfbahnhöfen einen Zwischenhalt einlegen) einen Weg mehrfach, so ist der OSM-Way auch mehrfach in die Relation aufzunehmen (an der richtigen Stelle natürlich)
- ohne: 'forward' oder 'backward', einfach nur so
- JOSM wird auf das doppelte Vorhandensein hinweisen, aber das kann hier ignoriert werden
- Fährt das Verkehrsmittel (hier in der Regel: der Bus, aber auch Züge die in Kopfbahnhöfen einen Zwischenhalt einlegen) einen Weg mehrfach, so ist der OSM-Way auch mehrfach in die Relation aufzunehmen (an der richtigen Stelle natürlich)
- Anzahl Stops
- Es wird erwartet, dass mindestens 2 Stops existieren
- Derzeit werden mindestens 2 Nodes erwartet, egal ob Stop oder Platform
- Es wird erwartet, dass mindestens 2 Stops existieren
- Anzahl Wege
- es wird erwartet, dass mindestens zwei Wege/Straßen/Schienenstücke/... existieren
- Eine Ausnahme bilden Fähren und Seilbahnen.
- es wird erwartet, dass mindestens zwei Wege/Straßen/Schienenstücke/... existieren
- Beginn und Ende des Fahrweges
- der erste Node im ersten Way muss eine Stop-Position sein: Rolle = 'stop' oder 'stop_entry_only'
- eventuelle Schienen- oder Straßenstücke davor gehören nicht zum Fahrweg, denn es werden hier noch keine Personen befördert
- Eine entspanntere Version dieser Prüfung (--relaxed-begin-end-for=...) erwartet lediglich, dass eine Stop-Position zum ersten Way gehört (aber nicht gleichzeitig auch zum zweiten Way)
- der letzte Node im letzten Way muss eine Stop-Position sein: Rolle = 'stop' oder 'stop_exit_only'
- eventuelle Schienen- oder Straßenstücke danach gehören nicht zum Fahrweg, denn es werden hier keine Personen mehr befördert
- Eine entspanntere Version dieser Prüfung (--relaxed-begin-end-for=...) erwartet lediglich, dass eine Stop-Position zum letzten Way gehört (aber nicht gleichzeitig auch zum vorletzten Way)
- der erste Node im ersten Way muss eine Stop-Position sein: Rolle = 'stop' oder 'stop_entry_only'
- Sortierung mehrerer Routen (type=route) im Route-Master (type=route_master)
- es wird die Reihenfolge der Member im Route-Master genommen.
Vorgehensweise
tbd.
Momentane Prüfungen
Folgenden Meldungen werden ausgegeben:
Text | Typ | Tool option | Erklärung |
---|---|---|---|
Missing route for ref='%s' and route='%s' | Fehler | diese Route wird laut z.B. CSV-Datei als '%s' (bus, tram, ...) erwartet, existiert aber nicht im gegebenen Datensatz (siehe: Overpass-API Abfrage) | |
Route-Master without Route(s) | Fehler | die Route-Master Relation enthält keine Routen (sollte bei der verwendeten Overpass-API Abfrage nicht passieren, siehe: "Die Overpass-API-Abfrage liefert nicht") | |
Route-Master with Relation(s) unequal to 'route' | Fehler | die Route-Master Relation enthält Relation(en) die nicht vom Typ "route" sind. | |
Route-Master with Way(s) | Fehler | die Route-Master Relation enthält Straßen/Schienen/Bahn-/Bussteige/... | |
Route-Master with Node(s) | Fehler | die Route-Master Relation enthält Haltestellen oder Bahn-/Bussteige | |
Route without Node(s) | Fehler | die Route enthält keine Haltestellen und Bahn-/Bussteige | |
Route without Way(s) | Fehler | die Route enthält keine Straßen/Schienen/... | |
Route with Relation(s) | Fehler | die Route enthält andere Relation(en) (Ausnahme: role='*platform*') | |
Route with only 1 Node | Fehler | die Route enthält nur eine Haltestelle bzw. nur einen Bahn-/Bussteig | |
Route with only 1 Way | Fehler | die Route enthält nur eine Straße/Schiene/... (Ausnahme: Fähren, Seilbahnen) | |
There is more than one Route-Master | Fehler | Route-Master: Es gibt mehr als einen Route-Master für diese Linie = 'ref' (verschiedene 'network'-tags?) | |
There is more than one Route-Master | Fehler | Route: Es gibt mehr als einen Route-Master für diese Linie = 'ref' plus Eltern-Route-Master dieser Route | |
This Route is direct member of more than one Route-Master: %s | Fehler | Diese Route hat mehr als einen Eltern-Route-Master (%s = Liste der Route-Master). | |
Route-Master has less Routes than actually match(%d versus %d) in the given data set | Fehler | dieser Route-Master hat weniger Route-Relationen als hier aufgelistet sind (Route(n) nicht im Route-Master eingetragen?) | |
Route-Masters have less Routes than actually match (%d versus %d) in the given data set | Fehler | die Route-Master haben weniger Route-Relationen als hier aufgelistet sind (Route(n) nicht im Route-Master eingetragen?). Diese Fehlermeldung kommt zusammen mit: "There is more than one Route-Master for this line". | |
Route-Master has more Routes than actually match (%d versus %d) in the given data set | Fehler | dieser Route-Master hat mehr Route-Relationen als hier aufgelistet sind (Route ohne oder mit anderem 'ref'/'route'/'network' tag?) | |
Route-Masters have more Routes than actually match (%d versus %d) in the given data set | Fehler | die Route-Master haven mehr Route-Relationen als hier aufgelistet sind (Route ohne oder mit anderem 'ref'/'route'/'network' tag?). Diese Fehlermeldung kommt zusammen mit: "There is more than one Route-Master for this line". | |
Route exists but 'ref' tag is not set: %s | Fehler | die Route ist Member dieses Route-Masters, hat aber keinen 'ref' tag (%s = ID der Route). Siehe: "ÖPNV Linien ohne 'ref'". | |
Route has different 'ref' = '%s': %s | Fehler | die Route ist Member dieses Route-Masters, hat aber einen anderen 'ref' tag (letztes %s = ID der Route) | |
Route has different 'route' = '%s' than Route-Master 'route_master = '%s': %s | Fehler | die Route ist Member dieses Route-Masters, hat aber einen anderen 'route' tag (letztes %s = ID der Route) | |
Route has different 'network' = '%s' than Route-Master 'network' = '%s': %s | Fehler | die Route ist Member dieses Route-Masters, hat aber einen anderen 'network' tag (letztes %s = ID der Route) | |
Route has 'route' = '%s' value which is considered as not relevant: %s | Fehler | die Route ist Member dieses Route-Masters, hat aber einen merkwürdigen, unpassenden 'route' tag (letztes %s = ID der Route). | |
Route has 'network' = '%s' value which is considered as not relevant: %s | Fehler | die Route ist Member dieses Route-Masters, hat aber einen merkwürdigen, unpassenden 'network' tag (letztes %s = ID der Route). Der 'network'-Wert passt nicht zu den relevanten 'network'-Werten (siehe --network-short-regex und --network-long-regex). | |
Route does not exist in the given data set: %s | Fehler | die Route ist Member dieses Route-Masters, existiert aber nicht - zumindest nicht im gegebenen Datensatz ( %s = ID der Route). | |
Route is not member of Router-Master: %s | Fehler | die Route ist nicht Member dieses Route-Masters (%s = ID der Route). | |
Multiple Routes but no Route-Master | Fehler | es existieren mehrere Routen dieser Linie, aber kein Route-Master. | |
Multiple Routes but this Route is not a member of any Route-Master | Fehler | es existieren mehrere Routen dieser Linie und mindestens ein Route-Master, aber diese Route ist nicht Member irgend eines Route-Masters. | |
This Route is not a member of any Route-Master | Fehler | es existiert mindestens ein Route-Master für diese Linie, aber diese Route ist nicht Member irgend eines Route-Masters. | |
Multiple Routes but 'public_transport:version' is not set to '2' | Fehler | es existieren mehrere Routen dieser Linie, aber der Wert des public_transport:version-Tags ist nicht '2'. | |
'route' = '%s' of Route does not fit to 'route_master' = '%s' of its Route-Master: %s | Fehler | Inkonsistenz zwischen 'route' tag dieser Route und dem 'route_master' tag des Eltern-Route-Master (letztes %s = ID des Route-Masters). | |
'route' = '%s' of Route does not fit to 'route_master' = '%s' of this Route-Master: %s | Fehler | Inkonsistenz zwischen 'route' tag dieser Route und dem 'route_master' tag des Route-Master dieser Linie = 'ref' (letztes %s = ID des Route-Masters). | |
'network' = '%s' of Route does not fit to 'network' = '%s' of its Route-Master: %s | Fehler | Inkonsistenz zwischen 'network' tag dieser Route und dem 'network' tag des Eltern-Route-Master (letztes %s = ID des Route-Masters). | |
'network' = '%s' of Route does not fit to 'network' = '%s' of this Route-Master: %s | Fehler | Inkonsistenz zwischen 'network' tag dieser Route und dem 'network' tag des Route-Master dieser Linie = 'ref' (letztes %s = ID des Route-Masters). | |
This Route is not a member of any Route-Master | Fehler | diese Route ist nicht Member eines Route-Masters dieser Linie = 'ref' (wurde nicht eingetragen, hat unterschiedliches 'ref' tag?). | |
PTv2 route: empty 'role': %s | Fehler | erlaubt für Punkte: 'stop', 'platform', 'stop_exit_only', 'stop_entry_only', 'platform_exit_only', 'platform_entry_only' (%s = Liste der Nodes). | |
PTv2 route: wrong 'role' = '%s': %s' | Fehler | erlaubt für Punkte: 'stop', 'platform', 'stop_exit_only', 'stop_entry_only', 'platform_exit_only', 'platform_entry_only' (%s = Liste der Nodes). | |
PTv2 route: empty 'role': %s | Fehler | erlaubt für Wege/Relationen: 'platform', 'platform_exit_only', 'platform_entry_only' (%s = Liste der Ways/Relationen). | |
PTv2 route: wrong 'role' = '%s': %s | Fehler | erlaubt für Wege/Relationen: 'platform', 'platform_exit_only', 'platform_entry_only' (%s = Liste der Ways/Relationen). | |
PTv2 route: mismatch between 'role' = '%s' and 'public_transport' = '%s': %s | Fehler | Inkonsistenz zwischen Typ des Punktes/Weges/Relation und dessen Rolle in der Route (z.B. role=platform und public_transport=stop_position (letztes %s = Liste der Nodes/Ways/Relationen). | |
PTv2 route: 'role' = '%s' but 'public_transport' is not set: %s | Fehler | Die Rolle eines Punktes/Weges/Multipolygons ist definiert aber public_transport ist nicht definiert (letztes %s = Liste der Nodes/Ways/Relationen). | |
PTv2 route: 'role' = '%s' and '%s' = '%s': consider adding 'public_transport' = 'platform': %s | Fehler | --ptv1-compatibility=show | Kompatibilität zu PTv1: 'highway'='bus_stop' und 'highway'='platform' auf Punkten neben der Straße bzw. als Teil eines Weges mit 'highway'='platform' oder 'public_transport'='platform' wird als 'public_transport'='platform' angenommen. |
PTv2 route: missing '%s' = 'yes' on 'public_transport' = 'stop_position': %s | Fehler | --check-stop-position | Fehlendes 'bus'='yes', 'tram'='yes' oder 'share_taxi'='yes' bei 'stop_position' (letztes %s = Liste der Nodes). |
PTv2 route: missing '%s' = 'yes' on 'public_transport' = 'platform': %s | Fehler | --check-platform | Fehlendes 'bus'='yes', 'tram'='yes' oder 'share_taxi'='yes' bei 'platform'. Diese Prüfung wird derzeit nicht durchgeführt, da z.B. "bus"= "yes" an "public_transport="platform" nicht zwingend erforderlich ist (letztes %s = Liste der Nodes/Ways/Relationen). |
PTv2 route: 'public_transport' = 'stop_position' is not part of way: %s | Fehler | Punkt(e) mit Tag 'stop_position' ist/sind nicht Teil des Fahrweges (letztes %s = Liste der Nodes). | |
PTv2 route: 'public_transport' = 'platform' is part of way: %s | Fehler | Punkt(e) mit Tag 'platform' ist/sind Teil des Fahrweges (letztes %s = Liste der Nodes). | |
Fehler | Punkt mit Rolle 'stop_entry_only' ist nicht erster Punkt des ersten Weges (%s = ID des Ways). Gegenbeispiel: MVV Bus 213 in München, Karl-Preis-Platz. | ||
Fehler | Punkt mit Rolle 'stop_exit_only' ist nicht letzter Punkt des letzten Fahrweges (%s = ID des Ways). Gegenbeispiel: MVV Bus 213 in München, Karl-Preis-Platz | ||
PTv2 route: first way is a oneway road and ends in a 'stop_position' of this route and there is no exit. Is the route sorted in reverse order? | Fehler | Der erste Weg ist eine Einbahnstraße und endet in einer Stop-Position dieser Route und es geht nicht mehr weiter. Ist die Route u.U. in falscher Richtung sortiert? In der Regel folgt hierauf noch die Meldung: "PTv2 route: has gap(s), consists of %d segments", die ist aber weniger aussagekräftig als diese hier. | |
PTv2 route: has gap(s), consists of %d segments | Fehler | Die Fahrstrecke ist nicht durchgängig und in %d Segmente zerfallen, hat also Lücken. | |
PTv2 route: incorrect order of 'stop_position', 'platform' and 'way' (stop/platform after way) | Fehler | Reihenfolge der Member stimmt nicht, soll sein: "Stop1", "Platform1", "Stop2", "Platform2", ..., "Weg1", "Weg2", ... | |
PTv2 route: using oneway parts in wrong direction: %s | Fehler | Wege führen falsch herum in Einbahnstraßen hinein (%s = Liste der Ways). JOSM erkennt das derzeit (2017-06-13) nicht: Ticket #14711. Bei oneway:bus=no, oneway:psv=no oder busway=opposite_lane erscheint diese Meldung natürlich nicht. Bei der weiteren Analyse wird davon ausgegangen, dass der Weg in der 'falschen' Richtung befahren werden darf. Es entsteht hierdurch keine 'Lücke'. | |
PTv2 route: first node of way is not a stop position of this route: %s | Fehler | Der erste Punkt des Fahrweges muss eine 'stop_position' dieser Linie sein, eventuelle Schienen- oder Straßenstücke davor gehören nicht zum Fahrweg, denn es werden hier noch keine Personen befördert (%s = ID des Nodes). Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: last node of way is not a stop position of this route: %s | Fehler | Der letzte Punkt des Fahrweges muss eine 'stop_position' dieser Linie sein, eventuelle Schienen- oder Straßenstücke danach gehören nicht zum Fahrweg, denn es werden hier keine Personen mehr befördert (%s = ID des Nodes). Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: first node of way is not the first stop position of this route: %s versus %s | Fehler | Der erste Punkt des Fahrweges muss die erste 'stop_position' dieser Linie sein, eventuelle Schienen- oder Straßenstücke davor gehören nicht zum Fahrweg, denn es werden hier noch keine Personen befördert (%s und %s = IDs des Nodes). Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: last node of way is not the last stop position of this route: %s versus %s | Fehler | Der letzte Punkt des Fahrweges muss die letzte 'stop_position' dieser Linie sein, eventuelle Schienen- oder Straßenstücke danach gehören nicht zum Fahrweg, denn es werden hier keine Personen mehr befördert (%s und %s = IDs des Nodes). Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: there is no stop position of this route on the last way: %s | Fehler | --relaxed-begin-end-for | Der letzte Weg hat keine Stop-Position (%s = ID des Ways). Das ist die abgeschwächte Form von "PTv2 route: first node of way is not a stop position of this route: %s " und "PTv2 route: first node of way is not the first stop position of this route: %s versus %s ". Optimal: wenn der letzte Punkt des letzten Weges die letzte Stop-Position ist. Akzeptabel: wenn ein innerer Punkt des letzten Weges die letzte Stop-Position ist. Nicht OK: wenn der letzte Weg keine Stop-Position enthält (außer dem ersten Node = letzter Node des vorletzten Weges). Denn dann ist der letzte Weg überflüssig und sollte aus der Route entfernt oder die fehlende Stop-Position erfasst/gemapped werden. Aktiv für: train, tram, ..., vor Allem in Kopfbahnhöfen, wo die Strecke bis zum Poller durchgehend ist und nicht gesplittet werden soll(te). Voraussetzung: die Route ist ohne Lücke(n). |
PTv2 route: there is no stop position of this route on the last way, except the first node == last node of previous way: %s | Fehler | --relaxed-begin-end-for | |
PTv2 route: last stop position on last way is not the last stop position of this route: %s versus %s | Fehler | --relaxed-begin-end-for | |
PTv2 route: there is no stop position of this route on the last way, except the first node == last node of previous way | Fehler | --relaxed-begin-end-for | |
PTv2 route: first node of way has 'role' = 'stop_exit_only'. Is the route sorted in reverse order? | Fehler | Die Fahrstrecke started an einer Stop-Position mit der Rolle "stop_exit_only". Ist die Route in der falschen Richtung sortiert? Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: last node of way has 'role' = 'stop_entry_only'. Is the route sorted in reverse order? | Fehler | Die Fahrstrecke endet an einer Stop-Position mit der Rolle "stop_entry_only". Ist die Route in der falschen Richtung sortiert? Voraussetzung: die Route ist ohne Lücke(n). | |
PTv2 route: using motorway_link way(s) without entering a motorway way: %s | Fehler | --check-motorway_link | Das Fahrzeug benutzt eine Autobahnauf- bzw. abfahrt ohne unmittelbar danach oder davor eine Autobahn/Trunk zu benutzen. Das kann auf falsches Tagging des highway=motorway_link hinweisen. Es kann aber auch auf eine falsche Route hinweisen, wenn diese z.B. automatisch durch eine Routing-SW erstellt wurde. Es scheint noch Routing-SW zu geben, die lieber auf ein kurzes Stück Autobahnauffahrt lenkt um nach 20 m zu wenden und wieder zurück auf die alte Strecke zu routen, statt den direkten Weg zu nehmen (weil eine Ampel das Ergebnis beeinflusst?). Voraussetzung: die Route ist ohne Lücke(n). |
Route: restricted access (%s) to way(s) without 'psv' = 'yes', '%s' = 'yes', '%s' = 'designated', ...: %s | Fehler | --check-access | Es werden Wege benutzt, die explizit oder implizit nicht befahren werden dürfen und wo 'bus'='yes', 'bus'='designated', 'bus'='official', 'psv'='yes', ... fehlen (letztes %s = Liste der Ways). Derzeit wird in dieser Reihenfolge geprüft: access=no, access=private, vehicle=no, vehice=private, motor_vehicle=no, motor_vehicle=private, motor_car=no, motor_car=private, highway=pedestrian, highway=footway, highway=cycleway, highway=path, highway=construction |
Route: 'highway' = 'bus_stop' is set on way(s). Allowed on nodes only!: %s | Fehler | --check-bus-stop | highway=bus_stop darf nur auf Punkten (nodes) gesetzt werden, nicht auf Wege oder Flächen. DE:Tag:highway=bus_stop (%s = Liste der Ways). |
'network' is not set | Fehler | das network-Tag ist nicht vorhanden. | |
'name' is not set | Fehler | das name-Tag ist nicht vorhanden. | |
'ref' is not set | Fehler | das ref-Tag ist nicht vorhanden. | |
'colour' has unknown value '%s' | Fehler | das colour-Tag hat einen falschen bzw. unbekannten Wert. Bekannte Werte: '#[aA-fa-f0-9]{3}' '#[aA-fa-f0-9]{6}' und die W3C Standard 16 Colors (in Kleinbuchstaben). Beispiel bekannte Werte: '#ff0000', '#f00', '#FF6A2F', '#D42333', '#6ff', 'red', 'black', 'silver', 'maroon' Beipiel unbekannte Werte: 'fixme', 'FF6A2F', '#FF6a2f;#D42333', '#FF6A2F im Bereich XXX', '#D42333 im Bereich YYY' | |
'colour' of Route does not fit to 'colour' of its Route-Master: %s | Fehler | Inkonsistenz zwischen 'colour'-Tag dieser Route und dem 'colour' tag des Eltern-Route-Master (%s = ID des Route-Masters). | |
'colour' of Route does not fit to 'colour' of this Route-Master: %s | Fehler | Inkonsistenz zwischen 'colour'-Tag dieser Route und dem 'colour' tag des Route-Master dieser Linie = 'ref' (%s = ID des Route-Masters). | |
'colour' of Route is set but 'colour' of its Route-Master is not set: %s | Fehler | Für diese Route ist die Farbe definiert, für den Eltern-Route-Master jedoch nicht (%s = ID des Route-Masters). | |
'colour' of Route is set but 'colour' of this Route-Master is not set: %s | Fehler | Für diese Route ist die Farbe definiert, für dem Route-Master dieser Linie = 'ref' jedoch nicht (%s = ID des Route-Masters). | |
'colour' of Route is not set but 'colour' of its Route-Master is set: %s | Fehler | Für den Elter-oute-Master ist die Farbe definiert, für diese Route jedoch nicht (%s = ID des Route-Masters). | |
'colour' of Route is not set but 'colour' of this Route-Master is set: %s | Fehler | Für den Route-Master dieser Linie = 'ref' ist die Farbe definiert, für diese Route jedoch nicht (%s = ID des Route-Masters). | |
Nach Korrektur des Codes zu Behandlung von UTF-8 wird dieses nicht mehr geprüft, bzw. taucht nicht mehr auf. | |||
'public_transport:version' is neither '1' nor '2' | Fehler | das public_transport:version-Tag ist weder '1' noch '2' (bei Route). | |
'public_transport:version' is not set to '2' | Fehler | --check-version | das public_transport:version-Tag ist ungleich '2' (bei Route-Master). |
Error in input data: insufficient data for ways: %s | Fehler | Für eine weitere Analyse fehlen die Daten zu den Way- und Node-Membern dieser Relation. Diese Meldung deutet auf ein fehlerhaftes Mapping bei einer Eltern-Relation dieser Relation hin. Möglicherweise ist die Eltern-Relation auch eine Route-Relation - was ein Fehler ist. Die hier bemängelte Route-Relation liegt zudem außerhalb des Suchgebietes und ist quasi nur auf Umwegen in die Analyse reingeraten. Trotzdem sollte der Fehler in (einer) der Eltern-Relation(en) gesucht und korrigiert werden. | |
Error in input data: insufficient data for nodes: %s | Fehler | ||
Skipping further analysis ... | Fehler | ||
'network' = '%s' includes the separator value ';' (semi-colon) with sourrounding blank(s) | Fehler | --check-osm-separator | Das Trennungszeichen bei Aufzählungen ist das Semikolon, aber ohne Blank(s) drumherum. |
'network' = '%s': ',' (comma) as separator value should be replaced by ';' (semi-colon) without blank(s) | Fehler | --check-osm-separator | Das Trennungszeichen bei Aufzählungen ist das Semikolon ohne Blank(s) drumherum, nicht das Komma. |
'public_transport:version' is not set | Anmerkung | --check-version | das public_transport:version-Tag ist bei Route-Master nicht vorhanden. |
'public_transport:version' is not set | Anmerkung | --check-version | das public_transport:version-Tag ist bei Route nicht vorhanden (es würde die Auswertungen leichter machen). |
PTv2 route: 'from' is not set | Anmerkung | --check-name | das from-Tag ist nicht vorhanden. |
PTv2 route: 'to' is not set | Anmerkung | --check-name | das to-Tag ist nicht vorhanden. |
PTv2 route: 'ref' is not part of 'name' | Anmerkung | --check-name | der Wert des ref-Tags sollte im 'name' wieder auftauchen, muss aber nicht (ref='210' und name='Bus 210'). |
PTv2 route: '%s' is not part of 'name' (derived from '%s' = '%s') | Anmerkung | --check-name | der Wert eines ref:*-Tags sollte zusammen mit dessen Wert im 'name' wieder auftauchen, muss aber nicht (ref='6231/407' mit ref:RBO='6231 und ref:LA=407' und name='Bus RBO 6231/LA 407: ...'). |
PTv2 route: 'from' is not part of 'name' | Anmerkung | --check-name | der Wert des from-Tags sollte im 'name' wieder auftauchen, muss aber nicht (from='Neuperlach Süd' und name='Bus 210: Neuperlach Süd => Brunnthal, Zusestraße'). |
PTv2 route: 'to' is not part of 'name' | Anmerkung | --check-name | der Wert des from-Tags sollte im 'name' wieder auftauchen, muss aber nicht (to='Brunnthal, Zusestraße' und name='Bus 210: Neuperlach Süd => Brunnthal, Zusestraße'). |
PTv2 route: 'name' includes deprecated '<=>' | Anmerkung | --check-name | der Wert des name-Tags enthält das veraltete Zeichen '<=>'. PTv2 erwartet mindestens eine Relation für jede Richtung. Das name-Tag enthält dann '=>', vorzugsweise mit Blanks drumherum. |
PTv2 route: 'name' should (at least) be of the form '... ref ...: from => to' | Anmerkung | --check-name | der Wert des name-Tags sollte mindestens diese Form haben. Beispiel: name='Bus 210: Neuperlach Süd => Brunnthal, Zusestraße', mit route='bus', ref='210', from='Neuperlach Süd' und to='Brunnthal, Zusestraße'. D.h. wenn das name-Tag kein oder nur ein '=>' enthält: dann sollte es mindest diese Form haben (vorzugsweise mit Blanks um '=>' drumherum). Alternative: siehe "Anmerkung" bzgl via-Tag. |
PTv2 route: 'name' has more than one '=>' but 'via' is not set | Anmerkung | --check-name | der Wert des name-Tags hat mehr als ein '=>', aber des via-Tag ist nicht gesetzt. Beispiel: name='Bus 221: Unterhaching (S) => Ottobrunn, Siemensstraße => Waldheimplatz', mit route='bus', ref='221', from='Unterhaching (S)', via-Tag nicht gesetzt und to='Waldheimplatz'. D.h. wenn das name-Tag mehr als ein ' => ' enthält: dann sollte das via-Tag entsprechend gesetzt sein. |
PTv2 route: 'via' is set: via-part = '%s' is not part of 'name' (separate multiple 'via' values by ';', without blanks) | Anmerkung | --check-name | der Wert des name-Tags kann eine alternative Form haben wenn das via-Tag gesetzt ist, muss aber nicht. Beispiel: name='Bus 301: Wolfratshausen (S) => Waldram => Farchet (Holunderstraße) => Wolfratshausen (S) ', mit route='bus', ref='301', from='Wolfratshausen (S)', via='Waldram;Farchet (Holunderstraße)' und to='Wolfratshausen (S)'. D.h. wenn das via-Tag gesetzt ist und mehr als ein '=>' im name-Tag ist, und mindestens ein ';' im via-Tag enthalten ist, dann müssen die Teile des via-Tag jeweils im name-Tag vorhanden sein. Nach dem Motto: wennschon, dennschon!. |
PTv2 route: 'via' is set: 'name' should be of the form '... ref ...: from => via => to' | Anmerkung | --check-name | der Wert des name-Tags kann eine alternative Form haben wenn das via-Tag gesetzt ist, muss aber nicht. Beispiel: name='Bus 221: Unterhaching (S) => Ottobrunn, Siemensstraße => Waldheimplatz', mit route='bus', ref='221', from='Unterhaching (S)', via='Ottobrunn, Siemensstraße' und to='Waldheimplatz'. D.h. wenn das via-Tag gesetzt ist und mehr als ein '=>' im name-Tag ist, dann müssen die Teile des via-Tag exakt im name-Tag vorhanden sein (in der richtigen Reihenfolge und natürlich auch das from-Tag und to-Tag). Nach dem Motto: wennschon, dennschon!. Beachte! Das Trennungszeichen für mehrere Werte im via-Tag ist das Semikolon ';' (ohne blanks drumherum), nicht das Komma ',', denn 'Ottobrunn, Siemensstraße' kann z.B. ein Haltestellennamen sein. |
PTv2 route: 'via' is set: 'name' should be of the form '... ref ...: from => via => ... => to' (separate multiple "via" values by ';', without blanks) | Anmerkung | --check-name | der Wert des name-Tags kann eine alternative Form haben wenn das via-Tag gesetzt ist, muss aber nicht. Beispiel: name='Bus 221: Unterhaching (S) => Ottobrunn, Siemensstraße => Waldheimplatz', mit route='bus', ref='221', from='Unterhaching (S)', via='Ottobrunn, Siemensstraße' und to='Waldheimplatz'. D.h. wenn das via-Tag gesetzt ist und mehr als ein '=>' im name-Tag ist, dann müssen die Teile des via-Tag exakt im name-Tag vorhanden sein (in der richtigen Reihenfolge und natürlich auch das from-Tag und to-Tag). Nach dem Motto: wennschon, dennschon!. Beachte! Das Trennungszeichen für mehrere Werte im via-Tag ist das Semikolon ';' (ohne blanks drumherum), nicht das Komma ',', denn 'Ottobrunn, Siemensstraße' kann z.B. ein Haltestellennamen sein. |
There is more than one public transport service for this 'ref'. 'operator' value of this relation fits to expected operator value. | Anmerkung | --multiple-ref-type-entries=analyze --multiple-ref-type-entries=allow --multiple-ref-type-entries=ignore |
In der CSV-Linien-Datei taucht die 'ref' mehr als einmal auf (z.B.: 2 * Bus N8 in VRS-Datei). Für eine korrekte Darstellung ist es notwendig, dass der Betreiber sowohl in der CSV-Datei als auch bei der Relation (als 'operator') identisch angebenen sind (--multiple-ref-type-entries=analyze) Soll die Kombination gleichwohl mehrfach ausgegeben werden, und sind es tatsächlich auch idenische Linien (z.B. DGF-Datei), so kann die Option --multiple-ref-type-entries=allow gesetzt werden. |
There is more than one public transport service for this 'ref'. Please set 'operator' value for this relation and set operator value in the CSV file. | Anmerkung | ||
There is more than one public transport service for this 'ref'. Please set operator value in the CSV file to match the mapped opeator value (or vice versa). | Anmerkung | ||
There is more than one public transport service for this 'ref'. Please set 'operator' value for this relation to match an expected operator value (or vice versa). | Anmerkung | ||
'network' is short form | Anmerkung | --positive_notes --expect-network-long --expect-network-long-for=... |
der Wert des network-Tags ist identisch zum Text in Kurzform (z.B. 'MVV' ist network="MVV"). Bei --expect-network-long-for="MVV" kommt diese Meldung, wenn network='MVV' ist, wenn in München einvernehmlich network="Münchner Verkehrs- und Tarifverbund" gemapped werden soll. Die Kombination aus --expect-network-short und --expect-network-long-for="MVV" definiert die Erwartung, dass alle network-Tags kurze Bezeichnungen haben, mit Ausnahme des MVV. Siehe: --network-long-regex=... und --networkshort-regex=... |
'network' matches short form | Anmerkung | --positive_notes --expect-network-long --expect-network-long-for=... |
der Wert des network-Tags enthält den Text in Kurzform (z.B. 'MVV' in network="MVV;RVO"). |
'network' is long form | Anmerkung | --positive_notes --expect-network-short --expect-network-short-for=... |
der Wert des network-Tags ist identisch zum Text in Langform (z.B. 'Münchner Verkehrs- und Tarifverbund' ist name="Münchner Verkehrs- und Tarifverbund"). Bei --expect-network-short-for="Verkehrsverbund Rhein-Sieg" kommt diese Meldung, wenn network='Verkehrsverbund Rhein-Sieg' ist, wenn für den VRS einvernehmlich network="VRS" gemapped werden soll. Die Kombination aus --expect-network-long und --expect-network-short-for="Verkehrsverbund Rhein-Sieg" definiert die Erwartung, dass alle network-Tags lange Bezeichnungen haben, mit Ausnahme des Verkehrsverbund Rhein-Sieg. Siehe: --network-long-regex=... und --networkshort-regex=... |
'network' matches long form | Anmerkung | --positive_notes --expect-network-short --expect-network-short-for=... |
der Wert des network-Tags enthält den Text in Langform (z.B. 'Müchner Verkehrs- und Tarifverbund' in network="Münchner Verkehrs- und Tarifverbund;Regionalverkehr Oberbayern"). |
'comment' = | Anmerkung | hier steht der Inhalt des comment-Tags, wenn vorhanden. | |
'fixme' = | Fehler | hier steht der Inhalt des fixme-Tags oder FIXME-Tags, wenn vorhanden. | |
'note' ~ | Fehler | hier steht der gefilterte Inhalt des note-Tags, wenn vorhanden (Filter: note =~ s/^https{0,1}://wiki.openstreetmap.org\S+//;). | |
'note*' = | Fehler | hier steht der Inhalt des note-Tags, wenn ":de" oder ähnliches angehängt ist. | |
'check_date' = YYYY-MM-DD | Anmerkung | diese Linie (bzw. der Route-Master, die Route) wurde zuletzt am YYYY-MM-DD geprüft. | |
'network:guid' = 'xx-yy-zzz' | Anmerkung | --positive_notes | z.B. 'DE-BY-MVV' für den Münchner Verkehrs- und Tarifverbund (ist eindeutiger als 'network'='MVV'). |
'network:area' = | Anmerkung | --positive_notes | z.B. 'city', 'region' oder ... |
'route:category' = | Anmerkung | --positive_notes | z.B. 'call', 'express', 'night', normal', 'metro' oder ... |
'ref:*' = | Anmerkung | --positive_notes | z.B. ref:MVV=645 und ref:LA=023 und ref=645/023 |
PTv2 route: includes %d entire roundabout(s) but uses only segment(s) | Anmerkung | --check-roundabout | Kreisverkehre können aufgeteilt werden, der Fahrweg enthält dann nur die Teile, die auch tatsächlich durchfahren werden (Viertelkreis, Halbkreis, Drei-Viertelkreis, ...). Das ist kein 'Muss', ein 'Kann'. Diese Meldung hat keinen Einfluss auf die weitere Analyse. |
Anmerkung | die Route-Master Relation enthält nur eine Route (Fehler? Rundkurs? Braucht's dann einen Route-Master?) | ||
Anmerkung | diese Route ist mit 'public_transport:version'='2' getagged, hat aber keinen Route-Master (Fehler? Rundkurs? Braucht's dann einen Route-Master?). |
Geplante Prüfungen
Folgenden Texte sind noch vorgesehen:
Text | Typ | Tool Option | Erklärung |
---|---|---|---|
PTv2 route: incorrect order of role 'stop' and 'platform': 'stop' appears after 'platform' (both have same 'name'): %s | Fehler | Für eine Haltestelle soll in der Relation 'stop' vor 'platform' kommen. Korrekte Sonderfälle die zu beherrschen sind: MVV Bus 234 und Haltestelle Mozartstraße | |
PTv2 route: 'public_transport' = '%s': 'ref' includes 'ref' of this route: %s | Fehler | --check-ref-on-stop | 'ref' einer Haltestelle darf nicht die 'ref' einer Linie enthalten, sondern soll die eindeutige Referenz der Haltestelle sein (siehe 'ref' für PTv2, 'uic_ref', ...) |
PTv2 route: 'public_transport' = '%s': 'route_ref' = '%s' does not include the 'ref' = '%s' of this route: %s | Anmerkung | Wenn das tag 'route_ref' an einer Haltestelle existiert, so soll es die 'ref' der Linie enthalten (letztes %s: Liste der Haltestellen auf die das zutrifft) | |
PTv2 route: incorrect order of 'stop_position' nodes | Fehler | Die Haltestellen sind nicht in der richtigen Reihenfolge, wenn man dem Fahrweg folgt. Schwierig zu implementieren, ich habe auch schon legale Gegenbeispiele. Eventuelle schaffe ich das für "schienen-gebundene" Systeme wie 'train', 'tram', 'light_rail', 'subway', 'monorail', 'aerialway' und 'funicular' | |
... | ... | ... | ... |
Weitere Anregungen sind willkommen!