Ausdrücke

Ausdrücke können in der Parameterkonfiguration und in der Prozesskonfiguration verwendet werden, um Filter zu formulieren und Tag-/Attributwerte zu belegen.

Die Ausdrücke werden in den Konfigurationsdateien als einfache Zeichenketten aufgeschrieben und vom Importer interpretiert. In den Ausdrücken können Werte für Tags über die jeweiligen Tag-Namen abgerufen werden. Ansonsten stehen die unten aufgeführten Operatoren zur Verknüpfung der Werte zur Verfügung. Ausdrücke können Sie schachteln, indem Sie Klammern setzen.

Hinweis: In OSM-Daten können Tag-Namen mit Doppelpunkt vorkommen, z. B. um richtungsbezogene Angaben zu machen ('lanes:backward','turn:right', usw.). Möchten Sie solche Tags in den Importkonfigurationen in Ausdrücken verwenden, so müssen Sie vor und hinter die Tags das Zeichen # setzen (beispielsweise #lanes:backward#). Sonst kann es beim Importprozess zu Fehlern kommen, da der Doppelpunkt als Operator (s.u.) interpretiert wird.

Arithmetische Operatoren

Element

Beschreibung

+, -, *, /

Plus, Minus, Multiplikation, Division

//

Ganzzahldivision

%

Modulo, Rest

**

Exponent

Vergleichsoperatoren

Element

Beschreibung

=, ==

gleich

<>, !=

ungleich

>

größer

>=

größer gleich

<

kleiner

<=

kleiner gleich

Logische Operatoren

Element

Beschreibung

!

Nicht, Negation

&& bzw. AND

Und

|| bzw. OR

Oder

Stringoperatoren/-funktionen

Element

Beschreibung

=,==

exakte Gleichheit

~=

Vergleich ohne Berücksichtigung der Schreibung der Buchstaben und Vergleich mit Wildcard ‚*' als Präfix und Postfix

+

Verknüpfung

Weitere

Element

Beschreibung

( )

Klammerung

(x) ? a : b

Wenn Bedingung x WAHR dann a, sonst b

x € [a,b,c]

Wenn x in Menge [a,b,c] enthalten, dann WAHR, wobei a,b,c Zahlen, Zeichenketten usw. sein können

x ~€ [a,b,c]

Wenn x in Menge [a,b,c] enthalten, dann WAHR, wobei a,b,c Zeichenketten sind, die mit Wildcard ‚*‘ versehen sein können

x !€ [a,b,c]

Wenn x nicht in Menge [a,b,c] enthalten, dann WAHR

x € [n...m]

Wenn x im Intervall n – m (nur Zahlen, beide inklusive) enthalten, dann WAHR

Tag-Operatoren

Element

Beschreibung

x??

Wenn Tag x definiert ist WAHR, sonst FALSCH

x:*?

Wenn ein Tag definiert ist, das einen Präfix x: trägt WAHR, sonst falsch.

Viele Tags werden in der Form a:b qualifiziert. Hier wird nur auf das Vorhandensein eines Präfixes geprüft, beispielsweise restriction :*? Ergibt für restriction:motorcar WAHR

x ?= y

Falls ein Tag y definiert ist, wird dem Tag x der Wert von y zugewiesen, ansonsten bleibt x unverändert