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 |