Outdated version of the documentation. Find the latest one here.

Ausdrücke

Die Ausdruck-sfunktion ist aus vielen Teilen von QGIS verfügbar. Er kann unter expression Expression Builder, expressionSelect Nach Ausdruck wählen..., Geometrie erzeugen, calculateField Feldrechner oder dem dataDefined Datendefinierte Übersteuerung Werkzeug aufgerufen werden. Basierend auf Layerdaten und vorkompilierte oder benutzerdefinierte Funktionen, bietet es eine leistungsstarke Möglichkeit Attributwerte, Geometrie und Variablen zu ändern, damit dynamisch der Geometriestil, den Inhalt oder die Position der Beschriftungen, den Wert für ein Diagramm, die Höhe eines Zusammenstellungsitems, die Wahl einiger Funktionen, erstellen eines virtuellen Felds ... bearbeiten können

Einige Beispiele:

  • Aus dem Feldrechner, berechnen Sie ein “pop_density” Feld, indem Sie die existierenden Felder “total_pop” und “area_km2” nutzen:

    "total_pop" / "area_km2"
    
  • Aktualisieren Sie das Feld “density_level” mit zugehörigen Kategorien zu den “pop_density” Werten:

    CASE WHEN "pop_density" < 50 THEN 'Low population density'
         WHEN "pop_density" >= 50 and "pop_density" < 150 THEN 'Medium population density'
         WHEN "pop_density" >= 150 THEN 'High population density'
    END
  • Wenden Sie einen kategorisierten Stil auf alle Objekte an, je nachdem, ob der durchschnittliche Hauspreis kleiner oder größer als 10000€ pro Quadratmeter ist:

    "price_m2" > 10000
    
  • Mit dem “Durch Ausdruck wählen...” Werkzeug, wählen Sie alle Objekte die eine Fläche mit “Hoher Bevölkerungsdichte” und einem durchschnittlichen Hauspreis größer als 10000€ pro Quadratmeter darstellen:

    "density_level" = 'High population density' and "price_m2" > 10000
    

Ebenso könnte der vorherige Ausdrucke dazu verwendet werden, welche Objekte beschriftet oder in der Karte gezeigt werden. Ausdrücke benutzen bietet Ihnen eine Vielzahl von Möglichkeiten.

Das Ausdrucks-merkmal bietet Ihnen Zugang zu dem:

  • Ausdruck, welcher nutzbare Funktionen auflistet

  • Funktions Editor hilft Ihnen benutzerdefinierte Funktionen zu erstellen, um diese in den Ausdrücken zu verwenden.

Funktionsliste

Figure Expression 1:

../../../_images/function_list.png

Der Ausdruck Reiter

Der Ausdruck Reiter enthält Funktionen sowie Layerfelder und -werte. Er enthält Widgets:

  • geben Sie Ausdrücke ein, indem Sie Funktionen und/oder Felder nutzen. Eine Vorschau des Ausdrucksergebnis wird unten in dem Dialog angezeigt.

  • wählen Sie die entsprechende Funktion in der Liste. Ein Suchfeld ist zum filtern der Liste verfügbar um schnell und einfach eine bestimmte Funktion oder ein bestimmtes Feld zu finden. Doppelklicken Sie das gewünschte Item und es wird in den Ausdruck geschrieben.

  • zeigt Hilfe für jede ausgewählte Funktion. Wenn ein Feld ausgewählt ist, zeigt das Widget ein Beispiel seiner Werte. Doppelklicken Sie einen Wert und er wird dem Ausdruck hinzugefügt.

Um etwas zu helfen, sind die Funktionen in Gruppen strukturiert. In Operatoren finden Sie mathematische Operatoren. Schauen Sie in Mathematik finden Sie mathematische Funktionen. Die Umwandlungen Gruppe enthält Funktionen die einen Datentyp in einen anderen konvertieren. Die Zeichenkette Gruppe stellt Funktionen für Datenketten zur Verfügung, so wie Datum und Uhrzeit Datums- und Uhrzeitdaten handhabt. In der Geometrie Gruppe finden Sie Funktionen für Geometrieobjekte. Mit den Funktionen der Datensatz Gruppe können Sie Ihren Datensatz mit einer Nummerierung versehen, während Sie mit der Feldern und Werten Gruppe alle Attribute der Attributtabelle sehen können. Die Custom Gruppe liefert eine Liste der selbst erstellten oder importierten Funktionen. Es gibt viele weitere Gruppen, aufgelistet unten.

Operatoren

Diese Gruppe enthält Operatoren (z. B. ., +, -, *). Beachten Sie, dass für die meisten mathematischen Fubktionen unten gilt, ist eine Eingabe NULL, dann ist das Ergebnis auch NULL.

Funktion

Beschreibung

a + b

Addition von zwei Werten (a plus b)

a - b

Subtraktion von zwei Werten (a minus b)

a * b

Multiplikation von zwei Werten (a multipliziert mit b)

a / b

Division von zwei Werten (a dividiert durch b)

a % b

Rest der Division von a durch b (beispielsweise 7 % 2 = 1, oder 2 passt in 7 dreimal mit dem Rest 1)

a ^ b

Potenz von zwei Werten (zum Beispiel, 2^2=4 oder 2^3=8)

a < b

Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner dem rechten Wert ist (a ist kleiner als b)

a <= b

Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner oder gleich dem rechten Wert ist

a <> b

Vergleicht zwei Werte und ergibt 1 wenn sie nicht gleich sind

a = b

Vergleicht zwei Werte und ergibt 1 wenn sie gleich sind

a != b

a und b sind nicht gleich

a > b

Vergleicht zwei Werte und ergibt 1, wenn der linke größer dem rechten Wert ist (a ist größer als b)

a >= b

Vergleicht zwei Werte und ergibt 1, wenn der linke größer oder gleich dem rechten Wert ist

a ~ b

a entspricht dem regulären Ausdruck b

||

Verknüpft zwei Werte zusammen zu einer Zeichenkette. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL.

‘\n’

Setzt eine neue Linie in einer Zeichenkette ein

LIKE

Liefert 1, wenn der erste Parameter zum gegebenen Muster passt

ILIKE

Liefert 1, wenn der erste Parameter ohne Berücksichtung der Groß-/Kleinschreibung zum gegebenen Muster passt (ILIKE kann statt LIKE benutzt werden ,damit die Groß-/Kleinschreibung berücksichtigt wird)

a IS b

Testet, ob zwei Werte identisch sind. Gibt 1 zurück, wenn a gleich b ist

a OR b

Liefert 1, wenn die Bedingung a oder b erfüllt ist

a AND b

Liefert 1, wenn die Bedingungen a und b erfüllt sind

NOT

Negiert eine Bedingung

Spaltenname “Spaltenname”

Wert des Feldspaltennamens, achten Sie darauf, es nicht mit einfachen Anführungszeichen zu verwechseln, siehe unten

‘Zeichenkette’

einen Zeichenkettenwert, achten Sie darauf, es nicht mit doppelten Anführungszeichen zu verwechseln, siehe oben

NULL

ein Nullwert

a IS NULL

a hat keinen Wert

a IS NOT NULL

a hat einen Wert

a IN (value[,value])

a ist unter den gelistet Werten

a NOT IN (value[,value])

a ist nicht unter den gelisteten Werten

Einige Beispiele:

  • Verbindet eine Zeichenkette und einen Wert von einem Spaltennamen:

    'My feature''s id is: ' || "gid"
  • Testen Sie ob das “description” Attributfeld mit einer ‘Hello’ Zeichenfolge im Wert startet (beachten Sie die Position des % Zeichens):

    "description" LIKE 'Hello%'

Bedingungen

Diese Gruppe enthält Funktionen um bedingte Prüfungen in Ausdrücken zu handhaben.

Funktion

Beschreibung

CASE WHEN ... THEN ... END

Wertet einen Ausdruck aus und liefert ein Ergebnis, wenn es wahr ist. Sie können mehrere Bedingungen testen

CASE WHEN ... THEN ... ELSE ... END

Wertet einen Ausdruck aus und gibt ein anderes Ergebnis zurück, je nachdem es wahr oder falsch ist. Sie können mehrere Bedingungen testen

coalesce

Liefert den ersten Nicht-NULL-Wert aus der Ausdrucksliste

if

Prüft eine Bedingung und liefert unterschiedliche Ergebnisse je nach deren Ausgang

regexp_match

Liefert wahr, wenn eine Zeichenkette zum gegebenen regulären Ausdruck passt

Einige Beispiele:

  • Sende einen Wert zurück wenn die erste Bedingung wahr ist, sonst einen anderen Wert:

    CASE WHEN "software" LIKE '%QGIS%' THEN 'QGIS' ELSE 'Other' END

Mathematische Funktionen

Diese Gruppe enthält mathematische Funktionen (z.B. sqrt, sin und cos).

Funktion

Beschreibung

abs

Liefert den Betrag einer Zahl

acos

Liefert den inversen Kosinus eines Wert im Bogenmaß

asin

Liefert den inversen Sinus eines Wert im Bogenmaß

atan

Liefert den inversen Kosinus eines Wert im Bogenmaß

atan2(y,x)

Liefert den inversen Tangens von y/x durch Verwendung des Vorzeichens der beiden Argumente um den Quadranten des Ergebnisses festzustellen

azimuth(a,b)

Liefert auf Norden bezogenen Azimuth als Winkel im Bogenmaß im Uhrzeigersinn gemessen von der Vertikalen von punkt a zu punkt b

ceil

Rundet eine Zahl auf

clamp

Beschränke eine Eingabenwert auf einen gegebenen Bereichen

cos

Liefert den inversen Kosinus eines Wert im Bogenmaß

degrees

Wandelt Bogenmaß in Grad um

exp

Liefert den Exponential eines Wert

floor

Rundet eine Zahl ab

ln

Liefert den natürlichen Logarithmus des übergebenen Ausdruck

log

Liefert den Wert des Logarithmus des gegebenen Werts und der Basis

log10

Liefert den 10er-Logarithmus des gegebenen Ausdrucks

max

Liefert den größten Wert einer Wertemenge

min

Liefert den kleinsten Wert einer Wertemenge

pi

Liefert den Wert von pi für Berechnungen

radians

Wandelt Grad in Bogenmaß um

rand

Liefert eine zufällige Zahl aus dem durch Minimum und Maximum festgegelegten Bereichs (inklusiv)

randf

Liefert eine zufällige Fließkommazahl aus einem durch Minimum und Maximum gegebenen Bereichs (inklusiv)

round

Rundet auf eine bestimmte Stellenzahl

scale_exp

Wandelt einen bestimmten Wert aus einer Eingangsdomäne zu einem Leistungsbereich einer exponentielle Kurve

scale_linear

Wandelt einen gegebenen Wert des Eingabe- mit linearer Interpolation in einen Ausgabebereich

sin

Liefert den Sinus eines Winkels

sqrt

Liefert die Quadratwurzel eines Werts

tan

Liefert den Tangens eines Winkels

Farbfunktionen

Diese Gruppe enthält Funktionen zur Farbmanipulation.

Funktion

Beschreibung

color_cmyk

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb- und Schwarzkomponenten

color_cmyka

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb-, Schwarz- und Alpha-(Transparenz-)komponenten

color_hsl

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen

color_hsla

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen

color_hsv

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen

color_hsva

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen

color_part

Gibt eine bestimmte Komponente einer Farbzeichenkette zurück, z.B. rote oder Alpha-Komponente

color_rgb

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün- und Blau-Komponenten

color_rgba

Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün-, Blau- und Alpha-(Transparenz-)Komponenten

darker

Liefert eine dunklere (oder hellere) Farbzeichenkette

lighter

Liefert eine hellere (oder dunklere) Farbzeichenkette

project_color

Liefert eine Farbe aus dem Farbschema des Projekts

ramp_color

Liefert eine Farbe aus einem Verlaufs als Zeichenkette

set_color_part

Setzt eine bestimmte Komponente einer Farbzeichenkette, z.B. rote oder Alpha-Komponente

Umwandlungen

Diese Gruppe enthält Funktionen, um einen Datentypen in einen anderen umzuwandeln (z.B. Zeichenketten zu Ganzzahlen oder umgekehrt).

Funktion

Beschreibung

to_date

In eine Datumsobjekt umzuwandelnde Zeichenkette

to_datetime

In eine Zeitpunktobjekt umzuwandelnde Zeichenkette

to_int

Wandelt eine Zeichenkette in Fließkommazahlen

to_interval

Wandelt eine Zeichenkette in einen Intervalltyp (kann für Tage, Stunden, Monate usw. eines Datum verwendet werden)

to_real

Wandelt eine Zeichenkette in Fließkommazahlen

to_string

Wandelte eine Zahl in eine Zeichenkette

to_time

Wandelt eine Zeichenkette in ein Zeitobjekt

Benutzerdefinierte Funktion

Diese Gruppe enthält benutzerdefinierte Funktionen. Siehe function_editor für weitere Informationen.

Datum und Zeit Funktionen

Diese Gruppe enthält Funktionen die auf Datums- und Zeitdaten angewendet werden können.

Funktion

Beschreibung

age

Liefert die Differenz zwischen zwei Terminen oder Terminzeiten als Intervall

day

Bestimmt den Tag aus einem Datum oder die Anzahl der Tage aus einem Intervall.

day_of_week

Liefert eine Zahl die dem Tag der Woche entspricht, für ein bestimmtes Datum oder eine Datumzeit

hour

Bestimmt den Stundenteil aus einem Datum oder die Stundenzahl aus einem Intervall

minute

Bestimmt den Minutenteil aus einem Datum oder die Minutenzahl aus einem Intervall

month

Bestimmt den Monat aus einem Datum oder die Anzahl der Monate aus einem Intervall

now()

Bestimmt das aktuelle Datum und die Zeit

second

Bestimmt den Sekundenteil aus einem Datum oder die Sekundenzahl aus einem Intervall

week

Bestimmt die Wochennummer aus einem Datum oder die Anzahl der Wochen aus einem Intervall

year

Bestimmt das Jahr aus einem Datum oder die Anzahl der Jahre aus einem Intervall

Einige Beispiele:

  • Lassen Sie sich den Monat und das Jahr von heute im Format “10/2014” herausgeben:

    month(now()) || '/' || year(now())

Felder und Werte

Enthält eine Liste von Feldern des layers.

Im Allgemeinen können Sie die verschiedenen Felder, Werte und Funktionen verwenden, um Berechnungen als Ausdruck zu erstellen oder Sie tragen es einfach in die Box ein.

Um die Werte eines Feldes anzuzeigen, klicken Sie Sie einfach auf das entsprechende Feld und wählen Sie zwischen Die ersten 10 eindeutigen Werte laden und Alle eindeutigen Werte laden. Auf der rechten Seite öffnet sich die Feldwerte Liste mit eindeutigen Werten. Oben an der Liste, hilft ein Suchfeld, die Werte zu filtern. Um dem Ausdruck einen Wert hinzuzufügen, doppelklicken Sie einfach den Namen in der Liste.

Beispielwert können auch über Rechtsklick erreicht werden. Einen Feldnamen aus der Liste wählen und dann rechtsklicken, um über das Kontextmenü Beispielwerten aus dem gewählten Felds zu laden.

Feldnamen sollten, in dem Ausdruck, in doppelte Anführungsstriche gesetzt werden. Werte oder Zeichenketten sollten in einfache Anführungsstriche gesetzt werden.

Unscharfer Vergleich Funktion

Diese Gruppe enthält unscharfe Vergleichsfunktionen zwischen Werten.

Funktion

Beschreibung

hamming_distance

Liefert der Anzahl von Zeichen an korrespondieren Positionen innerhalb der Eingabezeichenketten an dem die Zeichen unterschiedliche sind.

levensheim

Liefert die minimale Anzahl von Zeichenbearbeitungen (Einfügen, Löschen oder Substitutionen) die erforderlich, sind um eine Zeichenkette zu einer anderen zu ändern. Misst die Ähnlichkeit zwischen zwei Zeichenketten

longest_common_substring

Liefert die längste gemeinsame Teilzeichenkette zwischen zwei Zeichenketten

soundex

Liefert die Soundex Darstellung einer Zeichenkette

Allgemeine Funktionen

Diese Gruppe enthält allgemeine Funktionen.

Funktion

Beschreibung

eval

Werte einen Ausdruck aus, der als Zeichenkette übergeben wird. Nützlich um als Kontextvariablen oder Felder übergebene dynamische Parameter zu expandieren.

layer_property

Liefert eine Eigenschaft des Layers oder einen Wert seiner Metadaten. Es kann ein Layername sein, KBS, Geometrietyp, Objektanzahl...

var

Liefert den Wert, gespeichert innerhalb einer bestimmten Variablen. Siehe Variable Fubktionen unten

Geometriefunktionen

Dies Gruppe enthält Funktionen für das Arbeiten mit Geometrieobjekten (z.B. Länge und Flächeninhalt).

Funktion

Beschreibung

$area

Liefert die Fläche des aktuellen Objekts

$geometry

Liefert die Geometrie des aktuellen Objekts (kann zur Verarbeitung mit anderen Funktionen verwendet werden)

$length

Liefert die Länge des aktuellen Objekts

$perimeter

Liefert die Umfanglänge des aktuellen Objekts.

$x

Liefert die X-Koordinate des aktuellen Objekts

$x_at(n)

Liefert die X-Koordinate des n-ten Knotens der aktuellen Objektgeometrie

$y

Liefert die Y-Koordinate des aktuellen Objekts

$y_at(n)

Liefert die Y-Koordinate des n-ten Knotens der aktuellen Objektgeometrie

area

Liefert die Fläche eines Polygonobjekts. Berechnung erfolgen im Bezugssystem der Geometrie

bounds

Liefert die Geometrie der Ausmaße einer Eingabegeometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie

bounds_height

Liefert die Höhe der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie

bounds_width

Liefert die Breite der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie

buffer

Liefert eine Geometrie, die alle Punkte enthält deren Abstand von dieser Geometrie kleiner oder gleich dem gegeben Wert ist. Berechnungen im Bezugssystem der Geometrie

centroid

Liefert das geometrische Zentrum einer Geometrie

closest_point

Liefert einen Punkt in einer Geometrie, der der zweiten Geometrie am nächsten liegt.

combine

Liefert die Kombination von zwei Geometrien

contains(a,b)

Liefert true dann und nur dann, wenn kein Punkt von b außerhalb von a liegt und mindestens ein Punkt von b in a liegt.

convex_hull

Liefert die konvexe Hülle einer Geometrie es stellt die minimale konvexe Geometrie dar, die alle Geometrien der Menge enthält)

crosses

Liefert 1 (wahr), wenn die gelieferte Geometrien einige, aber nicht alle inneren Punkte gemeinsam haben

difference(a,b)

Liefert die Geometrie, die den Teil der Geometrie a darstellt, der sich nicht mit Geometrie b scheidet

disjoint

Liefert 1 (true), wenn die Geometrie keinen Raum teilen

distance

Liefert den kleinsten Abstand zwischen zwei Geometrien in projizierten Einheiten

end_point

Liefert den letzten Knoten einer Geometrie

exterior_ring

Liefert den äußeren Ring eines Polygons als Linestring. Wenn die Geometrie kein Polygon ist, ist das Ergebnis null

extrude(geom,x,y)

Liefert eine extruierte Version der Eingabe (Multi-)Kurven- oder (Multi-)Liniengeometrie mit einer durch x und y angegebenen Erweiterung

geom_from_gml

Liefert eine Geometrie erstellt aus einer GML-Darstellung der Geometrie

geom_from_wkt

Liefert eine Geometrie aus einer Well-Known-Text (WKT)-Darstellung

geom_to_wkt

Liefert eine Well-Known-Text (WKT)-Darstellung einer Geometrie ohne SRID-Metadaten

geometry

Liefert die Geometrie eines Objekts

geometry_n

Liefert die nth Geometrie aus einer Geometriecollection oder NULL wenn die Eingabe keine Collection ist

interior_ring_n

Liefert die Geometrie des n-ten inneren Rings aus einer Polygongeometrie oder null, wenn die Geometrie kein Polygon ist

intersection

Liefert eine Geometrie, die die gemeinsamen Teile von zwei Geometrien repräsentiert

intersects

Prüft, ob sich zwei Geometrien schneiden. Liefert 1 (wahr,) wenn sich die Geometrien räumlich schneiden (einen beliebigen gemeinsamen Raum haben) und 0, wenn nicht.

intersects_bbox

Prüft ob sich der Geometrierahmen sich mit dem Rahmen einer anderen Geometrie überlappt. Liefert 1 (wahr), wenn die Geometrierahmen sich überschneiden (einen Teil des Raums teilen) und 0, wenn nicht

is_closed

Liefert wahr, wenn ein Linestring geschlossen ist (Start- und Endpunkt sind gleich) oder falsch, wenn er nicht geschlossen ist oder null wenn eine Geometrie kein Linestring ist.

length

Liefert die Länge eines Liniengeometrie Objekts (oder Länge einer Zeichenkette)

m

Liefert die M-Koordinate einer Punktgeometrie

make_line

Liefert eine Liniengeometrie aus einer Reihe von Punktgeometrien

make_point(x,y,z,m)

Liefert eine Punktgeometrie von X- und Y-Werten (und optional Z- und M-Werte)

make_point_m(x,y,m)

Liefert eine Punktgeometrie von X- und Y-Koordinaten und die M-Werte

make_polygon

Liefert eine Polygongeometrie aus einem äußeren Ring und einer optionalen Liste von inneren Ringen

nodes_to_points

Liefert eine aus allen Punkte der Eingabegeometrie bestehende Multipunktgeometrie

num_geometries

Liefert die Anzahl von Geometrien in Geometrycollections, oder null, wenn die Eingabegeometrie keine Collection ist

num_interior_rings

Liefert die Anzahl innerer Ringe eines Polygons oder einer Geometrycollection oder null, falls die Geometrie kein Polygon und keine Collection ist

num_points

Liefert die Anzahl von Stützpunkten einer Geometrie

num_rings

Liefert die Ringanzahl (ohne äußere Ringe) in einem Polygon oder einer Geometrycollection oder null, wenn die Eingabegeometrie weder Polygon noch Collection ist

order_parts

Sortiert die Teile eine Multigeometrie nach gegebenem Kriterium

overlaps

Prüft, ob sich zwei Geometrien überlappen. Liefert wahr, wenn sich die Geometrien Raum teilen, die gleiche Dimension haben, aber nicht komplett ineinander enthalten sind

perimeter

Liefert den Perimeter eines Polygonobjekts. Berechnung erfolgen im Bezugssystem der Geometrie

point_n

Liefert einen bestimmten Knoten einer Geometrie

point_on_surface

Liefert einen Punkt der Sicht in der Fläche der Geometrie liegt

relate

Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien

reverse

Kehrt die Richtung einer Linien durch die Umkehrung der Stützpunktreihenfolge um

segments_to_lines

Liefert einen Multilinegeometry bestehend aus eine Linie für jedes Segment der Eingabegeometrie

shortest_line

Liefert die kürzeste Linie, die zwei Geometrien verbindet. Die resultierende Linie beginnt bei Geometrie 1 und endet bei Geometrie 2

start_point

Liefert den ersten Knoten einer Geometrie

sym_difference

Liefert eine Geometrie, die die Teile von zwei Geometrien enthält, die sich nicht überschneiden

touches

Prüft, ob sich zwei Geometrien berühren. Liefert 1 (wahr), wenn sich die Geometrien mindestens einen Punkt gemeinsam haben, aber deren Inneres sich nicht überschneidet

transform

Liefert die vom Quell-KBS in das Ziel-KBS transformierte Geometrie

translate

Liefert die verschobenen Version einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie

union

Liefert eine Geometrie die alle Punkte der Geometrien umfasst

within (a,b)

Prüft, ob eine Geometrie in einer anderen enthalten ist. Liefert 1 (true), wenn die Geometrie komplett innerhalb der Geometrie b liegt

x

Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien

x_min

Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie

x_max

Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie

y

Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien

y_min

Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie

y_max

Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie

z

Liefert die Z-Koordinate einer Punktgeometrie

Einige Beispiele:

  • Liefert die X-Koordinate des Zentroiden des aktuellen Objekts

    x($geometry)
  • Sendet einen Wert zur zugehörigen Objektfläche zurück:

    CASE WHEN $area > 10 000 THEN 'Larger' ELSE 'Smaller' END

Datensatzfunktionen

Diese Gruppe enthält Funktionen die sich auf datensatzbezeichner beziehen.

Funktion

Beschreibung

$currentfeature

Liefert das aktuellen Objekt. Dies kann mit der Funktion ‘attribute’ verwendet werde um Attributwerte des aktuellen Objekts zu bestimmen.

$id

Liefert die Objektkennung der aktuellen Zeile

$map

Liefert die Kennung des aktuellen Kartenelements, wenn die Karte in einer Zusammenstellung oder “canvas”, wenn die Karte im QGIS-Kartenfenster gezeichnet wird

$rownum

Liefert die aktuelle Zeilennummer

$scale

Liefert den aktuellen Kartenmaßstab

attribute

Liefert das angegeben Attribut eines Objekts

get_feature

Liefert das erste Objekts eines Layers eines gegebenen Attributwert

uuid

Erzeuge einen Universally Unique Identifier (UUID) für jede Zeile. Jeder UUID ist 38 Zeichen lang.

Einige Beispiele:

  • Liefert das erste Objekt in Layer “LayerA” dessen Feld “id” die selben Werte wie das Feld “name” des aktuellen Objekts, hat (eine Art Jointure):

    get_feature( 'layerA', 'id', attribute( $currentfeature, 'name') )
  • Berechnen Sie die Fläche des verbundenen Objekts aus dem vorherigen Beispiel:

    area( geometry( get_feature( 'layerA', 'id', attribute( $currentfeature, 'name') ) ) )

Zeichenkettenfunktionen

Diese Gruppe enthält Funktionen für Zeichenketten (z.B. Ersetzen und in Großbuchstaben umwandeln).

Funktion

Beschreibung

concat

Verketten mehrerer Zeichenkette zu einem

format

Formatiert eine Zeichenkette mit den gegebenen Argumenten

format_date

Formatiert einen Dateityp oder eine Zeichenkette in einen benutzerdefinierten Zeichenketten Formatstyp.

format_number

Liefert eine Zahl formatiert mit den lokalen Tausendertrennern (schneidet die Zahl auch auf die angegebene Stellenanzahl)

left(string, n)

Liefert einen Teilstring mit den ersten n Zeichen der Zeichenkette

length

Liefert die Länge einer Zeichenkette (oder Länge eines Liniengeometrie Objekts)

lower

wandelt eine Zeichenkette in Kleinbuchstaben um

lpad

Liefert eine bis zur gegebenen Breite mit dem Füllzeichen aufgefüllte Zeichenkette.

regexp_replace

Liefert eine Zeichenkette in der ein regulärer Ausdruck ersetzt wurde

regexp_substr

Liefert den Teil der Zeichenkette, die dem gegebenen regulären Ausdrucks entspricht

replace

Liefert eine Zeichenkette in der die angegebene Zeichenkette ersetzt ist

right(string, n)

Liefert einen Teilstring mit den ersten n Zeichen der Zeichenkette

rpad

Liefert eine bis zur gegebenen Breite mit dem Füllzeichen aufgefüllte Zeichenkette.

strpos

Liefert den Index eines regulären Ausdrucks in einer Zeichenkette

substr

Liefert eine Teilzeichenkette

title

Wandelt alle Wörter einer Zeilenkette ins Titelformat (alle Wörter in Kleinbuchstaben bis auf die Anfangsbuchstaben in Großbuchstaben)

trim

Entfernt Leerzeichen am Anfang und Ende einer Zeichenkette (Leerzeichen, Tabulatoren usw)

upper

Wandelt eine Zeichenkette in Großbuchstaben.

wordwrap

Liefert eine auf eine maximale/minimale Zeichenanzahl umgebrochene Zeichenkette

Kürzlich verwendete Funktionen

Diese Gruppe enthält kürzlich verwendete Funktionen. Jeder Ausdruck. der in dem Ausdruck Dialog verwendet wird, wird in die Liste aufgenommen, sortiert von kürzlich verwendet bis zu den weniger verwendeten. Dies hilft, schnell alle vorherigen Ausdrücke abzurufen.

Variable Funktionen

Diese Gruppe enthält dynamische Variablen im Zusammenhang mit der Anwendung, Projektdatei und anderen Einstellungen. Es bedeutet, dass einige Funktionen nicht verfügbar sind, je nach Kontext:

  • von dem expressionSelect Objekte über Ausdruck wählen Dialog

  • von dem calculateField Feldrechner Dialog

  • von dem Layereigenschaften Dialog

  • von den Druckzusammenstellung

Um diese Funktionen in einem Ausdruck zu verwenden, sollte ein @ -Zeichen vorangestellt sein (z.B. @row_number). Betroffen sind:

Funktion

Beschreibung

atlas_feature

Liefert das aktuelle Atlas-Objekt (als Objekt)

atlas_featureid

Liefert die ID des aktuellen Atlasobjekts

atlas_featurenumber

Liefert die Seitenzahl einer Zusammenstellung

atlas_filename

Liefert den aktuellen Atlas Dateinamen

atlas_geometry

Liefert die aktuelle Geometrie des Atlas Objektes

atlas_pagename

Liefert den aktuellen Atlas Seitennamen

atlas_totalfeatures

Liefert die Gesamtanzahl der Objekte im Atlas

grid_axis

Liefert die aktuelle Kartenmerkungsachse (z.B. ‘x’ für Längengrad und ‘y’ für Breitengrad)

grid_number

Liefert den aktuellen Gitteranmerkungswert

item_id

Liefert die Benutzerkennung des aktuellen Zusammenstellungselement (nicht notwendigerweise eindeutig)

item_uuid

Liefert die eindeutige ID des Zusammenstellungselements

layer_id

Liefert die ID des aktuellen Layers

layer_name

Liefert den aktuellen Layernamen

layout_dpi

Liefert die Zusammenstellungsauflösung (DPI).

layout_numpages

Liefert die Seitenzahl einer Zusammenstellung

layout_pageheight

Liefert die Zusammenstellungsseitenhöhe in mm.

layout_pagewidth

Liefert die Zusammenstellungsseitenhöhe in mm

map_id

Liefert die Kennung des aktuellen Kartenziels. ‘canvas’ für Darstellung in der Karte und Kennung der Zusammenstellung bei Druckzusammenstellungen

map_extent_center

liefert das Punktobjekt in der Mitte der Karte

map_extent_height

Liefert die aktuelle Höhe der Karte

map_extent_width

Liefert die aktuelle Breite der Karte

map_rotation

Liefert die aktuelle Kartendrehung

map_scale

Liefert den aktuellen Kartenmaßstab

project_filename

Liefert den aktuellen Projektnamen

project_folder

Liefert das Verzeichnis des aktuellen Projekts

project_path

Liefert den vollen Pfad (mit Dateiname) des aktuellen Projekts

project_title

Liefert den Titel des aktuellen Projekts

qgis_os_name

Liefert den Betriebssystemnamen, z.B. ‘windows’, ‘linux’ oder ‘osx’

qgis_platform

Liefert die QGIS-Plattform, z.B. ‘desktop’ oder ‘server’

qgis_release_name

Liefert den aktuellen QGIS-Releasename

qgis_version

Liefert den aktuellen QGIS-Versionstext

qgis_version_no

Liefert die aktuelle QGIS-Versionsnummer

symbol_angle

Liefert den Winkel des Symbols zur Objektdarstellung (nur für Markierungssymbole gültig)

symbol_color

Liefert die Farbe des Symbols zur Objektdarstellung

user_account_name

Liefert den Betriebssystemaccountnamen des aktuellen Benutzers

user_full_name

Liefert den Betriebssystemkontonamen des aktuellen Benutzers

row_number

Speichert die Zahl der aktuellen Reihe

Funktions Editor

Mit dem Funktions Editor, können Sie Ihre eigene Python benutzerdefinierte Funktionen auf komfortable Art und Weise definieren.

Figure Expression 2:

../../../_images/function_editor.png

Der Funktionseditor Reiter

Der Funktions Editor erzeugt neue Pythondateien in dem .qgis2\python\expressions Ordner und lädt alle Funktionen automatisch, wenn QGIS startet. Seien Sie sich bewusst, dass neue Funktionen nur in dem expressions Ordner gespeichert werden und nicht in der Projektdatei. Wenn Sie ein neues Projekt haben, welches Ihre benutzerdefinierten Funktionen verwendet, müssen Sie ebenso die .py Datei in dem Ausdrucksordner teilen.

Hier ist ein kurzes Beispiel, wie Sie eine eigene Funktion erzeugen:

@qgsfunction(args="auto", group='Custom')
def myfunc(value1, value2, feature, parent):
    pass

Das kurze Beispiel erzeugt eine ‘myfunc’ Funktion, das ist eine Funktion mit zwei Werten. Wenn Sie die args=’auto’ Funktionsargumente verwenden, werden die erforderliche Funktionsargumente berechnet durch die Anzahl der Argumente, die die Funktion in Python festgelegt hat (Minus 2 - Objekte und Eltern).

Diese Funktion kann dann mit dem Ausdruck benutzt werden:

myfunc('test1', 'test2')

Ihre Funktion wird in der Custom Funktionsgruppe des Ausdruck Reiters nach Benutzung des Skript starten Knopfs implementiert.

Weitere Informationen über das Erstellen von Python-Kodes können in PyQGIS-Entwicklerkochbuch gefunden werden.

Der Funktions Editor ist nicht nur auf Arbeiten mit dem Feldrechner beschränkt, er kann immer gefunden werden, wenn Sie mit Ausdrücken arbeiten.