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.
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.
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.
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?
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