motor_vehicle:conditional=destination;agricultural;forestry @ ....

JOSM meckert diese Eingabe an:

motor_vehicle:conditional=destination;agricultural;forestry @ (Sa 13:00-24:00;So;PH)

mit der Meldung:
Fehler in motor_vehicle:conditional-Wert: destination;agricultural;forestry ist kein Einschränkungswert (1)

Bild der Verkehrszeichen:
https://www.pixum.de/meine-fotos/album/7457128/image/919786104

Link zur betreffenden Straße:
https://www.openstreetmap.org/way/158249622#map=16/48.0424/9.2974

Wie gehts richtig ?

Grüße

Klappt’s mit “Su” (Sunday) statt “So” (Sonntag)?

Nein, es kommt die gleiche Meldung.

Vermutlich wegen der Aufzählung mit “;” - ist auch bei zwei surface-Werten so. Ich ignoriere das (meistens).

Die Meldung würde ich auch ignorieren. Ganz im Gegensatz zu Bernhards Hinweis auf Su statt So. Das würde ich jedenfalls umsetzen :slight_smile:

–ks

motor_vehicle:conditional=destination;agricultural;forestry @ (Sa 13:00-24:00;Su;PH)

Das passt so nicht, weil das ‘@’ sich nur auf den Teil nach dem letzten Semikolon bezieht.

motor_vehicle:conditional=no @  (Sa 13:00-24:00;Su;PH); destination @ (Sa 13:00-24:00;Su;PH);agricultural @ (Sa 13:00-24:00;Su;PH);forestry @ (Sa 13:00-24:00;Su;PH)

Siehe auch im letzten Beispiel in diesem Abschnitt: https://wiki.openstreetmap.org/wiki/Conditional_restrictions#Evaluation_of_conflicting_restrictions

Man sollte dem Straßenbauamt auch mal Kommasetzung beibringen… “Samstag, ab 13 Uhr an Sonntagen” oder “Samstag ab 13 Uhr, an Sonntagen”?

Ich habe die Access-Eingabe so angepaßt. JOSM meckert aber weiterhin mit der gleichen Meldung.

Grüße

Ich vermute die “;” - probiere es einmal nur mit Leerzeichen.

JOSM meckert öfters - > https://forum.openstreetmap.org/viewtopic.php?pid=698612#p698612 M.E. ist es richtig wenn “falsches” angezeigt wird. Es sollte dann aber möglich sein etwas als “richtig” zu markieren. Das Ignorieren der Fehler ist auch nicht der beste Weg.

EDIT: oder “;” ohne LEERzeichen - dann kann man wenigsten erkennen, was der Validator möchte.

Das würde dem Wiki-Beispiel >> access:conditional=delivery @ (07:00-11:00); customer @ (07:00-17:00) << widersprechen!
Ich vermute, daß der JOSM-Validator hier eben einen falschen Fehler anzeigt.

Grüße

Darum ging es ja den Fehler einzugrenzen. Wenn es so ist, dann sollte der Validator geprüft werden.

In version 13 steht jetzt

motor_vehicle:conditional=motor_vehicle:conditional=no @ (Sa 13:00-24:00;Su;PH); destination @ (Sa 13:00-24:00;Su;PH);agricultural @ (Sa 13:00-24:00;Su;PH);forestry @ (Sa 13:00-24:00;Su;PH)

Da ist also ein “motor_vehicle:conditional=” zuviel.

Ginge auch:

motor_vehicle:conditional=(destination;agricultural;forestry) @ (Sa 13:00-24:00;So;PH)

?

Aber egal, sowas kompliziertes wertet eh kein Schwein aus. :stuck_out_tongue:

Danke. Habe es berichtigt.

Grüße

JOSM stört sich wohl auch an den Semikolons in den Zeitangaben.
Dies wird akzeptiert:

motor_vehicle:conditional=no @ (Sa 13:00-24:00,Su,PH); destination @ (Sa 13:00-24:00,Su,PH);agricultural @ (Sa 13:00-24:00,Su,PH);forestry @ (Sa 13:00-24:00,Su,PH)

; ist zwar ein Element der conditional-access Grammatik und wenn auch zulässig im restriction-value Teil, so ist entweder der Parser von JOSM verwirrt oder JOSM spielt wiedermal den Lehrmeister (mein Parser hat kein Problem damit). So oder so ein “Fehler” ist es nicht, soweit man überhaupt der Meinung ist, dass Aufzählungen von mehreren access-Werten zulässig sind.

Simon

Mit welcher Version?

1.) motor_vehicle:conditional=destination;agricultural;forestry @ (Sa 13:00-24:00;Su;PH)

2.) motor_vehicle:conditional=no @ (Sa 13:00-24:00;Su;PH); destination @ (Sa 13:00-24:00;Su;PH);agricultural @ (Sa 13:00-24:00;Su;PH);forestry @ (Sa 13:00-24:00;Su;PH)

3.) motor_vehicle:conditional=no @ (Sa 13:00-24:00,Su,PH); destination @ (Sa 13:00-24:00,Su,PH);agricultural @ (Sa 13:00-24:00,Su,PH);forestry @ (Sa 13:00-24:00,Su,PH)

Was soll ich jetzt nehmen ?

Grüße

Von der Grammatik her gehen alle 3 Versionen. Von der Semantik sind 2 und 2 unklar (die OH Spezifikationen sind in diesem Fall übrigens gleichwertig), sprich bei Access für Fahrzeuge ist die Kombination von no mit was anderen sinnfrei, dass hat allerding mit conditional access nicht wirklich was zu tun.

Dann bräuchten wir wohl eine neue und genauere Definition der Syntax, die erste Version ist im Augenblick nicht dabei im Wiki. Die Auswertung wäre aber wohl immer eindeutig möglich.

Ich war schon ein paar mal kurz davor das ganze mal richtig zu dokumentieren :slight_smile: (so sind z.B. aktuell geschachtelte Klammern im condition Teil erlaubt, obwohl nutzlos, des weiteren müsste man die möglichen condition-Werte mal aufzählen und dokumentieren).

Aber zurück zum spezifischen Problem, ; ist im restriction-value Teil nach Wiki nicht verboten (im Gegensatz dazu darf es ohne Klammern im condition-Teil nicht vorkommen) und ist auch eindeutig parse-bar. Da @ vorkommen muss ist der restriction-value alles zwischen dem Trenn-; und dem @. Könnt man auch anders machen, bräuchte aber dann irgendein escape-Mechanismus für ; im restriction-value.

Mir gefällt ja der Vorschlag den restriction-value einfach auch in Klammern zu setzen (optional, wenn mehrere Werte vorkommen), damit ist es eindeutig zusammengefasst, sowohl vom Parsen als auch vom reinen menschlichen Lesen her:

motor_vehicle:conditional=(destination;agricultural;forestry) @ (Sa 13:00-24:00;So;PH)