Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
qgis:basic:d_layer_und_daten:cl06_qgis_ausdruecke_expression [2022/05/25 21:43] mapqgis:basic:d_layer_und_daten:cl06_qgis_ausdruecke_expression [2023/05/23 15:27] (aktuell) – [Tabelle] map
Zeile 43: Zeile 43:
 </WRAP> </WRAP>
  
-===Die einfachsten Text-Ausdrücke===+===Einfache Ausdrücke mit häufigen Operatoren===
 ^ Ausdruck                                                                     ^ Syntax                    ^ Ergebnis                                                   ^ Erläuterung                                                           ^ ^ Ausdruck                                                                     ^ Syntax                    ^ Ergebnis                                                   ^ Erläuterung                                                           ^
 | <code SQL>"Vogelart" = 'Mäusebussard' OR "Vogelart" = 'Rotmilan' </code>     | <code SQL>a OR b</code>   | Alle Mäusebussarde und alle Rotmilane werden angesprochen  | Abfrage an **einem Attribut mit zwei Möglichkeiten**                  | | <code SQL>"Vogelart" = 'Mäusebussard' OR "Vogelart" = 'Rotmilan' </code>     | <code SQL>a OR b</code>   | Alle Mäusebussarde und alle Rotmilane werden angesprochen  | Abfrage an **einem Attribut mit zwei Möglichkeiten**                  |
Zeile 50: Zeile 50:
 | <code SQL>"Vogelart" = 'Mäusebussard' AND "Verhalten" != 'kreisend' </code>  | <code SQL>a != b</code>   | Alle nicht-kreisenden Mäusebussarde werden angesprochen    | Abfrage an **zwei Attributen**. Zwei Bedingungen müssen erfüllt sein  | | <code SQL>"Vogelart" = 'Mäusebussard' AND "Verhalten" != 'kreisend' </code>  | <code SQL>a != b</code>   | Alle nicht-kreisenden Mäusebussarde werden angesprochen    | Abfrage an **zwei Attributen**. Zwei Bedingungen müssen erfüllt sein  |
  
-===Die einfachsten Ausdrücke mit Zahlenwerten===+===Einfache Ausdrücke mit Zahlenwerten===
 ^ Ausdruck                                                                       ^ Syntax                                       ^ Ergebnis                                                            ^ Erläuterung                                                                          ^ ^ Ausdruck                                                                       ^ Syntax                                       ^ Ergebnis                                                            ^ Erläuterung                                                                          ^
 | <code SQL>"Vogelart" = 'Rotmilan' AND "Hoehe" > 500 </code>                    |                      <code SQL>a <> b</code> | Alle Rotmilane, welche höher als 500m fliegen werden angesprochen   | Alle **bekannten mathematischen Zeichen** können bei Zahlenwerten eingesetzt werden  | | <code SQL>"Vogelart" = 'Rotmilan' AND "Hoehe" > 500 </code>                    |                      <code SQL>a <> b</code> | Alle Rotmilane, welche höher als 500m fliegen werden angesprochen   | Alle **bekannten mathematischen Zeichen** können bei Zahlenwerten eingesetzt werden  |
Zeile 60: Zeile 60:
  
 ===sonst. Ausdrücke=== ===sonst. Ausdrücke===
-^ Ausdruck                                                                     ^ Syntax                    ^ Ergebnis                                                   ^ Erläuterung                                                           +^ Ausdruck                                              ^ Syntax                                               ^ Ergebnis                                                                          ^ Erläuterung                                                                
-| <code SQL>"Vogelart" IS NOT NULL </code>    |  <code SQL>a IS NOT b</code>   | Alle Zeilen, in welchen bei der "Vogelart" etwas drin steht   | Das Spiel mit den Leerwerten: 'NULL' steht stellvertretend für //nichts// | +| <code SQL>"Vogelart" IS NOT NULL </code>              |  <code SQL>a IS NOT b</code>                         | Alle Zeilen, in welchen bei der "Vogelart" etwas drin steht                       | Das Spiel mit den Leerwerten: 'NULL' steht stellvertretend für //nichts//  
-| <code SQL>"Vogelart" IS NULL </code>        | <code SQL>a IS b</code>        | Alle Zeilen, in welchen bei der "Vogelart" nichts drin steht  | Das Spiel mit den Leerwerten: 'NULL' steht stellvertretend für //nichts// |    +| <code SQL>"Vogelart" IS NULL </code>                  | <code SQL>a IS b</code>                              | Alle Zeilen, in welchen bei der "Vogelart" nichts drin steht                      | Das Spiel mit den Leerwerten: 'NULL' steht stellvertretend für //nichts//  | 
 +| <code SQL>coalesce("Vogelart_A","Vogelart_B")</code>  | <code SQL>coalesce(expression1,expression2…)</code>  | Wenn in Vogelart_A nichts steht, aber in Vogelart_B so wird Vogelart_B verwendet  | Liefert den **ersten nicht-NULL-Wert** der Ausdrucksliste.                 | 
 + 
 +===Geometrie-Ausdrücke=== 
 +^ Ausdruck                     ^ Syntax                        ^ Ergebnis                            ^ Erläuterung                                                                                                          ^ 
 +| <code SQL>$length</code>      <code SQL>$length</code>     | Gibt die Länge einer Linie aus      | Gilt nur für **Linienobjekte**. Es werden die aktuellen Ellipsoid- und Abstandseinheiteneinstellung berücksichtigt   | 
 +| <code SQL>$area</code>        <code SQL>$area</code>       | Gibt die Fläche eines Polygons aus  | Gilt nur für **Polygonobjekte**. Es werden die aktuellen Ellipsoid- und Abstandseinheiteneinstellung berücksichtigt 
 +| <code SQL>$perimeter</code>  |  <code SQL>$perimeter</code>  | Gibt den Umfang eines Polygons aus  | Gilt nur für **Polygonobjekte**. Es werden die aktuellen Ellipsoid- und Abstandseinheiteneinstellung berücksichtigt 
 +| <code SQL>$x</code>          |  <code SQL>$x</code>          | x-Koordinate eines Punktes          | Gilt nur für **Punktobjekte**.                                                                                       | 
 +| <code SQL>$y</code>          |  <code SQL>$y</code>          | y-Koordinate eines Punktes          | Gilt nur für **Punktobjekte**.                                                                                       | 
 + 
 + 
 + 
  
-===Die QGIS-Fälle===+===Die QGIS Wenn-Dann-Sonst-Fälle===
 ^ Ausdruck                                                                                                                        ^ Syntax                                                                         ^ Ergebnis                                                                                                                   ^ Erläuterung                                                                                                   ^ ^ Ausdruck                                                                                                                        ^ Syntax                                                                         ^ Ergebnis                                                                                                                   ^ Erläuterung                                                                                                   ^
 | <code SQL>IF("Hoehe" > 500, 'hoch', 'niedrig')</code>                                                                            <code SQL>if(condition,result_when_true,result_when_false)</code>             | Ab einer Höhe von über 500 schreibe 'hoch' ansonsten schreibe 'niedrig'                                                    | **Wenn-Dann-Sonst**-Syntax. Kann auch in mehreren Zeilen geschrieben werden                                   | | <code SQL>IF("Hoehe" > 500, 'hoch', 'niedrig')</code>                                                                            <code SQL>if(condition,result_when_true,result_when_false)</code>             | Ab einer Höhe von über 500 schreibe 'hoch' ansonsten schreibe 'niedrig'                                                    | **Wenn-Dann-Sonst**-Syntax. Kann auch in mehreren Zeilen geschrieben werden                                   |
Zeile 70: Zeile 83:
 WHEN "Hoehe" > 300 THEN 'hoch' WHEN "Hoehe" > 300 THEN 'hoch'
 ELSE 'niedrig' ELSE 'niedrig'
-END</code>                                                        <code SQL>CASE WHEN bedingung THEN ergebnis […n] [ELSE  ergebnis] END</code>  | Ab einer Höhe von über 500 schreibe 'hoch' ansonsten schreibe 'niedrig'                                                    | Wie oben, mit dem entscheidenten Unterschied, dass beliebig viele "WHEN"-Fälle kombiniert werden können s.U.  |+END</code>                                                        <code SQL>CASE WHEN bedingung THEN ergebnis […n] [ELSE  ergebnis] END</code>  | Ab einer Höhe von über 500 schreibe 'hoch' ansonsten schreibe 'niedrig'                                                    | Wie oben, mit dem entscheidenden Unterschied, dass **beliebig viele "WHEN"-Fälle** kombiniert werden können s.U.  |
 | <code SQL>CASE   | <code SQL>CASE  
 WHEN "Hoehe" > 300 AND "Hoehe" < 500 THEN 'hoch'  WHEN "Hoehe" > 300 AND "Hoehe" < 500 THEN 'hoch' 
 WHEN "Hoehe" > 500 THEN 'sehr hoch'  WHEN "Hoehe" > 500 THEN 'sehr hoch' 
 ELSE 'niedrig'  ELSE 'niedrig' 
-END</code>  |  <code SQL>CASE WHEN bedingung THEN ergebnis […n] [ELSE  ergebnis] END</code>  | Bei einer Höhe von 300-500 schreibe 'hoch', bei über 500 schreibe 'sehr hoch', in allen anderen Fällen schreibe 'niedrig'                                                                                                               |+END</code>  |  <code SQL>CASE WHEN bedingung THEN ergebnis […n] [ELSE  ergebnis] END</code>  | Bei einer Höhe von 300-500 schreibe 'hoch', bei über 500 schreibe 'sehr hoch', in allen anderen Fällen schreibe 'niedrig' Beliebig häufig kann das Spiel mit WHEN-THEN wiederholt werden.                                                                                                              | 
 + 
  
  
Zeile 82: Zeile 97:
   * <do map>Ausdrucksdialog Screenshot erneuern</do>   * <do map>Ausdrucksdialog Screenshot erneuern</do>
   * <do map>Sammlung an Beispielen an Übungsdatensatz</do>   * <do map>Sammlung an Beispielen an Übungsdatensatz</do>
 +
 +
 +----
 +
 +~~DISCUSSION|Fragen, Hinweise und Fehler kommen hier hin:~~
 +