Ausdrücke

Aus Dokumentation
Wechseln zu:Navigation, Suche

Attribute oder Eigenschaften kombiniert mit Operatoren werden als Ausdrücke bezeichnet. Diese können in Form von Abfragen auf Haltungen, Schächte,Wasserleitungen, Wasserknoten, und Gebiete angewendet werden. Ein wichtiger Grund ist das Finden von Objekten, die über die Abfrage definierte Eigenschaften haben müssen. Ausdrücke können aber auch für die Ansichtskonfiguration & Farbkonfiguration verwendet werden, um Informationen bestmöglich darzustellen.

Möglichkeit zur Verwendung von Ausdrücken:

  • Abfragen: Die gefundenen Elemente werden in einem Meldungsfenster aufgelistet. Darüber lassen sich die gefundenen Elemente markieren und folglich Eigenschaften ändern oder setzen.
  • Ansichtskonfigurationen: In den Ansichtskonfigurationen können Informationen gezielt dargestellt werden, um komplexe Sachverhalte zu erklären.
  • Farbkonfiguration: Einfärbung der Objekte nach der Anwendung von Ausdrücken.
  • Eigenschaftslisten: Das Erstellen von Listen kann auch mit zuvor definierten Ausdrücken durchgeführt werden. Oder es können eigene Ausdrücke angefertigt werden und für jedes Objekt ausgegeben werden.



Neuen Ausdruck erstellen.


Sie können projektübergreifend Ausdrücke über das Clipboard kopieren und mit dieser Funktion in das bestehende Projekt einfügen.


Löscht alle vorhandenen Ausdrücke.


Legt ein Unterverzeichnis „Unterverzeichnis_1“ an, um bei vielen Ausdrücken eine Ordnungsstruktur anlegen zu können. Die einzelnen Ausdrucksobjekte können per Drag&Drop zwischen den Verzeichnissen verschoben werden.



Objektebene


Ein Dialog zum Erstellen eines neuen Ausdrucks wird geöffnet.


Ein vorhandener Ausdruck wird zum Ändern geöffnet.


Löscht den ausgewählten Ausdruck.


Ausdruck in die Zwischenablage kopieren um ihn in ein anderes Projekt zu kopieren.


Neuer Ausdruck wird mit „Name_Kopie“ angelegt.


Starten der Abfrage auf Schächte/Abschnitte Haltungen/Wasserknoten/Wasserleitungen/Gebiete/Schäden.


Starten der Abfrage auf eine markierte Menge von ausgewählten Objekten

Typzuweisung

Typzuweisung beim Setzen von Feldern. Mit diesem Anhang können Sie bei der Ausgabe der Werte die Dezimalstelle und den Typ der Ausgabe festlegen.

.f0 -.fx Floating point
i. integer
s. string


Beispiel für die begrenzung der Dezimalstelle bei der Ausgabe in der Ansichtskonfiguration des Maximalen Überstauvolumen:

(Maximales Überstauvolumen).f2

Allgemein img08.png

Sichtbares Ergebnis:

Allgemein img09.png

Weiteres Beispiel bei markierte Ändern von mehreren Flächen. Hier wird der Anteil der undurchlässigen Flächen mit dem Faktor 1,5 multipliziert un dann auf eine Nachkommastelle gerundet!

Allgemein img10.png

Syntax der Ausdrücken

Liste der Operatoren für die Ausdrücke
Operator Name Beschreibung Beispiel
() Klammern Attribute welche sich in der Klammer befinden
" Anführungszeichen Texte/Strings werden unter Anführungszeichen gestellt, der Abstand zwischen Text und Feldwert gehört noch zum Text. „Text1 “
. Pointer Zugriff auf verknüpfte Daten über Pointer Deckel.Radius
Addition Addiert die Werte seiner Operanden und gibt das Ergebnis zurück
* Multiplikation Multipliziert die Werte seiner Operanden und gibt das Ergebnis zurück.
/ Division Dividiert die Werte seiner Operanden und gibt das Ergebnis zurück. Bei der Division von Ganzzahlen fällt ein eventueller Rest weg, es wird also nicht gerundet.
% Modulo Dividiert die Werte seiner Operanden und gibt den Divisionsrest zurück. Kann nur auf ganzzahlige Operanden angewendet werden. Ist mindestens ein Operand negativ, so ist das Vorzeichen des Resultats implementationsabhängig.
< kleiner Ergibt den boolschen Wert WAHR, wenn der linke Operand kleiner als der rechte ist, sonst FALSCH.
<= kleiner oder gleich Ergibt den boolschen Wert WAHR, wenn der linke Operand kleiner oder gleich dem rechten ist, sonst FALSCH.
= gleich Ergibt den boolschen Wert WAHR, wenn die beiden Operanden gleich sind, sonst FALSCH.
<> Drei-Wege Vergleich kleiner 0 ist, falls der linke Operand kleiner als der rechte ist
gleich 0 ist, falls der linke Operand gleich dem rechten ist
größer 0 ist, falls der linke Operand größer als der rechte ist
>= größer oder gleich Ergibt den boolschen Wert true, wenn der linke Operand größer oder gleich dem rechten ist, sonst false.
> größer Ergibt den boolschen Wert WAHR, wenn der linke Operand größer als der rechte ist, sonst FALSCH.
! Negierung Invertiert den Wert seiner Operanden. Aus WAHR wird FALSCH und umgekehrt.
& Und-Verknüpfung Verknüpft die beiden Operanden und gibt WAHR zurück, wenn beide Operanden den Wert WAHR haben, sonst FALSCH.
| Oder-Verknüpfung Verknüpft die beiden Operanden und gibt WAHR zurück, wenn mindestens einer der beiden Operanden den Wert WAHR hat, sonst FALSCH.
.exists Abfrage-Vorhanden Abfrage nach dem gesuchten Attribut und gibt WAHR zurück (Objekt wird ausgegeben)
.size Abfrage-Größe Liefert die Anzahl der Elemente für das ausgwählte Attribut
.len Abfrage-Länge Liefert die Länge des Elements für das ausgewählte Attribut
.max Abfrage-Maximalwert Liefert den Maximalwert des Elements für das ausgewählte Attribut
.min Abfrage-Minimalwert Liefert den Minimalwert des Elements für das ausgewählte Attribut
.sum Abfrage-Summation Summiert die Werte der Elemente eine ausgewählten Attributs (Überstau Volumen).sum
.eq Vergleichsfunktion Strings Vergleicht das angegebene Attribut darauf ob es ein String ist und gibt den Wert WAHR zurück.
.neq Vergleichsfunktion Strings Vergleicht das angegebene Attribut darauf ob es kein String ist und gibt den Wert WAHR zurück.
WENN ? DANN : SONST Wenn-Dann Abfrage Soll die Beschriftung variabel, je nach bestimmten Eigenschaften eines Objektes erfolgen kann diese vorher abgefragt werden ((Maximales Überstauvolumen) > 0) ?(Name) :""
# Raute Eine Folge von Texten (Strings) und Feldnamen verbunden mit # „Text1 “#Feldname.f2#“ Text“
</br> Neue Zeile Über den Ausdruch kann eine neue Zeile eingefügt werden „Text1 “#Feldname.f2#“ Text“

Abfragen mit Ausdrücke

Ein wichtiger Grund ist das Finden von Objekten, die über die Abfrage definierte Eigenschaften haben müssen. Diese Funktion wird häufig genutzt um die Konsistenz der importierten Daten zu überprüfen. Mit dem Ausführen der jeweiligen Ausdrücke können sehr schnell Fehler detektiert und angepasst werden.

Eine Auflistung der gängisten Abfragen zur Netz- und Einzugsgebietskontrolle.

Abschnitte

Beispiele für Ausdrücke bei Abschnitten
Name Ausdruck Beschreibung
Sohlhöhe fehlt

Knoten

Beispiele für Ausdrücke bei Knoten
Name Ausdruck Beschreibung
Fehlende Sohlhöhe !(Sohlhöhe).exists Sucht nach Knoten ohne Sohlhöhe

Einzugsgebiete

Beispiele für Ausdrücke bei Einzugsgebieten
Name Ausdruck Beschreibung
Fehlende Profilhöhe !(Profilhöhe mm).exists Sucht nach Abschnitten mit fehlender Profilhöhe oder Nullhöhe
Fehlendes Gefälle !(Gefälle).exists Sucht nach Abschnitten mit fehlenden Gefälle
Kontrolle Anschlusspunkt Höhe (Anfangsknoten Anschlusspunkt Höhe)<(Endknoten Anschlusspunkt Höhe) Sucht nach Abschnitten mit falscher Orientierung
Abschnittslänge zu lang (Abschnittslänge m)>100 Sucht nach extrem langen Abschnittslängen größer 100 m
Kein Entwässerungssystem !(Entwässerungssystem).exists Sucht nach Abschnitten ohne zugewiesenen Entwässerungssystem
Fehlende Koordinaten !(Anfang Hochwert).exists | !(Ende Rechtswert).exists | !(Ende Hochwert).exists Sucht nach Abschnitten ohne Koordinatenzuweisungen
Fehlende Sohlhöhe !(Sohlhöhe).exists Sucht nach Knoten ohne Sohlhöhe

Anwendung von Ausdrücken in Ansichtsknonfiguration

Beschriftung

In den Ansichtskonfigurationen können auch komplexe Abfragen für die Informationsausgabe im Bearbeitungsfenster oder Plan erfolgen. Im Folgenden ein Beispiel, wird die Knotenbeschriftung als Block mit einer Abfrage ausgeführt. Hier kommen sowohl Stammattribute in der Abfrage vor, als auch freie Attribute, z.B. "Sonderbauwere".

Allgemein img14.png
  • Ausdruck 1: Index_Deckel_Gelände#"= "#Deckelhöhe.f2
  • Ausdruck 2: Sonderbauwerke="Außengebiet"?("Einleitung von:"#"<br>"#GEP_Auslauf_Art):(Sonderbauwerke="Auslauf"|Sonderbauwerke="Anschluss"?(Sonderbauwerke_Name#"<br>Einleitung von:"#"<br>"#GEP_Auslauf_Art#"<br>X="#Rechtswert.f0#"<br>Y="#Hochwert.f0):(Sonderbauwerke="RÜ"?(Sonderbauwerke_Name#"<br>Schwellenlänge= "#(Beckenüberlauf Länge).f2#" m"#"<br>Überfallbeiwert= "#(Beckenüberlauf Überfallbeiwert).f2#"<br>X="#Rechtswert.f0#"<br>Y="#Hochwert.f0):((Sonderbauwerke="DBw mit NÜ"|Sonderbauwerke="RRR mit NÜ")?(Sonderbauwerke#" "#Sonderbauwerk Kurzname#"<br>Schwellenlänge= "#(Beckenüberlauf Länge).f2#" m"#"<br>Überfallbeiwert= "#(Beckenüberlauf Überfallbeiwert).f2#"<br>X="#Rechtswert.f0#"<br>Y="#Hochwert.f0):((Sonderbauwerke="DBw"|Sonderbauwerke="Schieber"|Sonderbauwerke="RRR")?(Sonderbauwerke_Name #"<br>Q d= "#(Ablauf Maximaler Abfluss).f2#" l/s"#"<br>X="#Rechtswert.f0#"<br>Y="#Hochwert.f0):))))
  • Ausdruck 3: (Entwässerungssystem<3&((Ein).Summierte Einzugsgebietsfläche.sum)>0)?"Ab,ges.= "#((Ein).Summierte Einzugsgebietsfläche.sum.f2)#"<br>Au,ges.= "#((Ein).Summe undurchlässige Einzugsgebietsfläche.sum.f2):


Das Ergebnis dieser komplexen Abfrage schaut dann wie folgt aus:

Allgemein img13.png


Darstellung

Auch die Darstellung der angezeigten Knoten, kann über Ausdrücke und Attribute angepasst werden. In diesem Beispiel wird der Knotenradius an das anfallende Überstauvolumen angepasst. Hierfür wird der Mindestradius von 2m mit dem Wert der Division des anfallenden Maximalen Überstauvolumen durch 5 addiert.

Allgemein img15.png

Ausdruck: 2+((Maximales Überstauvolumen)/5)

Da hier auf ein hydraulisches Attribut zurückgegriffen wird, ist eine Veränderung der Anzeige erst nach erfolgreicher Berechnung der Hydraulik möglich. Das Ergebnis schaut wie folgt aus:

Allgemein img16.png


Ausdruck zum Ausblenden der Knoten

In der Ansichtskonfiguration können Sie auch über Ausdrücke und Attribute Knoten explizit ausblenden.

Als Beispiel werden alle Knoten mit Überstau über 40 m³ über den folgenden Ausdruck ausgeblendet:

Allgemein img18.png
Allgemein img17.png

Ausdrücke in Farbkonfigurationen

Ausdrücke in Eigenschaftslisten