Frage zu Ausnahmen von Gewichtsbeschränkungen

Hallo,

ich hätte eine Frage. Und zwar ist mir nicht ganz klar, wo bei Ausnahmen von Gewichtsbeschränkungen auf Straßen der Unterscheid zwischen maxweight:conditional=none @ agricultural und maxweight:conditional=none @ (agricultural) besteht - also einmal mit und einmal ohne Klammer.

Auch im Wiki habe ich da nichts dazu gefunden oder vielleicht übersehen.

Kann mir jemand helfen? Danke schonmal.

Die Klammer ist überflüssig, schadet aber auch nett.

Im deutschen Wiki unter Beschränkungswert → Bedingung → Zeitabhängigkeit:

Wird ein Strichpunkt (“;”) benötigt, so sollte die Bedingung in Klammern gesetzt werden, um Missverständnisse bei der Auswertung zu vermeiden.

sowie am Ende der Auflistung:

Anmerkung:
Mit Ausnahme von sehr einfachen Bedingungen wie “wet” oder “Su” sollte die Bedingung - sowohl für bessere Lesbarkeit als auch für eine einfachere Auswertung durch Anwendungen - in Klammern ( ) geschrieben werden.

Hilft dir das?

Ok, also wenn nur eine Gruppe von Verkehrsteilnehmern, wie eben Landwirtschaft, von der Gewichtsbeschränkung ausgenommen ist, dann ist es ohne Klammern ok.

Und sobald neben der Landwirtschaft z.B. auch noch Linienbusse davon ausgenommen sind, dann müssen diese beiden in Klammern (agricultural;bus), damit klar ist, dass sich das “none” auf beide bezieht.

Habe ich das so richtig verstanden?

1 Like

Genau. In anderen Fällen wird das Semikolon als Trennzeichen zwischen zwei Werten verwendet. Um bei einem Konditional deutlich zu machen, dass sich der Trenner hier nur auf die Werte und nicht auf den Konditional bezieht, werden beide Werte in Klammern gesetzt.
Beispiel: access:conditional=no @ bicycle;foot

Hier könnte ein Auswerter je nach Implementierung sonst auslesen access:conditional=no @ bicycle und mit dem ; denken “Und jetzt kommt was Neues!” und fragt sich bei foot nur “Hä, wo ist denn der Wert?”.
Um sicherzustellen, dass das Semikolon hier als Aufzählungszeichen und nicht als Trennzeichen dient, wird die Klammer gesetzt.

und wenn nur landwirtschaftlicher Verkehr bis 18t entgegen einer Einbahnstraße fahren dürfte würde es
oneway:conditional = no @ (agricultural,weight<18t) sein? Bedeutet ein Komma und und ein Semikolon oder?

Wieso sollte man in diesem Fall nicht den logischen Operator AND verwenden?

1 Like

Nein, in deinem Beispiel wäre der Operator AND zu verwenden. Von Conditional restrictions:

Combined condition: Two or more partial conditions may be combined using the operator AND. It is recommended to use the uppercase form to improve readability. AND means that both partial conditions must be fulfilled for the condition to apply. Example: destination @ Sa-Su AND weight>7

2 Likes