Ausdrücke: Unterschied zwischen den Versionen
Zeile 147: | Zeile 147: | ||
In der Ansichtskonfiguration können Sie auch über Ausdrücke und Attribute Knoten explizit ausblenden. | In der Ansichtskonfiguration können Sie auch über Ausdrücke und Attribute Knoten explizit ausblenden. | ||
− | Als Beispiel werden alle Knoten mit Überstau über | + | Als Beispiel werden alle Knoten mit Überstau über 40 m³ über den folgenden Ausdruck ausgeblendet: |
+ | <div class="res-img">[[File:Allgemein_img17.png|500px|center]]</div> | ||
+ | <div class="res-img">[[File:Allgemein_img16.png|500px|center]]</div> | ||
==Bsp AQUA== | ==Bsp AQUA== |
Version vom 16. März 2021, 08:51 Uhr
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.
Inhaltsverzeichnis
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
Syntax der Ausdrücken
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 |
* | 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 | |
.size | Abfrage-Größe | ||
.len | Abfrage-Länge | ||
.max | Abfrage-Maximalwert | ||
.min | Abfrage-Minimalwert | ||
.sum | Abfrage-Minimalwert | Summiert die Attribute | |
.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“ |
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".
- 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:
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.
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:
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:
Bsp AQUA
Um spezielle Untermengen der Wasserknoten bzw. Leitungen auszuwählen bzw. suchen zu lassen, steht die Option Suchen durch Ausdrücke zur Verfügung. Rechtsklick auf Ausdrücke, Auswahl von Neu… und der Dialog zur Konfiguration von Ausdrücken erscheint. Alle relevanten Attribute sind unter Wasserknoten und Wasserleitungen aufgeführt. Beispielausdruck: (Berechnete Länge)>15 Dieser Ausdruck liefert die Menge aller Leitungen, deren „Berechnete Länge“ größer als 15 Meter ist.
Einfache Beispiele von Ausdrücken
Eine Folge von Texten (Strings) und Feldnamen verbunden mit #Texte sind dabei unter Anführungszeichen zu stellen, der Abstand zwischen Text und Feldwert gehört noch zum Text.Für nummerische Felder kann die Ausgabegenauigkeit festgelegt werden .f0 ...
- „Text1 “#Feldname.f2#“
- Text“"maxÜV "#Maximales Überstauvolumen.f2#" m³"
Für nicht nummerische Datenfelder gibt es die Möglichkeit die Ausgabe zu beschneiden, hier am Beispiel des Datenfeldes „Name“Name.substr(3 ,5)liefert vom Namen eines Objektes den Teil vom 3. Charakter ab die nächsten 5 Stellen (nach 3 steht ein Leerzeichen !!)Name.right(4)liefert die letzten 4 Stellen als StringName.left(4)liefert die ersten 4 Stellen als String