Wichtig

Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 100.00% übersetzt.

13.2. Liste der Funktionen

Die in QGIS verfügbaren Funktionen, Operatoren und Variablen sind im Folgenden nach Kategorien gruppiert aufgeführt.

13.2.1. Aggregatsfunktionen

Diese Gruppe enthält Funktionen, die Werte über Layern und Feldern aggregieren.

13.2.1.1. aggregate

Gibt einen Gesamtwert zurück, der mit Objekten aus einem anderen Layer berechnet wurde.

Syntax

aggregate(layer, aggregate, expression, [filter], [concatenator=‘‘], [order_by])

[] kennzeichnet optionale Argumente

Argumente

  • layer - eine Zeichenkette, die entweder einen Layernamen oder eine Layer-ID darstellt

  • aggregate - eine Zeichenkette, die dem zu berechnenden Aggregat entspricht. Gültige Optionen sind:

    • count

    • count_distinct

    • count_missing

    • min

    • max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: erstes Viertel

    • q3: drittes Viertel

    • iqr: inter quartile range

    • min_length: Mindestlänge der Zeichenkette

    • max_length: maximale Länge der Zeichenkette

    • concatenate: Strings mit einem Verknüpfungszeichen verbinden

    • concatenate_unique: eindeutige Zeichenketten mit einem Verknüpfungszeichen verbinden

    • collect: eine mehrteilige, aggregierte Geometrie erstellen

    • array_agg: ein Array der aggregierten Werte erstellen

  • expression - Unterausdruck oder zu aggregierender Feldname

  • filter - optionaler Filterausdruck zur Einschränkung der Objekte, die für die Berechnung des Aggregats verwendet werden. Felder und Geometrie stammen von den Objekten auf dem verbundenen Layer. Auf das Quellobjekt kann mit der Variablen @parent zugegriffen werden.

  • concatenator - optionale Zeichenfolge für die Verknüpfung von Werten für die Aggregate „concatenate“ und „concatenate_unique

  • order_by - optionaler Filterausdruck zur Sortierung der Objekte, die für die Berechnung des Aggregats verwendet werden. Felder und Geometrie stammen von den Objekten des verbundenen Layers. Standardmäßig werden die Objekte in einer nicht spezifizierten Reihenfolge zurückgegeben.

Beispiele

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers") → Summe aller Werte aus dem Feld „passengers“ im Layer „rail_stations“

  • aggregate('rail_stations','sum', "passengers"/7) → errechnet einen Tagesdurchschnitt von „passengers“ durch Teilung der „passengers“ durch 7, bevor die Werte addiert werden

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:="class">3) → summiert alle Werte aus dem Feld „passengers“ nur von Objekten, bei denen das Attribut „class“ größer als 3 ist

  • aggregate(layer:='rail_stations',aggregate:='concatenate', expression:="name", concatenator:=',') → kommagetrennte Liste des Namensfeldes für alle Objekte im Layer „rail_stations“

  • aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( @geometry, geometry(@parent) ) ) → Der Ländercode eines sich überschneidenden Landes aus dem Layer „countries“

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:=contains( @atlas_geometry, @geometry ) ) → Summe aller Werte aus dem Feld „passengers“ im Feld „rail_stations“ im aktuellen Atlas.

  • aggregate(layer:='rail_stations', aggregate:='collect', expression:=centroid(@geometry), filter:="region_name" = attribute(@parent,'name') ) → aggregiert die Zentroid-Geometrien der Bahnhöfe in der gleichen Region wie das aktuelle Objekt

13.2.1.2. array_agg

Gibt ein Array von aggregierten Werten zurück, die aus einem Feld oder Ausdruck stammen.

Syntax

array_agg(expression, [group_by], [filter], [order_by])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

  • order_by - optionaler Ausdruck für die Reihenfolge der Objekte, die für die Berechnung des Aggregats verwendet werden. Standardmäßig werden die Objekte in einer nicht spezifizierten Reihenfolge zurückgegeben.

Beispiele

  • array_agg("name",group_by:="state") → Liste der Namenswerte, gruppiert nach dem „state“-Feld

13.2.1.3. collect

Liefert eine Multipart-Geometrie der aggregierten Geometrien eines Ausdrucks

Syntax

collect(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Geometrieausdruck zum Aggregieren

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • collect( @geometry ) → Multipart-Geometrie von aggregierten Geometrien

  • collect( centroid(@geometry), group_by:="region", filter:= "use" = 'civilian' ) → aggregierte Zentroiden der „civilian“-Objekte auf der Grundlage der „region“

13.2.1.4. concatenate

Gibt alle aggregierten Zeichenketten aus einem Feld oder Ausdruck zurück, die durch ein Trennzeichen verbunden sind.

Syntax

concatenate(expression, [group_by], [filter], [concatenator], [order_by])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

  • concatenator - optionale Zeichenkette für die Verknüpfung von Werten. Standardmäßig leer.

  • order_by - optionaler Ausdruck für die Reihenfolge der Objekte, die für die Berechnung des Aggregats verwendet werden. Standardmäßig werden die Objekte in einer nicht spezifizierten Reihenfolge zurückgegeben.

Beispiele

  • concatenate("town_name",group_by:="state",concatenator:=',') → kommagetrennte Liste von „town-name“, gruppiert nach dem Feld „state“

13.2.1.5. concatenate_unique

Gibt alle eindeutigen Zeichenfolgen aus einem Feld oder Ausdruck zurück, die durch ein Trennzeichen verbunden sind.

Syntax

concatenate_unique(expression, [group_by], [filter], [concatenator], [order_by])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

  • concatenator - optionale Zeichenkette für die Verknüpfung von Werten. Standardmäßig leer.

  • order_by - optionaler Ausdruck für die Reihenfolge der Objekte, die für die Berechnung des Aggregats verwendet werden. Standardmäßig werden die Objekte in einer nicht spezifizierten Reihenfolge zurückgegeben.

Beispiele

  • concatenate_unique("town_name",group_by:="state",concatenator:=',') → kommagetrennte Liste von eindeutigen „town-name“, gruppiert nach dem Feld „state“

13.2.1.6. count

Gibt die Anzahl der übereinstimmenden Objekte zurück.

Syntax

count(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • count("stations",group_by:="state") → Anzahl der „stations“, gruppiert nach Feld „state“

13.2.1.7. count_distinct

Gibt die Anzahl der eindeutigen Werte zurück.

Syntax

count_distinct(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • count_distinct("stations",group_by:="state") → Anzahl der eindeutigen „stations“, gruppiert nach dem Feld „state“

13.2.1.8. count_missing

Gibt die Anzahl der fehlenden Werte (NULL) zurück.

Syntax

count_missing(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • count_missing("stations",group_by:="state") → Anzahl der fehlenden Werte (NULL) in den „stations“, gruppiert nach dem Feld „state“

13.2.1.9. iqr

Gibt den berechneten Interquartilsbereich aus einem Feld oder Ausdruck zurück.

Syntax

iqr(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • iqr("population",group_by:="state") → Interquartilsbereich des Wertes „population“, gruppiert nach dem Feld „state“

13.2.1.10. majority

Gibt die aggregierte Mehrheit der Werte (am häufigsten vorkommender Wert) aus einem Feld oder Ausdruck zurück.

Syntax

majority(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • majority("class",group_by:="state") → am häufigsten vorkommender „class“-Wert, gruppiert nach dem Feld „state“

13.2.1.11. max_length

Gibt die maximale Länge von Zeichenketten aus einem Feld oder Ausdruck zurück.

Syntax

max_length(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • max_length("town_name",group_by:="state") → maximale Länge von „town_name“, gruppiert nach dem Feld „state“

13.2.1.12. maximum

Gibt den aggregierten Maximalwert aus einem Feld oder Ausdruck zurück.

Syntax

maximum(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • maximum("population",group_by:="state") → maximaler Wert der „population“, gruppiert nach dem Feld „state“

13.2.1.13. mean

Gibt den aggregierten Mittelwert aus einem Feld oder Ausdruck zurück.

Syntax

mean(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • mean("population",group_by:="state") → mittlerer Wert der „population“, gruppiert nach dem Feld „state“

13.2.1.14. median

Gibt den aggregierten Medianwert aus einem Feld oder Ausdruck zurück.

Syntax

median(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • median("population",group_by:="state") → medianer Wert der „population“, gruppiert nach dem Feld „state“

13.2.1.15. min_length

Gibt die Mindestlänge von Zeichenketten aus einem Feld oder Ausdruck zurück.

Syntax

min_length(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • min_length("town_name",group_by:="state") → Mindestlänge von „town_name“, gruppiert nach dem Feld „state“

13.2.1.16. minimum

Gibt den aggregierten Mindestwert aus einem Feld oder Ausdruck zurück.

Syntax

minimum(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • minimum("population",group_by:="state") → minimaler Wert der „population“, gruppiert nach dem Feld „state“

13.2.1.17. minority

Gibt die aggregierte Minderheit von Werten (am wenigsten vorkommender Wert) aus einem Feld oder Ausdruck zurück.

Syntax

minority(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • minority("class",group_by:="state") → am wenigsten vorkommender „class“-Wert, gruppiert nach dem Feld „state“

13.2.1.18. q1

Gibt das berechnete erste Quartil aus einem Feld oder Ausdruck zurück.

Syntax

q1(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • q1("population",group_by:="state") → erstes Quartil der „population“, gruppiert nach dem Feld „state“

13.2.1.19. q3

Gibt das berechnete dritte Quartil aus einem Feld oder Ausdruck zurück.

Syntax

q3(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • q3("population",group_by:="state") → drittes Quartil der „population“, gruppiert nach dem Feld „state“

13.2.1.20. range

Gibt den aggregierten Wertebereich (Maximum - Minimum) aus einem Feld oder Ausdruck zurück.

Syntax

range(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • range("population",group_by:="state") → Wertebereich der „population“, gruppiert nach dem Feld „state“

13.2.1.21. relation_aggregate

Gibt einen Gesamtwert zurück, der anhand aller übereinstimmenden untergeordneten Objekte einer Layer-Beziehung berechnet wird.

Syntax

relation_aggregate(relation, aggregate, expression, [concatenator=‘‘], [order_by])

[] kennzeichnet optionale Argumente

Argumente

  • relation - eine Zeichenfolge, die eine Beziehungs-ID angibt

  • aggregate - eine Zeichenkette, die dem zu berechnenden Aggregat entspricht. Gültige Optionen sind:

    • count

    • count_distinct

    • count_missing

    • min

    • max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: erstes Viertel

    • q3: drittes Viertel

    • iqr: inter quartile range

    • min_length: Mindestlänge der Zeichenkette

    • max_length: maximale Länge der Zeichenkette

    • concatenate: Strings mit einem Verknüpfungszeichen verbinden

    • concatenate_unique: eindeutige Zeichenketten mit einem Verknüpfungszeichen verbinden

    • collect: eine mehrteilige, aggregierte Geometrie erstellen

    • array_agg: ein Array der aggregierten Werte erstellen

  • expression - Unterausdruck oder zu aggregierender Feldname

  • concatenator - optionale Zeichenkette zum Verbinden von Werten für das ‚concatenate‘-Aggregat

  • order_by - optionaler Ausdruck für die Reihenfolge der Objekte, die für die Berechnung des Aggregats verwendet werden. Felder und Geometrie stammen von den Objekten auf dem verbundenen Layer. Standardmäßig werden die Objekte in einer nicht spezifizierten Reihenfolge zurückgegeben.

Beispiele

  • relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers") → Mittelwert aller übereinstimmender, untergeordneter Objekte unter Verwendung der Beziehung „my_relation“.

  • relation_aggregate('my_relation','sum', "passengers"/7) → Summe des „passengers“-Feldes geteilt durch 7 für alle übereinstimmenden, untergeordneten Objekte unter Verwendung der Beziehung „my_relation“.

  • relation_aggregate('my_relation','concatenate', "towns", concatenator:=',') → durch Kommata getrennte Liste der Werte des „towns“-Feldes für alle übereinstimmenden, untergeordneten Objekte, die die Beziehung „my_relation“ verwenden

  • relation_aggregate('my_relation','array_agg', "id") → Array des id-Feldes aus allen übereinstimmenden, untergeordneten Objekten unter Verwendung der Beziehung „my_relation“

Siehe auch: Festlegung von Beziehungen zwischen mehreren Layern

13.2.1.22. stdev

Gibt den aggregierten Wert der Standardabweichung aus einem Feld oder Ausdruck zurück.

Syntax

stdev(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • stdev("population",group_by:="state") → Standardabweichung der „population“, gruppiert nach dem Feld „state“

13.2.1.23. sum

Gibt den aggregierten Summenwert aus einem Feld oder Ausdruck zurück.

Syntax

sum(expression, [group_by], [filter])

[] kennzeichnet optionale Argumente

Argumente

  • expression - Unterausdruck des zu aggregierenden Feldes

  • group_by - optionaler Ausdruck für die Gruppierung von Aggregatberechnungen

  • filter - optionaler Ausdruck zum Filtern von Objekten, die zur Berechnung des Aggregats verwendet werden

Beispiele

  • sum("population",group_by:="state") → summierter Wert der „population“, gruppiert nach dem Feld „state“

13.2.2. Array-Funktionen

Diese Gruppe enthält Funktionen zur Erzeugung und Manipulation von Arrays (auch als „Listen“ oder „Felddaten“ bekannt). Die Reihenfolge der Werte im Array ist wichtig. Eine Ausnahme bildet die ‚map‘ Datenstruktur, bei der die Reihenfolge der Schlüssel-Werte-Paare unwichtig ist. Die Werte werden in diesem Fall durch den zugehörigen Schlüssel identifiziert.

13.2.2.1. array

Gibt ein Array zurück, das alle als Parameter übergebenen Werte enthält.

Syntax

array(value1, value2, …)

Argumente

  • value - ein Wert

Beispiele

  • array(2,10) → [ 2, 10 ]

  • array(2,10)[0] → 2

13.2.2.2. array_all

Gibt TRUE zurück, wenn ein Array alle Werte eines gegebenen Arrays enthält.

Syntax

array_all(array_a, array_b)

Argumente

  • array_a - ein Array

  • array_b - das Array der zu durchsuchenden Werte

Beispiele

  • array_all(array(1,2,3),array(2,3)) → TRUE

  • array_all(array(1,2,3),array(1,2,4)) → FALSE

13.2.2.3. array_append

Gibt ein Array zurück, dem der angegebene Wert am Ende hinzugefügt wurde.

Syntax

array_append(array, value)

Argumente

  • array - Ein Array

  • value - der hinzuzufügende Wert

Beispiele

  • array_append(array(1,2,3),4) → [ 1, 2, 3, 4 ]

13.2.2.4. array_cat

Gibt ein Array zurück, das alle angegebenen Arrays verkettet enthält.

Syntax

array_cat(array1, array2, …)

Argumente

  • array - Ein Array

Beispiele

  • array_cat(array(1,2),array(2,3)) → [ 1, 2, 2, 3 ]

13.2.2.5. array_contains

Gibt TRUE zurück, wenn ein Array den angegebenen Wert enthält.

Syntax

array_contains(array, value)

Argumente

  • array - Ein Array

  • value - der zu suchende Wert

Beispiele

  • array_contains(array(1,2,3),2) → TRUE

13.2.2.6. array_count

Zählt die Anzahl der Vorkommen eines bestimmten Wertes in einem Array.

Syntax

array_count(array, value)

Argumente

  • array - Ein Array

  • value - der zu zählende Wert

Beispiele

  • array_count(array('a', 'b', 'c', 'b'), 'b') → 2

13.2.2.7. array_distinct

Gibt ein Array zurück, die einzelnen Werte des angegebenen Arrays enthält.

Syntax

array_distinct(array)

Argumente

  • array - Ein Array

Beispiele

  • array_distinct(array(1,2,3,2,1)) → [ 1, 2, 3 ]

13.2.2.8. array_filter

Gibt ein Array zurück, das nur die Elemente enthält, für die der Ausdruck als wahr ausgewertet wird.

Syntax

array_filter(array, expression, [limit=0])

[] kennzeichnet optionale Argumente

Argumente

  • array - Ein Array

  • expression - ein Ausdruck, der für jedes Element ausgewertet wird. Die Variable @element wird durch den aktuellen Wert ersetzt.

  • limit - maximale Anzahl der zurückzugebenden Elemente. Verwenden Sie 0, um alle Werte zurückzugeben.

Beispiele

  • array_filter(array(1,2,3),@element < 3) → [ 1, 2 ]

  • array_filter(array(1,2,3),@element < 3, 1) → [ 1 ]

13.2.2.9. array_find

Gibt den niedrigsten Index (0 für den ersten) eines Wertes innerhalb eines Arrays zurück. Gibt -1 zurück, wenn der Wert nicht gefunden wird.

Syntax

array_find(array, value)

Argumente

  • array - Ein Array

  • value - der zu suchende Wert

Beispiele

  • array_find(array('a', 'b', 'c'), 'b') → 1

  • array_find(array('a', 'b', 'c', 'b'), 'b') → 1

13.2.2.10. array_first

Gibt den ersten Wert eines Arrays zurück.

Syntax

array_first(array)

Argumente

  • array - Ein Array

Beispiele

  • array_first(array('a','b','c')) → ‚a‘

13.2.2.11. array_foreach

Gibt ein Array zurück, in dem der angegebene Ausdruck für jedes Element ausgewertet wird.

Syntax

array_foreach(array, expression)

Argumente

  • array - Ein Array

  • expression - ein Ausdruck, der für jedes Element ausgewertet wird. Die Variable @element wird durch den aktuellen Wert ersetzt.

Beispiele

  • array_foreach(array('a','b','c'),upper(@element)) → [ ‚A‘, ‚B‘, ‚C‘ ]

  • array_foreach(array(1,2,3),@element + 10) → [ 11, 12, 13 ]

13.2.2.12. array_get

Gibt den N-ten Wert (0 für den ersten) oder den letzten -N-ten Wert (-1 für den letzten) eines Arrays zurück.

Syntax

array_get(array, pos)

Argumente

  • array - Ein Array

  • pos - der zu ermittelnde Index (auf 0 basierend)

Beispiele

  • array_get(array('a','b','c'),1) → ‚b‘

  • array_get(array('a','b','c'),-1) → ‚c‘

Hinweis

Sie können auch den Index-Operator ([]) 1 verwenden, um einen Wert aus einem Array zu erhalten.

13.2.2.13. array_insert

Gibt ein Array zurück, dem der angegebene Wert an der angegebenen Position hinzugefügt wurde.

Syntax

array_insert(array, pos, value)

Argumente

  • array - Ein Array

  • pos - die Position, an der hinzugefügt werden soll (0-basiert)

  • value - der hinzuzufügende Wert

Beispiele

  • array_insert(array(1,2,3),1,100) → [ 1, 100, 2, 3 ]

13.2.2.14. array_intersect

Gibt TRUE zurück, wenn mindestens ein Element von array1 in array2 vorhanden ist.

Syntax

array_intersect(array1, array2)

Argumente

  • array1 - ein Array

  • array2 - ein anderer Array

Beispiele

  • array_intersect(array(1,2,3,4),array(4,0,2,5)) → TRUE

13.2.2.15. array_last

Gibt den letzten Wert eines Arrays zurück.

Syntax

array_last(array)

Argumente

  • array - Ein Array

Beispiele

  • array_last(array('a','b','c')) → ‚c‘

13.2.2.16. array_length

Gibt die Anzahl der Elemente eines Arrays zurück.

Syntax

array_length(array)

Argumente

  • array - Ein Array

Beispiele

  • array_length(array(1,2,3)) → 3

13.2.2.17. array_majority

Gibt die häufigsten Werte in einem Array zurück.

Syntax

array_majority(array, [option=‘all‘])

[] kennzeichnet optionale Argumente

Argumente

  • array - Ein Array

  • option=‘all‘ - eine Zeichenkette, die die Behandlung der Rückgabewerte angibt. Gültige Optionen sind:

    • all: Standard, die häufigsten Werte werden in einem Array zurückgegeben.

    • any: Gibt einen der häufigsten Werte zurück.

    • median: Gibt den Median der häufigsten Werte zurück. Nicht arithmetische Werte werden ignoriert.

    • real_majority: Gibt den Wert zurück, der mehr als die Hälfte der Größe des Arrays ausmacht.

Beispiele

  • array_majority(array(0,1,42,42,43), 'all') → [ 42 ]

  • array_majority(array(0,1,42,42,43,1), 'all') → [ 42, 1 ]

  • array_majority(array(0,1,42,42,43,1), 'any') → 1 or 42

  • array_majority(array(0,1,1,2,2), 'median') → 1.5

  • array_majority(array(0,1,42,42,43), 'real_majority') → NULL

  • array_majority(array(0,1,42,42,43,42), 'real_majority') → NULL

  • array_majority(array(0,1,42,42,43,42,42), 'real_majority') → 42

13.2.2.18. array_max

Gibt den Maximalwert eines Arrays zurück.

Syntax

array_max(array)

Argumente

  • array - Ein Array

Beispiele

  • array_max(array(0,42,4,2)) → 42

13.2.2.19. array_mean

Gibt den Mittelwert der arithmetischen Werte in einem Array zurück. Nicht numerische Werte im Array werden ignoriert.

Syntax

array_mean(array)

Argumente

  • array - Ein Array

Beispiele

  • array_mean(array(0,1,7,66.6,135.4)) → 42

  • array_mean(array(0,84,'a','b','c')) → 42

13.2.2.20. array_median

Gibt den Median der arithmetischen Werte in einem Array zurück. Nicht arithmetische Werte im Array werden ignoriert..

Syntax

array_median(array)

Argumente

  • array - Ein Array

Beispiele

  • array_median(array(0,1,42,42,43)) → 42

  • array_median(array(0,1,2,42,'a','b')) → 1.5

13.2.2.21. array_min

Gibt den Mindestwert eines Arrays zurück.

Syntax

array_min(array)

Argumente

  • array - Ein Array

Beispiele

  • array_min(array(43,42,54)) → 42

13.2.2.22. array_minority

Gibt die seltensten Werte in einem Array zurück.

Syntax

array_minority(array, [option=‘all‘])

[] kennzeichnet optionale Argumente

Argumente

  • array - Ein Array

  • option=‘all‘ - eine Zeichenkette, die die Behandlung der Rückgabewerte angibt. Gültige Optionen sind:

    • all: Standard, alle seltenen Werte werden in einem Array zurückgegeben.

    • any: Gibt einen der seltensten Werte zurück.

    • median: Gibt den Median der seltensten Werte zurück. Nicht arithmetische Werte werden ignoriert.

    • real_minority: Gibt Werte zurück, die weniger als die Hälfte der Größe des Arrays ausmachen.

Beispiele

  • array_minority(array(0,42,42), 'all') → [ 0 ]

  • array_minority(array(0,1,42,42), 'all') → [ 0, 1 ]

  • array_minority(array(0,1,42,42,43,1), 'any') → 0 or 43

  • array_minority(array(1,2,3,3), 'median') → 1.5

  • array_minority(array(0,1,42,42,43), 'real_minority') → [ 42, 43, 0, 1 ]

  • array_minority(array(0,1,42,42,43,42), 'real_minority') → [ 42, 43, 0, 1 ]

  • array_minority(array(0,1,42,42,43,42,42), 'real_minority') → [ 43, 0, 1 ]

13.2.2.23. array_prepend

Gibt ein Array zurück, dem der angegebene Wert am Anfang hinzugefügt wurde..

Syntax

array_prepend(array, value)

Argumente

  • array - Ein Array

  • value - der hinzuzufügende Wert

Beispiele

  • array_prepend(array(1,2,3),0) → [ 0, 1, 2, 3 ]

13.2.2.24. array_prioritize

Gibt ein Array zurück, das nach der in einem anderen Array angegebenen Reihenfolge sortiert ist. Werte, die im ersten Array vorhanden sind, aber im zweiten Array fehlen, werden an das Ende des Ergebnisses angehängt.

Syntax

array_prioritize(array, array_prioritize)

Argumente

  • array - Ein Array

  • array_prioritize - ein Array mit nach Priorität geordneten Werten

Beispiele

  • array_prioritize(array(1, 8, 2, 5), array(5, 4, 2, 1, 3, 8)) → [ 5, 2, 1, 8 ]

  • array_prioritize(array(5, 4, 2, 1, 3, 8), array(1, 8, 6, 5)) → [ 1, 8, 5, 4, 2, 3 ]

13.2.2.25. array_remove_all

Gibt ein Array zurück, aus dem alle Einträge mit dem angegebenen Wert entfernt wurden.

Syntax

array_remove_all(array, value)

Argumente

  • array - Ein Array

  • value - die zu entfernenden Werte

Beispiele

  • array_remove_all(array('a','b','c','b'),'b') → [ ‚a‘, ‚c‘ ]

13.2.2.26. array_remove_at

Gibt ein Array zurück, aus dem das Element mit dem angegebenen Index entfernt wurde. Unterstützt positiven (0 für das erste Element) und negativen (der letzte -N-te Wert, -1 für das letzte Element) Index.

Syntax

array_remove_at(array, pos)

Argumente

  • array - Ein Array

  • pos - die zu entfernende Position (0-basiert)

Beispiele

  • array_remove_at(array(1, 2, 3), 1) → [1, 3 ]

  • array_remove_at(array(1, 2, 3), -1) → [1, 2 ]

13.2.2.27. array_replace

Gibt ein Array zurück, in dem der übergebene Wert, das Array oder die Zuordnung von Werten ersetzt wird..

Wert & Array-Variante

Gibt ein Array zurück, in dem der übergebene Wert oder das Array von Werten durch einen anderen Wert oder ein Array von Werten ersetzt wurde.

Syntax

array_replace(array, before, after)

Argumente

  • array - das Eingabe-Array

  • before - der zu ersetzende Wert oder das zu ersetzende Array von Werten

  • after - der Wert oder das Array von Werten, die als Ersatz verwendet werden sollen

Beispiele

  • array_replace(array('QGIS','SHOULD','ROCK'),'SHOULD','DOES') → [ ‚QGIS‘, ‚DOES‘, ‚ROCK‘ ]

  • array_replace(array(3,2,1),array(1,2,3),array(7,8,9)) → [ 9, 8, 7 ]

  • array_replace(array('Q','G','I','S'),array('Q','S'),'-') → [ ‚-‘, ‚G‘, ‚I‘, ‚-‘ ]

Map-Variante

Gibt ein Array zurück, in dem die übergebenen Zuordnungsschlüssel durch ihre gepaarten Werte ersetzt sind.

Syntax

array_replace(array, map)

Argumente

  • array - das Eingabe-Array

  • map - die Zuordnung von Schlüsseln und Werten

Beispiele

  • array_replace(array('APP', 'SHOULD', 'ROCK'),map('APP','QGIS','SHOULD','DOES')) → [ ‚QGIS‘, ‚DOES‘, ‚ROCK‘ ]

13.2.2.28. array_reverse

Gibt das angegebene Array mit den Array-Werten in umgekehrter Reihenfolge zurück.

Syntax

array_reverse(array)

Argumente

  • array - Ein Array

Beispiele

  • array_reverse(array(2,4,0,10)) → [ 10, 0, 4, 2 ]

13.2.2.29. array_slice

Gibt einen Teil des Arrays zurück. Das Segment wird durch die Argumente start_pos und end_pos definiert.

Syntax

array_slice(array, start_pos, end_pos)

Argumente

  • array - Ein Array

  • start_pos - der Index der Startposition des Teilstücks (0-basiert). Der Index start_pos wird in das Segment aufgenommen. Wenn Sie einen negativen start_pos verwenden, wird der Index vom Ende der Liste aus gezählt (-1-basiert).

  • end_pos - der Index der Endposition des Teilstücks (0-basiert). Der end_pos-Index wird in das Segment aufgenommen. Wenn Sie einen negativen end_pos verwenden, wird der Index vom Ende der Liste aus gezählt (-1-basiert).

Beispiele

  • array_slice(array(1,2,3,4,5),0,3) → [ 1, 2, 3, 4 ]

  • array_slice(array(1,2,3,4,5),0,-1) → [ 1, 2, 3, 4, 5 ]

  • array_slice(array(1,2,3,4,5),-5,-1) → [ 1, 2, 3, 4, 5 ]

  • array_slice(array(1,2,3,4,5),0,0) → [ 1 ]

  • array_slice(array(1,2,3,4,5),-2,-1) → [ 4, 5 ]

  • array_slice(array(1,2,3,4,5),-1,-1) → [ 5 ]

  • array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),1,2) → [ ‚Valmiera‘, ‚Chugiak‘ ]

  • array_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1) → [ ‚Chugiak‘, ‚Brighton‘ ]

13.2.2.30. array_sort

Gibt das angegebene Array mit sortierten Elementen zurück.

Syntax

array_sort(array, [ascending=true])

[] kennzeichnet optionale Argumente

Argumente

  • array - Ein Array

  • ascending - Setzen Sie diesen Parameter auf false, um das Array in absteigender Reihenfolge zu sortieren

Beispiele

  • array_sort(array(3,2,1)) → [ 1, 2, 3 ]

13.2.2.31. array_sum

Gibt die Summe der arithmetischen Werte in einem Array zurück. Nicht numerische Werte im Array werden ignoriert.

Syntax

array_sum(array)

Argumente

  • array - Ein Array

Beispiele

  • array_sum(array(0,1,39.4,1.6,'a')) → 42.0

13.2.2.32. array_to_string

Verkettet Array-Elemente zu einem String, getrennt durch ein Trennzeichen und unter Verwendung eines optionalen Strings für leere Werte.

Syntax

array_to_string(array, [delimiter=‘,‘], [empty_value=‘‘])

[] kennzeichnet optionale Argumente

Argumente

  • array - das Eingabe-Array

  • delimiter - das Trennzeichen, das verwendet wird, um verkettete Array-Elemente zu verbinden

  • empty_value - die optionale Zeichenkette, die als Ersatz für leere („Null-Länge“) Treffer verwendet wird

Beispiele

  • array_to_string(array('1','2','3')) → ‚1,2,3‘

  • array_to_string(array(1,2,3),'-') → ‚1-2-3‘

  • array_to_string(array('1','','3'),',','0') → ‚1,0,3‘

13.2.2.33. generate_series

Erzeugt ein Array mit einer Zahlenfolge.

Syntax

generate_series(start, stop, [step=1])

[] kennzeichnet optionale Argumente

Argumente

  • start - erster Wert der Zahlenfolge

  • stop - letzter Wert der Zahlenfolge

  • step - Wert, der als Schrittweite zwischen den Werten verwendet wird

Beispiele

  • generate_series(1,5) → [ 1, 2, 3, 4, 5 ]

  • generate_series(5,1,-1) → [ 5, 4, 3, 2, 1 ]

13.2.2.34. geometries_to_array

Zerlegt eine Geometrie in einfachere Geometrien in einem Array.

Syntax

geometries_to_array(geometry)

Argumente

  • geometry - die Eingabe-Geometrie

Beispiele

  • geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))')) → ein Array von einer Polygon- und einer Liniengeometrien

  • geom_to_wkt(geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))'))[0]) → ‚Polygon ((5 8, 4 1, 3 2, 5 8))‘

  • geometries_to_array(geom_from_wkt('MULTIPOLYGON(((5 5,0 0,0 10,5 5)),((5 5,10 10,10 0,5 5))')) → ein Array mit zwei Polygongeometrien

13.2.2.35. regexp_matches

Gibt ein Array aller Zeichenketten zurück, die von Erfassungsgruppen erfasst werden, und zwar in der Reihenfolge, in der die Gruppen selbst im übergebenen regulären Ausdruck gegen eine Zeichenkette erscheinen.

Syntax

regexp_matches(string, regex, [empty_value=‘‘])

[] kennzeichnet optionale Argumente

Argumente

  • string - die Zeichenkette, aus der Gruppen anhand des regulären Ausdrucks erfasst werden sollen

  • regex - der reguläre Ausdruck, der zur Erfassung von Gruppen verwendet wird

  • empty_value - die optionale Zeichenkette, die als Ersatz für leere („Null-Länge“) Treffer verwendet wird

Beispiele

  • regexp_matches('QGIS=>rocks','(.*)=>(.*)') → [ ‚QGIS‘, ‚rocks‘ ]

  • regexp_matches('key=>','(.*)=>(.*)','empty value') → [ ‚key‘, ‚empty value‘ ]

13.2.2.36. string_to_array

Zerlegt eine Zeichenkette in ein Array unter Verwendung des angegebenen Trennzeichens und einer optionalen Zeichenkette für leere Werte.

Syntax

string_to_array(string, [delimiter=‘,‘], [empty_value=‘‘])

[] kennzeichnet optionale Argumente

Argumente

  • string - die Eingabezeichenkette

  • delimiter - das Trennzeichen, das zur Aufteilung der Eingabezeichenfolge verwendet wird

  • empty_value - die optionale Zeichenkette, die als Ersatz für leere („Null-Länge“) Treffer verwendet wird

Beispiele

  • string_to_array('1,2,3',',') → [ ‚1‘, ‚2‘, ‚3‘ ]

  • string_to_array('1,,3',',','0') → [ ‚1‘, ‚0‘, ‚3‘ ]

13.2.3. Farbfunktionen

Diese Gruppe enthält Funktionen zur Bearbeitung von Farben.

13.2.3.1. color_cmyk

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

Syntax

color_cmyk(cyan, magenta, yellow, black)

Argumente

  • cyan - Cyan-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • magenta - Magenta-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • yellow - Gelb-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • black - Schwarz-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

Beispiele

  • color_cmyk(100,50,0,10) → ‚0,115,230‘

13.2.3.2. color_cmyka

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

Syntax

color_cmyka(cyan, magenta, yellow, black, alpha)

Argumente

  • cyan - Cyan-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • magenta - Magenta-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • yellow - Gelb-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • black - Schwarz-Anteil der Farbe, als prozentualer ganzzahliger Wert von 0 bis 100

  • alpha - Alphakomponente als Ganzzahlwert von 0 (völlig transparent) bis 255 (undurchsichtig).

Beispiele

  • color_cmyka(100,50,0,10,200) → ‚0,115,230,200‘

13.2.3.3. color_grayscale_average

Wendet einen Graustufenfilter an und gibt eine Zeichenkettendarstellung aus einer angegebenen Farbe zurück.

Syntax

color_grayscale_average(color)

Argumente

  • color - eine Farbzeichenfolge

Beispiele

  • color_grayscale_average('255,100,50') → ‚135,135,135,255‘

13.2.3.4. color_hsl

Gibt eine String-Darstellung einer Farbe basierend auf den Attributen Farbton, Sättigung und Helligkeit zurück.

Syntax

color_hsl(hue, saturation, lightness)

Argumente

  • hue - Farbton der Farbe, als ganzzahliger Wert von 0 bis 360

  • saturation - Sättigungsprozentsatz der Farbe als ganzzahliger Wert von 0 bis 100

  • lightness - prozentuale Helligkeit der Farbe als ganzzahliger Wert von 0 bis 100

Beispiele

  • color_hsl(100,50,70) → ‚166,217,140‘

13.2.3.5. color_hsla

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

Syntax

color_hsla(hue, saturation, lightness, alpha)

Argumente

  • hue - Farbton der Farbe, als ganzzahliger Wert von 0 bis 360

  • saturation - Sättigungsprozentsatz der Farbe als ganzzahliger Wert von 0 bis 100

  • lightness - prozentuale Helligkeit der Farbe als ganzzahliger Wert von 0 bis 100

  • alpha - Alphakomponente als Ganzzahlwert von 0 (völlig transparent) bis 255 (undurchsichtig).

Beispiele

  • color_hsla(100,50,70,200) → ‚166,217,140,200‘

13.2.3.6. color_hsv

Gibt eine String-Darstellung einer Farbe basierend auf den Attributen Farbton, Sättigung und Wert zurück.

Syntax

color_hsv(hue, saturation, value)

Argumente

  • hue - Farbton der Farbe, als ganzzahliger Wert von 0 bis 360

  • saturation - Sättigungsprozentsatz der Farbe als ganzzahliger Wert von 0 bis 100

  • value - Wert in Prozent der Farbe als Ganzzahl von 0 bis 100

Beispiele

  • color_hsv(40,100,100) → ‚255,170,0‘

13.2.3.7. color_hsva

Gibt eine String-Darstellung einer Farbe basierend auf den Attributen Farbton, Sättigung, Wert und Alpha (Transparenz) zurück.

Syntax

color_hsva(hue, saturation, value, alpha)

Argumente

  • hue - Farbton der Farbe, als ganzzahliger Wert von 0 bis 360

  • saturation - Sättigungsprozentsatz der Farbe als ganzzahliger Wert von 0 bis 100

  • value - Wert in Prozent der Farbe als Ganzzahl von 0 bis 100

  • alpha - Alpha-Komponente als Ganzzahlwert von 0 (völlig transparent) bis 255 (undurchsichtig)

Beispiele

  • color_hsva(40,100,100,200) → ‚255,170,0,200‘

13.2.3.8. color_mix_rgb

Gibt eine Zeichenkette zurück, die eine Farbe darstellt, die die Rot-, Grün-, Blau- und Alphawerte von zwei angegebenen Farben in einem bestimmten Verhältnis mischt.

Syntax

color_mix_rgb(color1, color2, ratio)

Argumente

  • color1 - eine Farbzeichenfolge

  • color2 - eine Farbzeichenfolge

  • ratio - ein Verhältnis

Beispiele

  • color_mix_rgb('0,0,0','255,255,255',0.5) → ‚127,127,127,255‘

13.2.3.9. color_part

Gibt eine bestimmte Komponente aus einer Farbzeichenkette zurück, z. B. die Rotkomponente oder die Alphakomponente.

Syntax

color_part(color, component)

Argumente

  • color - eine Farbzeichenfolge

  • component - eine Zeichenkette, die der zurückzugebenden Farbkomponente entspricht. Gültige Optionen sind:

    • red: RGB-Rot-Komponente (0-255)

    • green: RGB-Grün-Komponente (0-255)

    • blue: RGB-Blau-Komponente (0-255)

    • alpha: Alpha-Wert (Transparenz) (0-255)

    • hue: HSV-Farbton (0-360)

    • saturation: HSV-Sättigung (0-100)

    • value: HSV-Wert (0-100)

    • hsl_hue: HSL-Farbton (0-360)

    • hsl_saturation: HSL-Sättigung (0-100)

    • lightness: HSL-Helligkeit (0-100)

    • cyan: CMYK Cyan-Anteil (0-100)

    • magenta: CMYK Magenta-Anteil (0-100)

    • yellow: CMYK Gelb-Anteil (0-100)

    • black: CMYK Schwarz-Anteil(0-100)

Beispiele

  • color_part('200,10,30','green') → 10

13.2.3.10. color_rgb

Gibt eine String-Darstellung einer Farbe auf der Grundlage ihrer Rot-, Grün- und Blaukomponenten zurück.

Syntax

color_rgb(red, green, blue)

Argumente

  • red - Rotanteil als ganzzahliger Wert von 0 bis 255

  • green - Grünanteil als ganzzahliger Wert von 0 bis 255

  • blue - Blauanteil als ganzzahliger Wert von 0 bis 255

Beispiele

  • color_rgb(255,127,0) → ‚255,127,0‘

13.2.3.11. color_rgba

Gibt eine String-Darstellung einer Farbe basierend auf ihren Rot-, Grün-, Blau- und Alpha-Komponenten (Transparenz) zurück.

Syntax

color_rgba(red, green, blue, alpha)

Argumente

  • red - Rotanteil als ganzzahliger Wert von 0 bis 255

  • green - Grünanteil als ganzzahliger Wert von 0 bis 255

  • blue - Blauanteil als ganzzahliger Wert von 0 bis 255

  • alpha - Alphakomponente als Ganzzahlwert von 0 (völlig transparent) bis 255 (undurchsichtig).

Beispiele

  • color_rgba(255,127,0,200) → ‚255,127,0,200‘

13.2.3.12. create_ramp

Gibt eine Farbverlaufsrampe aus einer Zuordnung von Zeichenfolgen und Stufen zurück.

Syntax

create_ramp(map, [discrete=false])

[] kennzeichnet optionale Argumente

Argumente

  • map - eine Zuordnung von Zeichenfolgen und Schritten

  • discrete - Setzen Sie diesen Parameter auf true, um einen diskrete Farbverlauf zu erstellen

Beispiele

  • ramp_color(create_ramp(map(0,'0,0,0',1,'255,0,0')),1) → ‚255,0,0,255‘

13.2.3.13. darker

Liefert eine dunklere (oder hellere) Farbzeichenkette

Syntax

darker(color, factor)

Argumente

  • color - eine Farbzeichenfolge

  • factor - eine ganze Zahl, die dem Verdunkelungsfaktor entspricht:

    • Wenn der Faktor größer als 100 ist, gibt diese Funktion eine dunklere Farbe zurück (z. B. gibt die Einstellung des Faktors auf 200 eine Farbe zurück, die halb so hell ist);

    • Wenn der Faktor kleiner als 100 ist, wird eine hellere Farbe zurückgegeben, aber es wird empfohlen, zu diesem Zweck die Funktion lighter() zu verwenden;

    • wenn der Faktor 0 oder negativ ist, ist der Rückgabewert nicht spezifiziert.

Beispiele

  • darker('200,10,30', 200) → ‚100,5,15,255‘

Siehe auch: lighter

13.2.3.14. lighter

Liefert eine hellere (oder dunklere) Farbzeichenkette

Syntax

lighter(color, factor)

Argumente

  • color - eine Farbzeichenfolge

  • factor - eine ganze Zahl, die dem Aufhellungsfaktor entspricht:

    • Wenn der Faktor größer als 100 ist, gibt diese Funktion eine hellere Farbe zurück (z. B. gibt die Einstellung des Faktors auf 150 eine um 50 % hellere Farbe zurück);

    • Wenn der Faktor kleiner als 100 ist, ist die zurückgegebene Farbe dunkler, aber es wird empfohlen, zu diesem Zweck die Funktion darker() zu verwenden;

    • wenn der Faktor 0 oder negativ ist, ist der Rückgabewert nicht spezifiziert.

Beispiele

  • lighter('200,10,30', 200) → ‚255,158,168,255‘

Siehe auch: darker

13.2.3.15. project_color

Gibt eine Farbe aus dem Projekt-Farbschema zurück.

Syntax

project_color(name)

Argumente

  • name - einen Farbnamen

Beispiele

  • project_color('Logo color') → ‚20,140,50‘

Siehe auch: setting project colors

13.2.3.16. ramp_color

Gibt eine Zeichenkette zurück, die eine Farbe aus einer Farbrampe darstellt.

Gespeicherte Rampenvariante

Gibt einen String zurück, der eine Farbe aus einer gespeicherten Rampe darstellt

Syntax

ramp_color(ramp_name, value)

Argumente

  • ramp_name - der Name der Farbrampe als Zeichenkette, zum Beispiel ‚Spectral‘

  • value - die Position auf der Rampe, von der aus die Farbe ausgewählt werden soll, als reale Zahl zwischen 0 und 1

Beispiele

  • ramp_color('Spectral',0.3) → ‚253,190,115,255‘

Bemerkung

Die verfügbaren Farbrampen variieren je nach QGIS-Installation. Diese Funktion liefert möglicherweise nicht die erwarteten Ergebnisse, wenn Sie Ihr QGIS-Projekt zwischen Installationen wechseln.

Durch Expression erzeugte Rampenvariante

Gibt eine Zeichenkette zurück, die eine Farbe aus einer durch einen Ausdruck erstellten Rampe darstellt

Syntax

ramp_color(ramp, value)

Argumente

  • ramp - die Farbrampe

  • value - die Position auf der Rampe, von der aus die Farbe ausgewählt werden soll, als reale Zahl zwischen 0 und 1

Beispiele

  • ramp_color(create_ramp(map(0,'0,0,0',1,'255,0,0')),1) → ‚255,0,0,255‘

Siehe auch: Einstellen einer Farbrampe, Die Dropdown- Schaltfläche für Farbverläufe

13.2.3.17. set_color_part

Legt eine bestimmte Farbkomponente für einen Farbstring fest, z. B. die Rot-Komponente oder die Alpha-Komponente.

Syntax

set_color_part(color, component, value)

Argumente

  • color - eine Farbzeichenfolge

  • component - eine Zeichenkette, die der zu setzenden Farbkomponente entspricht. Gültige Optionen sind:

    • red: RGB-Rot-Komponente (0-255)

    • green: RGB-Grün-Komponente (0-255)

    • blue: RGB-Blau-Komponente (0-255)

    • alpha: Alpha-Wert (Transparenz) (0-255)

    • hue: HSV-Farbton (0-360)

    • saturation: HSV-Sättigung (0-100)

    • value: HSV-Wert (0-100)

    • hsl_hue: HSL-Farbton (0-360)

    • hsl_saturation: HSL-Sättigung (0-100)

    • lightness: HSL-Helligkeit (0-100)

    • cyan: CMYK Cyan-Anteil (0-100)

    • magenta: CMYK Magenta-Anteil (0-100)

    • yellow: CMYK Gelb-Anteil (0-100)

    • black: CMYK Schwarz-Anteil(0-100)

  • value - neuer Wert für die Farbkomponente unter Berücksichtigung der oben aufgeführten Wertebereiche

Beispiele

  • set_color_part('200,10,30','green',50) → ‚200,50,30,255‘

13.2.4. Funktionen für Bedingungen

Diese Gruppe enthält Funktionen, um in Ausdrücken mit Bedingen zu arbeiten.

13.2.4.1. CASE

CASE wird verwendet, um eine Reihe von Bedingungen auszuwerten und ein Ergebnis für die erste erfüllte Bedingung zurückzugeben. Die Bedingungen werden nacheinander abgefragt, und wenn eine Bedingung erfüllt ist, wird die Abfrage beendet und das entsprechende Ergebnis zurückgegeben. Wenn keine der Bedingungen erfüllt ist, wird der Wert in der ELSE-Klausel zurückgegeben. Wenn keine ELSE-Klausel gesetzt ist und keine der Bedingungen erfüllt ist, wird NULL zurückgegeben.

CASE

WHEN Bedingung THEN Ergebnis

[ …n ]

[ ELSE Ergebnis ]

END

[ ] markiert optionale Komponenten

Argumente

  • WHEN Bedingung - ein zu prüfender Ausdruck

  • THEN Ergebnis - wenn die Bedingung als Wahr ausgewertet wird, wird das THEN-Ergebnis zurückgegeben

  • ELSE Ergebnis - wenn keine der oben genannten Bedingungen als wahr bewertet wird, wird das ELSE-Ergebnis zurückgegeben

Beispiele

  • CASE WHEN "name" IS NULL THEN 'None' END → Gibt die Zeichenkette ‚None‘ zurück, wenn das Feld „name“ NULL ist

  • CASE WHEN $area > 10000 THEN 'Big property' WHEN $area > 5000 THEN 'Medium property' ELSE 'Small property' END → Gibt die Zeichenfolge „ Big property“ zurück, wenn die Fläche größer als 10000 ist, „Medium property“, wenn die Fläche zwischen 5000 und 10000 liegt, und „Small property“ für alle anderen

13.2.4.2. coalesce

Gibt den ersten Nicht-NULL-Wert aus der Ausdrucksliste zurück.

Diese Funktion kann eine beliebige Anzahl von Argumenten annehmen.

Syntax

coalesce(expression1, expression2, …)

Argumente

  • expression - jeder gültige Ausdruck oder Wert, unabhängig vom Typ.

Beispiele

  • coalesce(NULL, 2) → 2

  • coalesce(NULL, 2, 3) → 2

  • coalesce(7, NULL, 3*2) → 7

  • coalesce("fieldA", "fallbackField", 'ERROR') → Wert von FeldA, wenn es nicht NULL ist, sonst der Wert von „fallbackField“ oder die Zeichenkette ‚ERROR‘, wenn beide NULL sind

13.2.4.3. if

Prüft eine Bedingung und gibt je nach der Bedingungsprüfung ein anderes Ergebnis zurück.

Syntax

if(condition, result_when_true, result_when_false)

Argumente

  • condition - die Bedingung, die überprüft werden soll

  • result_when_true - das Ergebnis, das zurückgegeben wird, wenn die Bedingung erfüllt ist, oder ein anderer Wert, der nicht in „false“ umgewandelt werden kann.

  • result_when_false - das Ergebnis, das zurückgegeben wird, wenn die Bedingung falsch ist, oder ein anderer Wert, der in falsch umgewandelt wird, wie 0 oder ‚‘. NULL wird ebenfalls in „false“ umgewandelt.

Beispiele

  • if( 1+1=2, 'Yes', 'No' ) → ‚Yes‘

  • if( 1+1=3, 'Yes', 'No' ) → ‚No‘

  • if( 5 > 3, 1, 0) → 1

  • if( '', 'It is true (not empty)', 'It is false (empty)' ) → ‚It is false (empty)‘

  • if( ' ', 'It is true (not empty)', 'It is false (empty)' ) → ‚It is true (not empty)‘

  • if( 0, 'One', 'Zero' ) → ‚Zero‘

  • if( 10, 'One', 'Zero' ) → ‚One‘

13.2.4.4. nullif

Gibt einen NULL-Wert zurück, wenn value1 gleich value2 ist; andernfalls gibt es value1 zurück. Dies kann zur bedingten Ersetzung von Werten durch NULL verwendet werden.

Syntax

nullif(value1, value2)

Argumente

  • value1 - Der Wert, der entweder verwendet oder durch NULL ersetzt werden soll.

  • value2 - Der Kontrollwert, der die NULL-Ersetzung auslösen wird.

Beispiele

  • nullif('(none)', '(none)') → NULL

  • nullif('text', '(none)') → ‚text‘

  • nullif("name", '') → NULL, wenn „name“ ein leerer String ist (oder bereits NULL), „name“ in jedem anderen Fall.

13.2.4.5. regexp_match

Gibt die erste übereinstimmende Position eines regulären Ausdrucks innerhalb einer Unicode-Zeichenkette zurück, oder 0, wenn die Teilzeichenkette nicht gefunden wird.

Syntax

regexp_match(input_string, regex)

Argumente

  • input_string - die mit dem regulären Ausdruck zu prüfende Zeichenfolge

  • regex - Der reguläre Ausdruck, gegen den getestet werden soll. Backslash-Zeichen müssen doppelt escaped werden (z. B. „\\s“ für ein Leerzeichen oder „\\b“ für eine Wortgrenze).

Beispiele

  • regexp_match('QGIS ROCKS','\\sROCKS') → 5

  • regexp_match('Budač','udač\\b') → 2

13.2.4.6. try

Testet einen Ausdruck und gibt seinen Wert zurück, wenn er fehlerfrei ist. Liefert der Ausdruck einen Fehler, wird ein alternativer Wert zurückgegeben, andernfalls gibt die Funktion NULL zurück.

Syntax

try(expression, [alternative])

[] kennzeichnet optionale Argumente

Argumente

  • expression - der Ausdruck, der ausgeführt werden soll

  • alternative - das Ergebnis, das zurückgegeben wird, wenn der Ausdruck einen Fehler liefert.

Beispiele

  • try( to_int( '1' ), 0 ) → 1

  • try( to_int( 'a' ), 0 ) → 0

  • try( to_date( 'invalid_date' ) ) → NULL

13.2.5. Umwandlungs-Funktionen

Diese Gruppe enthält Funktionen zur Umwandlung eines Datentyps in einen anderen (z. B. String von/nach Integer, Binär von/nach String, String nach Datum, …).

13.2.5.1. from_base64

Dekodiert eine Zeichenkette in der Base64-Kodierung in einen Binärwert.

Syntax

from_base64(string)

Argumente

  • string - die zu dekodierende Zeichenkette

Beispiele

  • from_base64('UUdJUw==') → ‚QGIS‘

13.2.5.2. hash

Erzeugt einen Hash aus einer Zeichenkette mit einer festgelegten Methode. Ein Byte (8 Bits) wird durch zwei Hexadezimalziffern dargestellt, sodass „md4“ (16 Bytes) einen 16 * 2 = 32 Zeichen langen Hex-String und „keccak_512“ (64 Bytes) einen 64 * 2 = 128 Zeichen langen Hex-String erzeugt.

Syntax

hash(string, method)

Argumente

  • string - die Zeichenkette, die einen Hash umgewandelt werden soll

  • method - Die Hash-Methode; gültig sind: ‚md4‘, ‚md5‘, ‚sha1‘, ‚sha224‘, ‚sha384‘, ‚sha512‘, ‚sha3_224‘, ‚sha3_256‘, ‚sha3_384‘, ‚sha3_512‘, ‚keccak_224‘, ‚keccak_256‘, ‚keccak_384‘, ‚keccak_512‘

Beispiele

  • hash('QGIS', 'md4') → ‚c0fc71c241cdebb6e888cbac0e2b68eb‘

  • hash('QGIS', 'md5') → ‚57470aaa9e22adaefac7f5f342f1c6da‘

  • hash('QGIS', 'sha1') → ‚f87cfb2b74cdd5867db913237024e7001e62b114‘

  • hash('QGIS', 'sha224') → ‚4093a619ada631c770f44bc643ead18fb393b93d6a6af1861fcfece0‘

  • hash('QGIS', 'sha256') → ‚eb045cba7a797aaa06ac58830846e40c8e8c780bc0676d3393605fae50c05309‘

  • hash('QGIS', 'sha384') → ‚91c1de038cc3d09fdd512e99f9dd9922efadc39ed21d3922e69a4305cc25506033aee388e554b78714c8734f9cd7e610‘

  • hash('QGIS', 'sha512') → ‚c2c092f2ab743bf8edbeb6d028a745f30fc720408465ed369421f0a4e20fa5e27f0c90ad72d3f1d836eaa5d25cd39897d4cf77e19984668ef58da6e3159f18ac‘

  • hash('QGIS', 'sha3_224') → ‚467f49a5039e7280d5d42fd433e80d203439e338eaabd701f0d6c17d‘

  • hash('QGIS', 'sha3_256') → ‚540f7354b6b8a6e735f2845250f15f4f3ba4f666c55574d9e9354575de0e980f‘

  • hash('QGIS', 'sha3_384') → ‚96052da1e77679e9a65f60d7ead961b287977823144786386eb43647b0901fd8516fa6f1b9d243fb3f28775e6dde6107‘

  • hash('QGIS', 'sha3_512') → ‚900d079dc69761da113980253aa8ac0414a8bd6d09879a916228f8743707c4758051c98445d6b8945ec854ff90655005e02aceb0a2ffc6a0ebf818745d665349‘

  • hash('QGIS', 'keccak_224') → ‚5b0ce6acef8b0a121d4ac4f3eaa8503c799ad4e26a3392d1fb201478‘

  • hash('QGIS', 'keccak_256') → ‚991c520aa6815392de24087f61b2ae0fd56abbfeee4a8ca019c1011d327c577e‘

  • hash('QGIS', 'keccak_384') → ‚c57a3aed9d856fa04e5eeee9b62b6e027cca81ba574116d3cc1f0d48a1ef9e5886ff463ea8d0fac772ee473bf92f810d‘

13.2.5.3. md5

Erzeugt einen md5-Hash aus einer Zeichenkette.

Syntax

md5(string)

Argumente

  • string - die Zeichenkette, die einen Hash umgewandelt werden soll

Beispiele

  • md5('QGIS') → ‚57470aaa9e22adaefac7f5f342f1c6da‘

13.2.5.4. sha256

Erzeugt einen sha256-Hash aus einer Zeichenkette.

Syntax

sha256(string)

Argumente

  • string - die Zeichenkette, die einen Hash umgewandelt werden soll

Beispiele

  • sha256('QGIS') → ‚eb045cba7a797aaa06ac58830846e40c8e8c780bc0676d3393605fae50c05309‘

13.2.5.5. to_base64

Kodiert einen Binärwert in eine Zeichenkette, unter Verwendung der Base64-Kodierung.

Syntax

to_base64(value)

Argumente

  • value - der zu kodierende Binärwert

Beispiele

  • to_base64('QGIS') → ‚UUdJUw==‘

13.2.5.6. to_date

Konvertiert eine Zeichenkette in ein Datumsobjekt. Ein optionaler Format-String kann angegeben werden, um den String zu parsen; siehe QDate::fromString oder die Dokumentation der Funktion format_date für zusätzliche Dokumentation zum Format. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Syntax

to_date(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - String, der einen Datumswert repräsentiert

  • format - Format für die Umwandlung der Zeichenkette in ein Datum

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die für die Umwandlung der Zeichenkette in ein Datum verwendet wird. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Beispiele

  • to_date('2012-05-04') → 2012-05-04

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, wenn das aktuelle Gebietsschema den Namen ‚‘June‘‘ für den sechsten Monat verwendet, andernfalls tritt ein Fehler auf

  • to_date('29 juin, 2019','d MMMM, yyyy','fr') → 2019-06-29

13.2.5.7. to_datetime

Konvertiert eine Zeichenkette in einen DatumZeit-Wert. Optional kann ein gewünschtes Ausgabeformat angegeben werden; siehe QDate::fromString, QTime::fromString oder die Dokumentation der Funktion format_date für zusätzliche Dokumentation zum Format. Standardmäßig wird das aktuell für QGIS eingestellte Gebietsschema verwendet.

Syntax

to_datetime(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenkette, die einen Datumswert darstellt

  • format - Format, in dem der DatumZeit-Wert ausgegeben werden soll

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die zur Umwandlung der Zeichenkette in einen DatumZeit-Wert verwendet wird. Standardmäßig wird das aktuell für QGIS eingestellte Gebietsschema verwendet.

Beispiele

  • to_datetime('2012-05-04 12:50:00') → 2012-05-04T12:50:00

  • to_datetime('June 29, 2019 @ 12:34','MMMM d, yyyy @ HH:mm') → 2019-06-29T12:34, wenn das aktuelle Gebietsschema den Namen ‚‘June‘‘ für den sechsten Monat verwendet, andernfalls wird ein Fehler ausgegeben

  • to_datetime('29 juin, 2019 @ 12:34','d MMMM, yyyy @ HH:mm','fr') → 2019-06-29T12:34

13.2.5.8. to_decimal

Konvertiert eine Grad-, Minuten- und Sekundenkoordinate in ihr dezimales Äquivalent

Syntax

to_decimal(value)

Argumente

  • value - Eine Grad-, Minuten- und Sekunden-Zeichenkette

Beispiele

  • to_decimal('6°21\'16.445') → 6.3545680555

13.2.5.9. to_dm

Konvertiert eine Koordinate in Grad, Minute

Syntax

to_dm(coordinate, axis, precision, [formatting=])

[] kennzeichnet optionale Argumente

Argumente

  • coordinate - Ein Wert für den Breitengrad oder Längengrad

  • axis - Die Achse der Koordinate. Entweder ‚x‘ oder ‚y‘.

  • precision - Anzahl der Dezimalen.

  • formatting - Bezeichnet den Formatierungstyp. Zulässige Werte sind NULL (Standard), ‚aligned‘ oder ‚suffix‘.

Beispiele

  • to_dm(6.1545681, 'x', 3) → 6°9.274′

  • to_dm(6.1545681, 'y', 4, 'aligned') → 6°09.2741′N

  • to_dm(6.1545681, 'y', 4, 'suffix') → 6°9.2741′N

13.2.5.10. to_dms

Konvertiert eine Koordinate in Grad, Minute, Sekunde.

Syntax

to_dms(coordinate, axis, precision, [formatting=])

[] kennzeichnet optionale Argumente

Argumente

  • coordinate - Ein Wert für den Breitengrad oder Längengrad

  • axis - Die Achse der Koordinate. Entweder ‚x‘ oder ‚y‘.

  • precision - Anzahl der Dezimalen.

  • formatting - Bezeichnet den Formatierungstyp. Zulässige Werte sind NULL (Standard), ‚aligned‘ oder ‚suffix‘.

Beispiele

  • to_dms(6.1545681, 'x', 3) → 6°9′16.445″

  • to_dms(6.1545681, 'y', 4, 'aligned') → 6°09′16.4452″N

  • to_dms(6.1545681, 'y', 4, 'suffix') → 6°9′16.4452″N

13.2.5.11. to_int

Konvertiert eine Zeichenkette in eine ganze Zahl. Es wird nichts zurückgegeben, wenn ein Wert nicht in eine ganze Zahl umgewandelt werden kann (z. B. ist ‚123asd‘ ungültig)

Syntax

to_int(string)

Argumente

  • string - Zeichenkette, die in eine ganze Zahl umgewandelt werden soll

Beispiele

  • to_int('123') → 123

13.2.5.12. to_interval

Konvertiert eine Zeichenkette in einen Intervalltyp. Kann verwendet werden, um Tage, Stunden, Monate usw. eines Datums zu ermitteln

Syntax

to_interval(string)

Argumente

  • string - eine Zeichenkette, die ein Intervall darstellt. Erlaubte Formate sind {n} Tage {n} Stunden {n} Monate

Beispiele

  • to_interval('1 day 2 hours') → interval: 1.08333 days

  • to_interval( '0.5 hours' ) → interval: 30 minutes

  • to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours') → 2012-05-04T10:00:00

13.2.5.13. to_real

Konvertiert eine Zeichenkette in eine reelle Zahl. Es wird nichts zurückgegeben, wenn ein Wert nicht in eine reelle Zahl umgewandelt werden kann (z.B. ‚123.56asd‘ ist ungültig). Zahlen werden nach dem Speichern der Änderungen gerundet, wenn die Genauigkeit kleiner ist als das Ergebnis der Konvertierung

Syntax

to_real(string)

Argumente

  • string - String zur Umwandlung in eine reelle Zahl

Beispiele

  • to_real('123.45') → 123.45

13.2.5.14. to_string

Konvertiert eine Zahl in eine Zeichenkette

Syntax

to_string(number)

Argumente

  • number - Ganzzahl oder reeller Wert, der in eine Zeichenkette konvertiert werden soll

Beispiele

  • to_string(123) → ‚123‘

13.2.5.15. to_time

Konvertiert eine Zeichenkette in ein Zeitobjekt. Optional kann ein gewünschtes Format für die Ausgabe angegeben werden; siehe QTime::fromString für zusätzliche Dokumentation über das Format

Syntax

to_time(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenkette, die einen Zeitwert darstellt

  • format - Format für die Umwandlung der Zeichenkette in eine Zeitangabe

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabiger ISO 639-Sprachcode), die zur Umwandlung der Zeichenfolge in eine Zeitangabe verwendet wird

Beispiele

  • to_time('12:30:01') → 12:30:01

  • to_time('12:34','HH:mm') → 12:34:00

  • to_time('12:34','HH:mm','fr') → 12:34:00

13.2.6. Benutzerdefinierte Funktionen

Diese Gruppe enthält vom Nutzer erstellte Funktionen. Unter Funktions Editor finden Sie weitere Details.

13.2.7. Datums- und Zeit-Funktionen

Diese Gruppe enthält Funktionen zur Verarbeitung von Datums- und Zeitdaten. Einige Funktionen hat überschneiden sich mit den Gruppen Umwandlungs-Funktionen (to_date, to_time, to_datetime, to_interval) und Zeichenketten-Funktionen (format_date).

Bemerkung

Speichern von Datum, DatumZeit und Intervallen in Feldern

Die Möglichkeit, Datum-, Uhrzeit- und DatumZeit-Werte direkt in Feldern zu speichern, hängt vom Format der Datenquelle ab (z. B. akzeptiert Shapefile das Format Datum, aber nicht das Format Uhrzeit oder DatumZeit). Im Folgenden finden Sie Vorschläge zur Umgehung dieser Einschränkung:

  • Datum, DatumZeit und Uhrzeit können mit der Funktion format_date() konvertiert und in Textfeldern gespeichert werden.

  • Intervalle können in ganzzahligen oder dezimalen Feldern gespeichert werden, nachdem eine der Datumsextraktions-Funktionen verwendet wurde (z. B. day(), um das Intervall in Tagen ausgedrückt zu erhalten).

13.2.7.1. age

Gibt die Differenz zwischen zwei Daten oder DatumZeit-Werten zurück.

Die Differenz wird als Intervall zurückgegeben und muss mit einer der folgenden Funktionen verwendet werden, um nützliche Informationen zu liefern:

  • year

  • month

  • week

  • day

  • hour

  • minute

  • second

Syntax

age(datetime1, datetime2)

Argumente

  • datetime1 - eine Zeichenkette, ein Datum oder eine Zeitangabe, die das spätere Datum darstellt

  • datetime2 - eine Zeichenkette, ein Datum oder eine Zeitangabe, die das frühere Datum darstellt

Beispiele

  • day(age('2012-05-12','2012-05-02')) → 10

  • hour(age('2012-05-12','2012-05-02')) → 240

13.2.7.2. datetime_from_epoch

Gibt einen DatumZeit-Wert zurück, deren Datum und Zeit die Anzahl der Millisekunden sind, die seit 1970-01-01T00:00:00.000, Koordinierte Weltzeit (Qt.UTC), vergangen sind und in Qt.LocalTime umgerechnet wurden.

Syntax

datetime_from_epoch(int)

Argumente

  • int - Anzahl (Millisekunden)

Beispiele

  • datetime_from_epoch(1483225200000) → 2017-01-01T00:00:00

13.2.7.3. day

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

Datumsvariante

Extrahiert den Tag aus einem Datum oder einem Datumzeit-Wert.

Syntax

day(date)

Argumente

  • date - ein Datum oder ein DatumZeit-Wert

Beispiele

  • day('2012-05-12') → 12

Intervall-Variante

Berechnet die Länge eines Intervalls in Tagen.

Syntax

day(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Tage zurückgegeben werden soll

Beispiele

  • day(to_interval('3 days')) → 3

  • day(to_interval('3 weeks 2 days')) → 23

  • day(age('2012-01-01','2010-01-01')) → 730

13.2.7.4. day_of_week

Gibt den Wochentag für ein angegebenes Datum oder einen DatumZeit-Wert zurück. Der zurückgegebene Wert reicht von 0 bis 6, wobei 0 einem Sonntag und 6 einem Samstag entspricht.

Syntax

day_of_week(date)

Argumente

  • date - Datum oder DatumZeit-Wert

Beispiele

  • day_of_week(to_date('2015-09-21')) → 1

13.2.7.5. epoch

Gibt das Intervall in Millisekunden zwischen der Unix-Epoche und einem gegebenen Datumswert zurück.

Syntax

epoch(date)

Argumente

  • date - ein Datum oder ein DatumZeit-Wert

Beispiele

  • epoch(to_date('2017-01-01')) → 1483203600000

13.2.7.6. format_date

Formatiert einen Datumstyp oder einen String in ein benutzerdefiniertes Stringformat. Verwendet Qt Datum/Zeit Format Strings. Siehe QDateTime::toString.

Syntax

format_date(datetime, format, [language])

[] kennzeichnet optionale Argumente

Argumente

  • datetime - Datum, Uhrzeit oder DatumZeit-Wert

  • format - Formatvorlage, die zur Formatierung der Zeichenkette verwendet werden soll.

    Expression

    gibt zurück

    d

    den Tag als Zahl ohne führende Null (1 bis 31)

    dd

    den Tag als Zahl mit führender Null (01 bis 31)

    ddd

    den abgekürzten lokalisierten Tagesnamen (z. B. ‚Mon‘ bis ‚Sun‘)

    dddd

    den langen lokalisierten Tagesnamen (z. B. ‚Monday‘ bis ‚Sunday‘)

    M

    den Monat als Zahl ohne führende Null (1-12)

    MM

    den Monat als Zahl mit führender Null (01-12)

    MMM

    den abgekürzten lokalisierten Monatsnamen (z. B. ‚Jan‘ bis ‚Dec‘)

    MMMM

    den langen lokalisierten Monatsnamen (z. B. ‚January‘ bis ‚December‘)

    yy

    das Jahr als zweistellige Zahl (00-99)

    yyyy

    das Jahr als vierstellige Zahl

    Diese Ausdrücke können für den Zeitteil des Formatstrings verwendet werden:

    Expression

    gibt zurück

    h

    die Stunde ohne führende Null (0 bis 23 oder 1 bis 12 bei AM/PM-Anzeige)

    hh

    die Stunde mit führender Null (00 bis 23 oder 01 bis 12 bei AM/PM-Anzeige)

    H

    die Stunde ohne führende Null (0 bis 23, auch bei AM/PM-Anzeige)

    HH

    die Stunde mit einer führenden Null (00 bis 23, auch bei AM/PM-Anzeige)

    m

    die Minute ohne führende Null (0 bis 59)

    mm

    die Minute mit führender Null (00 bis 59))

    s

    die Sekunde ohne führende Null (0 bis 59)

    ss

    die Sekunde mit führender Null (00 bis 59)

    z

    die Millisekunden ohne nachgestellte Nullen (0 bis 999)

    zzz

    die Millisekunden mit nachgestellten Nullen (000 bis 999)

    AP oder A

    als AM/PM-Zeit interpretieren. AP muss entweder ‚AM‘ oder ‚PM‘ sein.

    ap oder a

    Interpretation als AM/PM-Zeit. ap muss entweder ‚am‘ oder ‚pm‘ sein.

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die verwendet wird, um das Datum in eine benutzerdefinierte Zeichenfolge zu formatieren. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Beispiele

  • format_date('2012-05-15','dd.MM.yyyy') → ‚15.05.2012‘

  • format_date('2012-05-15','d MMMM yyyy','fr') → ‚15 mai 2012‘

  • format_date('2012-05-15','dddd') → ‚Tuesday‘, wenn das aktuelle Gebietsschema eine englische Variante ist

  • format_date('2012-05-15 13:54:20','dd.MM.yy') → ‚15.05.12‘

  • format_date('13:54:20','hh:mm AP') → ‚01:54 PM‘

13.2.7.7. hour

Extrahiert den Stundenanteil aus einem DatumZeit-Wert oder einer Uhrzeit oder die Anzahl der Stunden aus einem Intervall.

Zeit-Variante

Extrahiert den Stundenteil aus einer Zeit oder einem DatumZeit-Wert.

Syntax

hour(datetime)

Argumente

  • datetime - einen Zeit- oder DatumZeit-Wert

Beispiele

  • hour( to_datetime('2012-07-22 13:24:57') ) → 13

Intervall-Variante

Berechnet die Länge eines Intervalls in Stunden.

Syntax

hour(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Stunden zurückgegeben werden soll

Beispiele

  • hour(to_interval('3 hours')) → 3

  • hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00')) → 3

  • hour(age('2012-01-01','2010-01-01')) → 17520

13.2.7.8. make_date

Erzeugt einen Datumswert aus Jahr, Monat und Tag.

Syntax

make_date(year, month, day)

Argumente

  • year - Jahreszahl. Die Jahre 1 bis 99 werden als solche interpretiert. Jahr 0 ist ungültig.

  • month - Monatsnummer, wobei 1=Januar entspricht

  • day - Tagesnummer, beginnend mit 1 für den ersten Tag des Monats

Beispiele

  • make_date(2020,5,4) → 2020-05-04

13.2.7.9. make_datetime

Erzeugt einen DatumZeit-Wert aus den Zahlen Jahr, Monat, Tag, Stunde, Minute und Sekunde.

Syntax

make_datetime(year, month, day, hour, minute, second)

Argumente

  • year - Jahreszahl. Die Jahre 1 bis 99 werden als solche interpretiert. Jahr 0 ist ungültig.

  • month - Monatsnummer, wobei 1=Januar entspricht

  • day - Tagesnummer, beginnend mit 1 für den ersten Tag des Monats

  • hour - Stunden

  • minute - Minuten

  • second - Sekunden (Nachkommastellen für Millisekunden können angegeben werden)

Beispiele

  • make_datetime(2020,5,4,13,45,30.5) → 2020-05-04 13:45:30.500

13.2.7.10. make_interval

Erstellt einen Intervallwert aus den Werten Jahr, Monat, Wochen, Tage, Stunden, Minuten und Sekunden.

Syntax

make_interval([years=0], [months=0], [weeks=0], [days=0], [hours=0], [minutes=0], [seconds=0])

[] kennzeichnet optionale Argumente

Argumente

  • years - Anzahl der Jahre (erwartet eine Jahreslänge von 365,25 Tagen).

  • months - Anzahl der Monate (erwartet eine Monatslänge von 30 Tagen)

  • weeks - Anzahl der Wochen

  • days - Anzahl der Tage

  • hours - Anzahl der Stunden

  • minutes - Anzahl der Minuten

  • seconds - Anzahl der Sekunden

Beispiele

  • make_interval(hours:=3) → 3 Stunden

  • make_interval(days:=2, hours:=3) → 2,125 Tage

  • make_interval(minutes:=0.5, seconds:=5) → 35 Sekunden

13.2.7.11. make_time

Erzeugt einen Zeitwert aus Stunden-, Minuten- und Sekundenzahlen.

Syntax

make_time(hour, minute, second)

Argumente

  • hour - Stunden

  • minute - Minuten

  • second - Sekunden (Nachkommastellen für Millisekunden können angegeben werden)

Beispiele

  • make_time(13,45,30.5) → 13:45:30.500

13.2.7.12. minute

Extrahiert den Minutenanteil aus einem DatumZeit-Wert oder einer Uhrzeit oder die Anzahl der Minuten aus einem Intervall.

Zeit-Variante

Extrahiert den Minutenteil aus einer Zeit oder einem DatumZeit-Wert.

Syntax

minute(datetime)

Argumente

  • datetime - einen Zeit- oder DatumZeit-Wert

Beispiele

  • minute( to_datetime('2012-07-22 13:24:57') ) → 24

Intervall-Variante

Berechnet die Länge eines Intervalls in Minuten.

Syntax

minute(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Minuten zurückgegeben werden soll

Beispiele

  • minute(to_interval('3 minutes')) → 3

  • minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00')) → 20

  • minute(age('2012-01-01','2010-01-01')) → 1051200

13.2.7.13. month

Extrahiert den Monatsteil aus einem Datum oder die Anzahl der Monate aus einem Intervall.

Datumsvariante

Extrahiert den Monatsteil aus einem Datum oder DatumZeit-Wert.

Syntax

month(date)

Argumente

  • date - ein Datum oder ein DatumZeit-Wert

Beispiele

  • month('2012-05-12') → 05

Intervall-Variante

Berechnet die Länge eines Intervalls in Monaten.

Syntax

month(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Monate zurückgegeben werden soll

Beispiele

  • month(to_interval('3 months')) → 3

  • month(age('2012-01-01','2010-01-01')) → 4.03333

13.2.7.14. now

Gibt das aktuelle Datum und die Uhrzeit zurück. Die Funktion ist statisch und liefert bei der Auswertung konsistente Ergebnisse. Die zurückgegebene Zeit ist die Zeit, zu der der Ausdruck erstellt wurde.

Syntax

now()

Beispiele

  • now() → 2012-07-22T13:24:57

13.2.7.15. second

Extrahiert den Sekundenanteil aus einem DatumZeit-Wert oder einer Uhrzeit bzw. die Anzahl der Sekunden aus einem Intervall.

Zeit-Variante

Extrahiert den Sekundenanteil aus einer Zeit oder einem DatumZeit-Wert.

Syntax

second(datetime)

Argumente

  • datetime - einen Zeit- oder DatumZeit-Wert

Beispiele

  • second( to_datetime('2012-07-22 13:24:57') ) → 57

Intervall-Variante

Berechnet die Länge eines Intervalls in Sekunden.

Syntax

second(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Sekunden zurückgegeben werden soll

Beispiele

  • second(to_interval('3 minutes')) → 180

  • second(age('2012-07-22T00:20:00','2012-07-22T00:00:00')) → 1200

  • second(age('2012-01-01','2010-01-01')) → 63072000

13.2.7.16. to_date

Konvertiert eine Zeichenkette in ein Datumsobjekt. Ein optionaler Format-String kann angegeben werden, um den String zu parsen; siehe QDate::fromString oder die Dokumentation der Funktion format_date für zusätzliche Dokumentation zum Format. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Syntax

to_date(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - String, der einen Datumswert repräsentiert

  • format - Format für die Umwandlung der Zeichenkette in ein Datum

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die für die Umwandlung der Zeichenkette in ein Datum verwendet wird. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Beispiele

  • to_date('2012-05-04') → 2012-05-04

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, wenn das aktuelle Gebietsschema den Namen ‚‘June‘‘ für den sechsten Monat verwendet, andernfalls tritt ein Fehler auf

  • to_date('29 juin, 2019','d MMMM, yyyy','fr') → 2019-06-29

13.2.7.17. to_datetime

Konvertiert eine Zeichenkette in einen DatumZeit-Wert. Optional kann ein gewünschtes Ausgabeformat angegeben werden; siehe QDate::fromString, QTime::fromString oder die Dokumentation der Funktion format_date für zusätzliche Dokumentation zum Format. Standardmäßig wird das aktuell für QGIS eingestellte Gebietsschema verwendet.

Syntax

to_datetime(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenkette, die einen Datumswert darstellt

  • format - Format, in dem der DatumZeit-Wert ausgegeben werden soll

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die zur Umwandlung der Zeichenkette in einen DatumZeit-Wert verwendet wird. Standardmäßig wird das aktuell für QGIS eingestellte Gebietsschema verwendet.

Beispiele

  • to_datetime('2012-05-04 12:50:00') → 2012-05-04T12:50:00

  • to_datetime('June 29, 2019 @ 12:34','MMMM d, yyyy @ HH:mm') → 2019-06-29T12:34, wenn das aktuelle Gebietsschema den Namen ‚‘June‘‘ für den sechsten Monat verwendet, andernfalls wird ein Fehler ausgegeben

  • to_datetime('29 juin, 2019 @ 12:34','d MMMM, yyyy @ HH:mm','fr') → 2019-06-29T12:34

13.2.7.18. to_interval

Konvertiert eine Zeichenkette in einen Intervalltyp. Kann verwendet werden, um Tage, Stunden, Monate usw. eines Datums zu ermitteln

Syntax

to_interval(string)

Argumente

  • string - eine Zeichenkette, die ein Intervall darstellt. Erlaubte Formate sind {n} Tage {n} Stunden {n} Monate

Beispiele

  • to_interval('1 day 2 hours') → interval: 1.08333 days

  • to_interval( '0.5 hours' ) → interval: 30 minutes

  • to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours') → 2012-05-04T10:00:00

13.2.7.19. to_time

Konvertiert eine Zeichenkette in ein Zeitobjekt. Optional kann ein gewünschtes Format für die Ausgabe angegeben werden; siehe QTime::fromString für zusätzliche Dokumentation über das Format

Syntax

to_time(string, [format], [language])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenkette, die einen Zeitwert darstellt

  • format - Format für die Umwandlung der Zeichenkette in eine Zeitangabe

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabiger ISO 639-Sprachcode), die zur Umwandlung der Zeichenfolge in eine Zeitangabe verwendet wird

Beispiele

  • to_time('12:30:01') → 12:30:01

  • to_time('12:34','HH:mm') → 12:34:00

  • to_time('12:34','HH:mm','fr') → 12:34:00

13.2.7.20. week

Extrahiert die Wochennummer aus einem Datum oder die Anzahl der Wochen aus einem Intervall.

Datumsvariante

Extrahiert die Wochennummer aus einem Datum oder DatumZeit-Wert.

Syntax

week(date)

Argumente

  • date - ein Datum oder ein DatumZeit-Wert

Beispiele

  • week('2012-05-12') → 19

Intervall-Variante

Berechnet die Länge eines Intervalls in Wochen.

Syntax

week(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Monate zurückgegeben werden soll

Beispiele

  • week(to_interval('3 weeks')) → 3

  • week(age('2012-01-01','2010-01-01')) → 104.285

13.2.7.21. year

Extrahiert den Jahresanteil aus einem Datum oder die Anzahl der Jahre aus einem Intervall.

Datumsvariante

Extrahiert den Jahresanteil aus einem Datum oder DatumZeit-Wert.

Syntax

year(date)

Argumente

  • date - ein Datum oder ein DatumZeit-Wert

Beispiele

  • year('2012-05-12') → 2012

Intervall-Variante

Berechnet die Länge eines Intervalls in Jahren.

Syntax

year(interval)

Argumente

  • interval - Intervallwert, von welchem die Anzahl der Jahre zurückgegeben werden soll

Beispiele

  • year(to_interval('3 years')) → 3

  • year(age('2012-01-01','2010-01-01')) → 1.9986

Beispiele:

Mit diesen Funktionen können Sie auch Daten, DatumZeit-Werte oder Zeiten mit dem Operator - (Minus) subtrahieren, um ein Intervall zu erhalten.

Die Addition oder Subtraktion von Zeitintervallen zu Datums- oder Zeitangaben mit Hilfe des + (plus) oder - (minus) Operators gibt eine Datums- oder Zeitangabe zurück.

  • Ausgabe der Anzahl der Tage bis zur Herausgabe von QGIS 3.0:

    to_date('2017-09-29') - to_date(now())
    -- Returns <interval: 203 days>
    
  • Dasselbe gilt für die Zeit:

    to_datetime('2017-09-29 12:00:00') - now()
    -- Returns <interval: 202.49 days>
    
  • Ausgabe der Datums- und Zeitangabe für 100 Tage in der Zukunft:

    now() + to_interval('100 days')
    -- Returns <datetime: 2017-06-18 01:00:00>
    

13.2.8. Felder und Werte

Enthält eine Liste von Feldern des aktiven Layers und spezielle Werte. Die Feldliste enthält die im Datensatz gespeicherten virtuellen Felder und die Felder aus Verknüpfungen.

Doppelklick auf einen Feldnamen fügt das Feld im Ausdruck ein. Man kann auch den Feldnamen (vorzugsweise in doppelten Anführungszeichen) oder seinen Alias verwenden.

Um sich die Feldwerte, die man in einem Ausdruck verwenden möchte, anzuzeigen zu lassen, kann man im Vorschau-Widget auf 10 Stichproben oder Alle eindeutigen klicken. Die angeforderten Werte werden dann angezeigt und man kann das Ergebnis mithilfe des Suche Kastens über der Liste filtern. Beispielwerte können außerdem durch einen Klick mit der rechten Maustaste auf ein Feld angezeigt werden.

Um einen Wert in den erstellten Ausdruck zu übernehmen, klickt man doppelt auf den Wert in der Liste. Wenn der Wert eine Zeichenkette ist, sollte er in einfachen Anführungszeichen geschrieben werden, ansonsten sind keine Anführungszeichen erforderlich.

13.2.8.1. NULL

Entspricht einem NULL-Wert.

Syntax

NULL

Beispiele

  • NULL → einen NULL-Wert

Bemerkung

Um auf NULL zu testen, verwenden Sie einen IS NULL oder IS NOT NULL Ausdruck.

13.2.9. Funktionen für Dateien und Pfade

Diese Gruppe enthält Funktionen zur Bearbeitung von Datei- und Pfadnamen.

13.2.9.1. base_file_name

Gibt den Basisnamen der Datei ohne Verzeichnis oder Dateisuffix zurück.

Syntax

base_file_name(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • base_file_name('/home/qgis/data/country_boundaries.shp') → ‚country_boundaries‘

13.2.9.2. exif

Ruft die Exif-Tag-Werte einer Bilddatei ab.

Syntax

exif(path, [tag])

[] kennzeichnet optionale Argumente

Argumente

  • path - Pfad einer Bilddatei oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

  • tag - Das zurückzugebende Tag. Wenn leer, wird eine Tabelle mit allen Exif-Tag-Werten zurückgegeben.

Beispiele

  • exif('/my/photo.jpg','Exif.Image.Orientation') → 0

13.2.9.3. file_exists

Gibt TRUE zurück, wenn der Dateipfad existiert.

Syntax

file_exists(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • file_exists('/home/qgis/data/country_boundaries.shp') → TRUE

13.2.9.4. file_name

Liefert den Namen einer Datei (einschließlich der Dateierweiterung), ohne das Verzeichnis.

Syntax

file_name(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • file_name('/home/qgis/data/country_boundaries.shp') → ‚country_boundaries.shp‘

13.2.9.5. file_path

Gibt die Verzeichniskomponente eines Dateipfads zurück. Dies beinhaltet nicht den Dateinamen.

Syntax

file_path(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • file_path('/home/qgis/data/country_boundaries.shp') → ‚/home/qgis/data‘

13.2.9.6. file_size

Gibt die Größe (in Bytes) einer Datei zurück.

Syntax

file_size(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • file_size('/home/qgis/data/country_boundaries.geojson') → 5674

13.2.9.7. file_suffix

Gibt das Dateisuffix (Erweiterung) eines Dateipfads zurück.

Syntax

file_suffix(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • file_suffix('/home/qgis/data/country_boundaries.shp') → ‚shp‘

13.2.9.8. is_directory

Gibt TRUE zurück, wenn ein Pfad einem Verzeichnis entspricht.

Syntax

is_directory(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • is_directory('/home/qgis/data/country_boundaries.shp') → FALSE

  • is_directory('/home/qgis/data/') → TRUE

13.2.9.9. is_file

Gibt TRUE zurück, wenn ein Pfad mit einer Datei übereinstimmt.

Syntax

is_file(path)

Argumente

  • path - ein Dateipfad oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • is_file('/home/qgis/data/country_boundaries.shp') → TRUE

  • is_file('/home/qgis/data/') → FALSE

13.2.10. Formular-Funktionen

Diese Gruppe enthält Funktionen, die ausschließlich im Kontext des Attributformulars funktionieren. Zum Beispiel in den Feld-Einstellungen.

13.2.10.1. current_parent_value

Diese Funktion ist nur im Kontext eines eingebetteten Formulars verwendbar und gibt den aktuellen, nicht gespeicherten Wert eines Feldes im übergeordneten Formular zurück, das gerade bearbeitet wird. Dieser Wert unterscheidet sich von den tatsächlichen Attributwerten des übergeordneten Objekts, die gerade bearbeitet werden oder noch nicht zu einem übergeordneten Layer hinzugefügt wurden. Wenn diese Funktion in einem Filterausdruck eines Wert-Beziehungs-Widgets verwendet wird, sollte sie in ein ‚coalesce()‘ eingeschlossen werden, das das tatsächliche übergeordnete Objekt vom Layer abrufen kann, wenn das Formular nicht in einem eingebetteten Kontext verwendet wird.

Syntax

current_parent_value(field_name)

Argumente

  • field_name - ein Feldname im aktuellen übergeordneten Formular

Beispiele

  • current_parent_value( 'FIELD_NAME' ) → Der aktuelle Wert des Feldes ‚FIELD_NAME‘ im übergeordneten Formular.

13.2.10.2. current_value

Gibt den aktuellen, nicht gespeicherten Wert eines Feldes im Formular oder in der Tabellenzeile zurück, die gerade bearbeitet wird. Dieser Wert unterscheidet sich von den tatsächlichen Attributwerten des Objekts bei Objekten, die gerade bearbeitet werden oder noch nicht zu einem Layer hinzugefügt wurden.

Syntax

current_value(field_name)

Argumente

  • field_name - ein Feldname in der aktuellen Formular- oder Tabellenzeile

Beispiele

  • current_value( 'FIELD_NAME' ) → Der aktuelle Wert des Feldes ‚FIELD_NAME‘.

13.2.11. Unscharfer Vergleich Funktion

Diese Gruppe enthält Funktionen für unscharfe Vergleiche (Fuzzy) zwischen Werten.

13.2.11.1. hamming_distance

Gibt die Hamming-Distanz zwischen zwei Zeichenketten zurück. Dies entspricht der Anzahl der Zeichen an den entsprechenden Positionen in den Eingabezeichenketten, bei denen die Zeichen unterschiedlich sind. Die Eingabestrings müssen gleich lang sein, und beim Vergleich wird die Groß- und Kleinschreibung beachtet.

Syntax

hamming_distance(string1, string2)

Argumente

  • string1 - eine Zeichenkette

  • string2 - eine zweite Zeichenkette

Beispiele

  • hamming_distance('abc','xec') → 2

  • hamming_distance('abc','ABc') → 2

  • hamming_distance(upper('abc'),upper('ABC')) → 0

  • hamming_distance('abc','abcd') → NULL

13.2.11.2. levenshtein

Gibt die Levenshtein-Edit-Distanz zwischen zwei Zeichenketten zurück. Dies entspricht der Mindestanzahl von Zeichenänderungen (Einfügungen, Löschungen oder Ersetzungen), die erforderlich sind, um eine Zeichenkette in eine andere zu ändern.

Der Levenshtein-Abstand ist ein Maß für die Ähnlichkeit zwischen zwei Zeichenketten. Kleinere Abstände bedeuten, dass sich die Zeichenfolgen ähnlicher sind, und größere Abstände bedeuten, dass sich die Zeichenfolgen stärker unterscheiden. Der Abstand ist abhängig von der Groß- und Kleinschreibung.

Syntax

levenshtein(string1, string2)

Argumente

  • string1 - eine Zeichenkette

  • string2 - eine zweite Zeichenkette

Beispiele

  • levenshtein('kittens','mitten') → 2

  • levenshtein('Kitten','kitten') → 1

  • levenshtein(upper('Kitten'),upper('kitten')) → 0

13.2.11.3. longest_common_substring

Gibt die längste gemeinsame Teilzeichenkette zwischen zwei Zeichenketten zurück. Diese Teilzeichenkette ist die längste Zeichenkette, die eine Teilzeichenkette der beiden Eingabezeichenketten ist. Zum Beispiel ist die längste gemeinsame Teilzeichenkette von „ABABC“ und „BABCA“ „BABC“. Bei der Teilzeichenkette wird zwischen Groß- und Kleinschreibung unterschieden.

Syntax

longest_common_substring(string1, string2)

Argumente

  • string1 - eine Zeichenkette

  • string2 - eine zweite Zeichenkette

Beispiele

  • longest_common_substring('ABABC','BABCA') → ‚BABC‘

  • longest_common_substring('abcDeF','abcdef') → ‚abc‘

  • longest_common_substring(upper('abcDeF'),upper('abcdex')) → ‚ABCDE‘

13.2.11.4. soundex

Gibt die Soundex-Darstellung einer Zeichenkette zurück. Soundex ist ein phonetischer Zuordnungsalgorithmus, so dass Zeichenfolgen mit ähnlichen Klängen durch denselben Soundex-Code dargestellt werden sollten.

Syntax

soundex(string)

Argumente

  • string - eine Zeichenkette

Beispiele

  • soundex('robert') → ‚R163‘

  • soundex('rupert') → ‚R163‘

  • soundex('rubin') → ‚R150‘

13.2.12. Allgemeine Funktionen

Diese Gruppe enthält allgemeine Funktionen.

13.2.12.1. env

Ruft eine Umgebungsvariable ab und gibt ihren Inhalt als String zurück. Wenn die Variable nicht gefunden wird, wird NULL zurückgegeben. Dies ist praktisch, um systemspezifische Konfigurationen wie Laufwerksbuchstaben oder Pfadpräfixe einzubringen. Die Definition von Umgebungsvariablen hängt vom Betriebssystem ab. Bitte erkundigen Sie sich bei Ihrem Systemadministrator oder in der Dokumentation des Betriebssystems, wie dies eingestellt werden kann.

Syntax

env(name)

Argumente

  • name - Der Name der Umgebungsvariable, die abgerufen werden soll.

Beispiele

  • env( 'LANG' ) → ‚en_US.UTF-8‘

  • env( 'MY_OWN_PREFIX_VAR' ) → ‚Z:‘

  • env( 'I_DO_NOT_EXIST' ) → NULL

13.2.12.2. eval

Wertet einen Ausdruck aus, der in einer Zeichenkette übergeben wird. Nützlich zur Erweiterung dynamischer Parameter, die als Kontextvariablen oder Felder übergeben werden.

Syntax

eval(expression)

Argumente

  • expression - ein Ausdrucks-String

Beispiele

  • eval('\'nice\'') → ‚nice‘

  • eval(@expression_var) → [was auch immer das Ergebnis der Auswertung von @expression_var sein mag…]

13.2.12.3. eval_template

Wertet eine Vorlage aus, die in einer Zeichenkette übergeben wird. Nützlich zur Erweiterung dynamischer Parameter, die als Kontextvariablen oder Felder übergeben werden.

Syntax

eval_template(template)

Argumente

  • template - eine Zeichenkette als Vorlage

Beispiele

  • eval_template('QGIS [% upper(\'rocks\') %]') → QGIS ROCKS

13.2.12.4. is_layer_visible

Gibt TRUE zurück, wenn ein angegebener Layer sichtbar ist.

Syntax

is_layer_visible(layer)

Argumente

  • layer - eine Zeichenkette, die entweder einen Layernamen oder eine Layer-ID darstellt

Beispiele

  • is_layer_visible('baseraster') → TRUE

13.2.12.5. mime_type

Gibt den Mime-Typ der Binärdaten zurück.

Syntax

mime_type(bytes)

Argumente

  • bytes - die binären Daten

Beispiele

  • mime_type('<html><body></body></html>') → text/html

  • mime_type(from_base64('R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAIAOw==')) → image/gif

13.2.12.6. var

Gibt den in einer bestimmten Variablen gespeicherten Wert zurück.

Syntax

var(name)

Argumente

  • name - einen Variablennamen

Beispiele

  • var('qgis_version') → ‚2.12‘

Siehe auch: Liste der standardmäßigen Variablen

13.2.12.7. with_variable

Diese Funktion setzt eine Variable für jeden Ausdruckscode, der als drittes Argument angegeben wird. Dies ist nur für komplizierte Ausdrücke nützlich, bei denen derselbe berechnete Wert an verschiedenen Stellen verwendet werden muss.

Syntax

with_variable(name, value, expression)

Argumente

  • name - der Name der zu setzenden Variablen

  • value - der zu setzende Wert

  • expression - der Ausdruck, für den die Variable verfügbar sein wird

Beispiele

  • with_variable('my_sum', 1 + 2 + 3, @my_sum * 2 + @my_sum * 5) → 42

13.2.13. Geometriefunktionen

Diese Gruppe enthält Funktionen, die mit Geometrieobjekten arbeiten (z.B. buffer, transform, $area).

13.2.13.1. affine_transform

Gibt die Geometrie nach einer affinen Transformation zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie. Die Operationen werden in der Reihenfolge Skalierung, Rotation, Translation durchgeführt. Wenn es einen Z- oder M-Offset gibt, die Koordinate aber nicht in der Geometrie vorhanden ist, wird sie hinzugefügt.

Syntax

affine_transform(geometry, delta_x, delta_y, rotation_z, scale_x, scale_y, [delta_z=0], [delta_m=0], [scale_z=1], [scale_m=1])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • delta_x - x-Achsen Translation

  • delta_y - y-Achsen Translation

  • rotation_z - Drehung um die z-Achse in Grad gegen den Uhrzeigersinn

  • scale_x - Skalierungsfaktor der x-Achse

  • scale_y - Skalierungsfaktor der y-Achse

  • delta_z - z-Achsen Translation

  • delta_m - m-Achsen Translation

  • scale_z - Skalierungsfaktor der z-Achse

  • scale_m - Skalierungsfaktor der m-Achse

Beispiele

  • geom_to_wkt(affine_transform(geom_from_wkt('LINESTRING(1 1, 2 2)'), 2, 2, 0, 1, 1)) → ‚LineString (3 3, 4 4)‘

  • geom_to_wkt(affine_transform(geom_from_wkt('POLYGON((0 0, 0 3, 2 2, 0 0))'), 0, 0, -90, 1, 2)) → ‚Polygon ((0 0, 6 0, 4 -2, 0 0))‘

  • geom_to_wkt(affine_transform(geom_from_wkt('POINT(3 1)'), 0, 0, 0, 1, 1, 5, 0)) → ‚PointZ (3 1 5)‘

../../../_images/affinetransform.png

Abb. 13.4 Vektor-Punkt-Layer (grüne Punkte) vor (links) und nach (rechts) einer affinen Transformation (Translation).

13.2.13.2. angle_at_vertex

Gibt den Winkel der Winkelhalbierenden (durchschnittlicher Winkel) zur Geometrie für einen angegebenen Scheitelpunkt in einer Liniengeometrie zurück. Die Winkel sind in Grad im Uhrzeigersinn von Norden aus angegeben..

Syntax

angle_at_vertex(geometry, vertex)

Argumente

  • geometry - eine Linienstring-Geometrie

  • vertex - Knotenpunktindex, beginnend bei 0; wenn der Wert negativ ist, entspricht der ausgewählte Knotenpunktindex der Gesamtzahl abzüglich des absoluten Wertes

Beispiele

  • angle_at_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1) → 45.0

13.2.13.3. apply_dash_pattern

Wendet ein Strichmuster auf eine Geometrie an und gibt eine MultiLineString-Geometrie zurück, die die Eingabegeometrie ist, die entlang jeder Linie/jedes Rings mit dem angegebenen Muster gestrichen ist.

Syntax

apply_dash_pattern(geometry, pattern, [start_rule=no_rule], [end_rule=no_rule], [adjustment=both], [pattern_offset=0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie (akzeptiert (mehrere) Linienstrings oder (mehrere) Polygone).

  • pattern - Bindestrichmuster als Array von Zahlen, die die Länge von Bindestrichen und Lücken darstellen. Es muss eine gerade Anzahl von Elementen enthalten.

  • start_rule - optionale Regel zur Einschränkung des Beginns des Musters. Gültige Werte sind ‚no_rule‘, ‚full_dash‘, ‚half_dash‘, ‚full_gap‘, ‚half_gap‘.

  • end_rule - optionale Regel zur Einschränkung des Endes des Musters. Gültige Werte sind ‚no_rule‘, ‚full_dash‘, ‚half_dash‘, ‚full_gap‘, ‚half_gap‘.

  • adjustment - optionale Regel zur Angabe, welcher Teil von Mustern an die gewünschten Musterregeln angepasst wird. Gültige Werte sind ‚both‘, ‚dash‘, ‚gap‘.

  • pattern_offset - Optionaler Abstand, der einen bestimmten Abstand entlang des Musters angibt, mit dem begonnen werden soll.

Beispiele

  • geom_to_wkt(apply_dash_pattern(geom_from_wkt('LINESTRING(1 1, 10 1)'), array(3, 1))) → MultiLineString ((1 1, 4 1),(5 1, 8 1),(9 1, 10 1, 10 1))

  • geom_to_wkt(apply_dash_pattern(geom_from_wkt('LINESTRING(1 1, 10 1)'), array(3, 1), start_rule:='half_dash')) → MultiLineString ((1 1, 2.5 1),(3.5 1, 6.5 1),(7.5 1, 10 1, 10 1))

13.2.13.4. $area

Gibt die Fläche des aktuellen Objekts zurück. Die von dieser Funktion berechnete Fläche berücksichtigt sowohl die Ellipsoid- als auch die Flächeneinheit-Einstellungen des aktuellen Projekts. Wenn zum Beispiel ein Ellipsoid für das Projekt festgelegt wurde, ist die berechnete Fläche ellipsoidisch, und wenn kein Ellipsoid festgelegt wurde, ist die berechnete Fläche planimetrisch.

Syntax

$area

Beispiele

  • $area → 42

13.2.13.5. area

Gibt die Fläche eines Geometrie-Polygon-Objekts zurück. Die Berechnungen erfolgen immer planimetrisch im räumlichen Bezugssystem (SRS) dieser Geometrie, und die Einheiten der zurückgegebenen Fläche entsprechen den Einheiten für das SRS. Dies unterscheidet sich von den Berechnungen, die von der Funktion $area durchgeführt werden, die ellipsoidische Berechnungen auf der Grundlage der Einstellungen für Ellipsoid und Flächeneinheit des Projekts vornimmt.

Syntax

area(geometry)

Argumente

  • geometry - Polygon-Geometrie-Objekt

Beispiele

  • area(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))')) → 8.0

13.2.13.6. azimuth

Liefert den Azimut nach Norden als Winkel in Bogenmaß, gemessen im Uhrzeigersinn von der Senkrechten auf Punkt_a bis Punkt_b.

Syntax

azimuth(point_a, point_b)

Argumente

  • point_a - Punktgeometrie

  • point_b - Punktgeometrie

Beispiele

  • degrees( azimuth( make_point(25, 45), make_point(75, 100) ) ) → 42.273689

  • degrees( azimuth( make_point(75, 100), make_point(25,45) ) ) → 222.273689

13.2.13.7. bearing

Gibt die nördliche Peilung als Winkel im Bogenmaß zurück, gemessen im Uhrzeigersinn auf dem Ellipsoid von der Senkrechten auf Punkt_a bis Punkt_b.

Syntax

bearing(point_a, point_b, [source_crs], [ellipsoid])

[] kennzeichnet optionale Argumente

Argumente

  • point_a - Punktgeometrie

  • point_b - Punktgeometrie

  • source_crs - eine optionale Zeichenkette, die das Quell-KBS der Punkte angibt. Standardmäßig wird das KBS des aktuellen Layers verwendet.

  • ellipsoid - eine optionale Zeichenfolge, die das Akronym oder die authority:ID (z. B. ‚EPSG:7030‘) des Ellipsoids angibt, auf dem die Peilung gemessen werden soll. Standardmäßig wird die Ellipsoid-Einstellung des aktuellen Projekts verwendet.

Beispiele

  • degrees( bearing( make_point(16198544, -4534850), make_point(18736872, -1877769), 'EPSG:3857', 'EPSG:7030') ) → 49.980071

  • degrees( bearing( make_point(18736872, -1877769), make_point(16198544, -4534850), 'EPSG:3857', 'WGS84') ) → 219.282386

13.2.13.8. boundary

Gibt die Schließung der kombinatorischen Begrenzung der Geometrie zurück (d. h. die topologische Begrenzung der Geometrie). Zum Beispiel hat eine Polygongeometrie eine Begrenzung, die aus den Liniensträngen für jeden Ring im Polygon besteht. Einige Geometrietypen haben keine definierte Begrenzung, z. B. Punkte oder Geometriesammlungen, und geben NULL zurück.

Syntax

boundary(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt(boundary(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))'))) → ‚LineString(1 1,0 0,-1 1,1 1)‘

  • geom_to_wkt(boundary(geom_from_wkt('LineString(1 1,0 0,-1 1)'))) → ‚MultiPoint ((1 1),(-1 1))‘

../../../_images/boundary_polygon.png

Abb. 13.5 Grenze (schwarze gestrichelte Linie) des Quell-Polygon-Layers

Siehe auch: Boundary-Algorithmus

13.2.13.9. bounds

Gibt eine Geometrie zurück, die den Begrenzungsrahmen einer Eingabegeometrie darstellt. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

bounds(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • bounds(@geometry) → Begrenzungsrahmen der Geometrie des aktuellen Objekts

  • geom_to_wkt(bounds(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))'))) → ‚Polygon ((-1 0, 1 0, 1 1, -1 1, -1 0))‘

../../../_images/bounding_box.png

Abb. 13.6 Schwarze Linien stellen die Begrenzungslinien der einzelnen Polygonobjekte dar

Siehe auch: Bounding boxes-Algorithmus

13.2.13.10. bounds_height

Gibt die Höhe des Begrenzungsrahmens einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

bounds_height(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • bounds_height(@geometry) → Höhe des Begrenzungsrahmens der Geometrie des aktuellen Objekts

  • bounds_height(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')) → 1

13.2.13.11. bounds_width

Gibt die Breite des Begrenzungsrahmens einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

bounds_width(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • bounds_width(@geometry) → Breite des Begrenzungsrahmens der Geometrie des aktuellen Objekts

  • bounds_width(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')) → 2

13.2.13.12. buffer

Gibt eine Geometrie zurück, die alle Punkte repräsentiert, deren Abstand zu dieser Geometrie kleiner oder gleich dem Abstand ist. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

buffer(geometry, distance, [segments=8], [cap=‘round‘], [join=‘round‘], [miter_limit=2])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • distance - Pufferabstand in Layer-Einheiten

  • segments - Anzahl der Segmente, die zur Darstellung eines Viertelkreises verwendet werden, wenn ein runder Verbindungsstil verwendet wird. Eine größere Anzahl führt zu einem glatteren Puffer mit mehr Knotenpunkten.

  • cap - Endkappenstil für Puffer. Gültige Werte sind ‚round‘, ‚flat‘ oder ‚square‘

  • join - Verbindungsstil für Puffer. Gültige Werte sind ‚round‘, ‚bevel‘ oder ‚miter‘.

  • miter_limit - Grenzwert für den Gehrungsabstand, wenn der Verbindungsstil auf ‚‘Miter‘‘ eingestellt ist

Beispiele

  • buffer(@geometry, 10.5) → Polygon der Geometrie des aktuellen Objekts, gepuffert um 10,5 Einheiten

../../../_images/buffer1.png

Abb. 13.7 Puffer (in gelb) von Punkten, Linie, Polygon mit positivem Puffer und Polygon mit negativem Puffer

Siehe auch: Puffer-Algorithmus

13.2.13.13. buffer_by_m

Erzeugt einen Puffer entlang einer Liniengeometrie, wobei der Pufferdurchmesser entsprechend den m-Werten an den Knotenpunkten der Linie variiert.

Syntax

buffer_by_m(geometry, [segments=8])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - Eingabegeometrie. Muss eine ((Multi-)Liniengeometrie mit m Werten sein.

  • segments - Anzahl der Segmente zur Annäherung von Viertelkreiskurven im Puffer.

Beispiele

  • buffer_by_m(geometry:=geom_from_wkt('LINESTRINGM(1 2 0.5, 4 2 0.2)'),segments:=8) → Ein Puffer mit variabler Breite, beginnend mit einem Durchmesser von 0,5 und endend mit einem Durchmesser von 0,2 entlang der Liniengeometrie.

../../../_images/variable_buffer_m.png

Abb. 13.8 Pufferung von Linienobjekten unter Verwendung des m-Wertes an den Knotenpunkten

Siehe auch: Variable width buffer (by M value)-Algorithmus

13.2.13.14. centroid

Gibt den geometrischen Mittelpunkt einer Geometrie zurück.

Syntax

centroid(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • centroid(@geometry) → eine Punktgeometrie

../../../_images/centroids1.png

Abb. 13.9 Die roten Sterne stellen die Zentren der Objekte des Input Layers dar.

Siehe auch: Centroids Algorithmus

13.2.13.15. close_line

Gibt einen geschlossenen Linien-String des eingegebenen Linien-String zurück, indem der erste Punkt an das Ende der Linie angehängt wird, sofern sie nicht bereits geschlossen ist. Handelt es sich bei der Geometrie nicht um einen Linien-String oder einen Multi-Linien-String, ist das Ergebnis NULL.

Syntax

close_line(geometry)

Argumente

  • geometry - eine Linien-String-Geometrie

Beispiele

  • geom_to_wkt(close_line(geom_from_wkt('LINESTRING(0 0, 1 0, 1 1)'))) → ‚LineString (0 0, 1 0, 1 1, 0 0)‘

  • geom_to_wkt(close_line(geom_from_wkt('LINESTRING(0 0, 1 0, 1 1, 0 0)'))) → ‚LineString (0 0, 1 0, 1 1, 0 0)‘

13.2.13.16. closest_point

Gibt den Punkt von geometry1 zurück, der geometry2 am nächsten ist.

Syntax

closest_point(geometry1, geometry2)

Argumente

  • geometry1 - Geometrie, in welcher der nächstgelegene Punkt gesucht werden soll

  • geometry2 - Geometrie, zu welcher der nächstgelegene Punkt gefunden werden soll

Beispiele

  • geom_to_wkt(closest_point(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)'))) → ‚Point(73.0769 115.384)‘

13.2.13.17. collect_geometries

Sammelt eine Reihe von Geometrien in einem mehrteiligen Geometrieobjekt.

Liste von Argumenten Variante

Geometrieteile werden als separate Argumente für die Funktion angegeben.

Syntax

collect_geometries(geometry1, geometry2, …)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt(collect_geometries(make_point(1,2), make_point(3,4), make_point(5,6))) → ‚MultiPoint ((1 2),(3 4),(5 6))‘

Array-Variante

Geometrieteile werden als ein Array von Geometrieteilen angegeben.

Syntax

collect_geometries(array)

Argumente

  • array - ein Array von Geometrieobjekten

Beispiele

  • geom_to_wkt(collect_geometries(array(make_point(1,2), make_point(3,4), make_point(5,6)))) → ‚MultiPoint ((1 2),(3 4),(5 6))‘

Siehe auch: Collect geometries-Algorithmus

13.2.13.18. combine

Gibt die Kombination von zwei Geometrien zurück.

Syntax

combine(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 2 1)' ) ) ) → ‚MULTILINESTRING((4 4, 2 1), (3 3, 4 4), (4 4, 5 5))‘

  • geom_to_wkt( combine( geom_from_wkt( 'LINESTRING(3 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 6 6, 2 1)' ) ) ) → ‚LINESTRING(3 3, 4 4, 6 6, 2 1)‘

13.2.13.19. concave_hull

Gibt ein möglichst konkaves Polygon zurück, das alle Punkte der Geometrie enthält

Syntax

concave_hull(geometry, target_percent, [allow_holes=False])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • target_percent - der prozentuale Anteil der Fläche der konvexen Hülle, dem sich die Lösung anzunähern versucht. Ein target_percent von 1 ergibt das gleiche Ergebnis wie die konvexe Hülle. Ein target_percent zwischen 0 und 0,99 ergibt ein Ergebnis, das eine kleinere Fläche als die konvexe Hülle haben sollte.

  • allow_holes - optionales Argument, das angibt, ob Löcher in der Ausgabegeometrie zulässig sind. Der Standardwert ist FALSE, setzen Sie ihn auf TRUE, um Löcher in der Ausgabegeometrie zu vermeiden.

Beispiele

  • geom_to_wkt(concave_hull(geom_from_wkt('MULTILINESTRING((106 164,30 112,74 70,82 112,130 94,130 62,122 40,156 32,162 76,172 88),(132 178,134 148,128 136,96 128,132 108,150 130,170 142,174 110,156 96,158 90,158 88),(22 64,66 28,94 38,94 68,114 76,112 30,132 10,168 18,178 34,186 52,184 74,190 100,190 122,182 148,178 170,176 184,156 164,146 178,132 186,92 182,56 158,36 150,62 150,76 128,88 118))'), 0.99)) → ‚Polygon ((30 112, 36 150, 92 182, 132 186, 176 184, 190 122, 190 100, 186 52, 178 34, 168 18, 132 10, 112 30, 66 28, 22 64, 30 112))‘

../../../_images/concave_hull_threshold.png

Konkave Hüllen mit steigendem target_percent-Parameter

Siehe auch: convex_hull, Concave hull Algorithmus

13.2.13.20. contains

Prüft, ob eine Geometrie eine andere enthält. Gibt TRUE zurück, wenn keine Punkte von Geometrie2 im Äußeren von Geometrie1 liegen und mindestens ein Punkt des Inneren von Geometrie2 im Inneren von Geometrie1 liegt.

Syntax

contains(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) ) → TRUE

  • contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → FALSE

Siehe auch: overlay_contains-Algorithmus

13.2.13.21. convex_hull

Gibt die konvexe Hülle einer Geometrie zurück. Diese stellt die minimale konvexe Geometrie dar, die alle Geometrien innerhalb der Menge umschließt.

Syntax

convex_hull(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt( convex_hull( geom_from_wkt( 'LINESTRING(3 3, 4 4, 4 10)' ) ) ) → ‚POLYGON((3 3, 4 10, 4 4, 3 3))‘

../../../_images/convex_hull.png

Schwarze Linien kennzeichnen die konvexe Hülle für jedes Objekt

Siehe auch: concave_hull, Convex hull

13.2.13.22. crosses

Prüft, ob eine Geometrie eine andere kreuzt. Gibt TRUE zurück, wenn die angegebenen Geometrien einige, aber nicht alle inneren Punkte gemeinsam haben.

Syntax

crosses(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • crosses( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • crosses( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → FALSE

Siehe auch: overlay_crosses

13.2.13.23. densify_by_count

Nimmt eine Polygon- oder Linien-Layer-Geometrie und erzeugt eine neue, bei der die Geometrien eine größere Anzahl von Knotenpunkten haben als die ursprüngliche.

Syntax

densify_by_count(geometry, vertices)

Argumente

  • geometry - eine Geometrie (akzeptiert (mehrere) Linienstrings oder (mehrere) Polygone).

  • vertices - Anzahl der hinzuzufügenden Knotenpunkte (pro Segment)

Beispiele

  • geom_to_wkt(densify_by_count(geom_from_wkt('LINESTRING(1 1, 10 1)'), 3)) → LineString (1 1, 3.25 1, 5.5 1, 7.75 1, 10 1)

../../../_images/densify_geometry.png

Rote Punkte zeigen die Knotenpunkte vor und nach der Verdichtung

Siehe auch: Densify by count-Algorithmus

13.2.13.24. densify_by_distance

Nimmt eine Polygon- oder Linien-Layer-Geometrie und erzeugt eine neue, in der die Geometrien verdichtet werden, indem zusätzliche Knotenpunkte an Kanten hinzugefügt werden, die einen maximalen Abstand des angegebenen Intervalls haben.

Syntax

densify_by_distance(geometry, distance)

Argumente

  • geometry - eine Geometrie (akzeptiert (mehrere) Linienstrings oder (mehrere) Polygone).

  • distance - maximaler Abstand zwischen Knotenpunkten in der Ausgangsgeometrie

Beispiele

  • geom_to_wkt(densify_by_distance(geom_from_wkt('LINESTRING(1 1, 10 1)'), 4)) → LineString (1 1, 4 1, 7 1, 10 1)

../../../_images/densify_geometry_interval.png

Verdichtung der Geometrie in einem bestimmten Intervall

Siehe auch: Densify by interval-Algorithmus

13.2.13.25. difference

Gibt eine Geometrie zurück, die den Teil von geometry1 darstellt, der sich nicht mit geometry2 schneidet.

Syntax

difference(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • geom_to_wkt( difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) ) → ‚LINESTRING(4 4, 5 5)‘

Siehe auch: Difference-Algorithmus

13.2.13.26. disjoint

Prüft, ob sich die Geometrien nicht räumlich überschneiden. Gibt TRUE zurück, wenn die Geometrien keinen Raum miteinander teilen.

Syntax

disjoint(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • disjoint( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • disjoint( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'POINT(4 4)' )) → FALSE

Siehe auch: overlay_disjoint

13.2.13.27. distance

Gibt den Mindestabstand (basierend auf dem Raumbezug) zwischen zwei Geometrien in projizierten Einheiten zurück.

Syntax

distance(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) ) → 4

13.2.13.28. distance_to_vertex

Gibt den Abstand entlang der Geometrie zu einem angegebenen Knotenpunkt zurück.

Syntax

distance_to_vertex(geometry, vertex)

Argumente

  • geometry - eine Linienstring-Geometrie

  • vertex - Knotenpunktindex, beginnend bei 0; wenn der Wert negativ ist, entspricht der ausgewählte Knotenpunktindex der Gesamtzahl abzüglich des absoluten Wertes

Beispiele

  • distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1) → 10.0

13.2.13.29. end_point

Gibt den letzten Knotenpunkt einer Geometrie zurück.

Syntax

end_point(geometry)

Argumente

  • geometry - Geometrie-Objekt

Beispiele

  • geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)'))) → ‚Point (0 2)‘

../../../_images/end_point.png

Endpunkt eines Linienobjekts

Siehe auch: start_point, Extract specific vertices-Algorithmen

13.2.13.30. exif_geotag

Erzeugt eine Punktgeometrie aus den Exif-Geotags einer Bilddatei.

Syntax

exif_geotag(path)

Argumente

  • path - Pfad einer Bilddatei oder ein Karten-Layer. Wird ein Karten-Layer angegeben, wird die Dateiquelle des Layers verwendet.

Beispiele

  • geom_to_wkt(exif_geotag('/my/photo.jpg')) → ‚Point (2 4)‘

13.2.13.31. extend

Verlängert den Anfang und das Ende einer Liniengeometrie um einen bestimmten Betrag. Linien werden anhand der Richtung des ersten und letzten Segments der Linie verlängert. Bei einer Multi-Linie werden alle Teile verlängert. Die Abstände werden im räumlichen Bezugssystem dieser Geometrie angegeben.

Syntax

extend(geometry, start_distance, end_distance)

Argumente

  • geometry - eine (Multi-)Linien-Geometrie

  • start_distance - Entfernung, um den Anfang der Linie zu verlängern

  • end_distance - Entfernung, um das Ende der Linie zu verlängern.

Beispiele

  • geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2)) → ‚LineString (-1 0, 1 0, 1 3)‘

  • geom_to_wkt(extend(geom_from_wkt('MultiLineString((0 0, 1 0, 1 1), (2 2, 0 2, 0 5))'),1,2)) → ‚MultiLineString ((-1 0, 1 0, 1 3),(3 2, 0 2, 0 7))‘

../../../_images/extend_lines.png

Die roten Striche stellen die Verlängerung der ursprünglichen Geometrie dar

Siehe auch: Extend lines-Algorithmus

13.2.13.32. exterior_ring

Gibt eine Zeichenkette zurück, die den äußeren Ring einer Polygongeometrie darstellt. Wenn die Geometrie kein Polygon ist, ist das Ergebnis NULL.

Syntax

exterior_ring(geometry)

Argumente

  • geometry - eine Polygon-Geometrie

Beispiele

  • geom_to_wkt(exterior_ring(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2, 0.1, 0.1 0.1))'))) → ‚LineString (-1 -1, 4 0, 4 2, 0 2, -1 -1)‘

../../../_images/exterior_ring.png

Die gestrichelte Linie stellt den äußeren Ring des Polygons dar

13.2.13.33. extrude

Gibt eine extrudierte Version der eingegebenen (Multi-)Kurven- oder (Multi-)Liniengeometrie mit einer durch x und y angegebenen Erweiterung zurück.

Syntax

extrude(geometry, x, y)

Argumente

  • geometry - eine Kurve oder eine Linien-Geometrie

  • x - x Erweiterung, numerischer Wert

  • y - y Erweiterung, numerischer Wert

Beispiele

  • geom_to_wkt(extrude(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), 1, 2)) → ‚Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))‘

  • geom_to_wkt(extrude(geom_from_wkt('MultiLineString((1 2, 3 2), (4 3, 8 3))'), 1, 2)) → ‚MultiPolygon (((1 2, 3 2, 4 4, 2 4, 1 2)),((4 3, 8 3, 9 5, 5 5, 4 3)))‘

../../../_images/extrude.png

Erzeugen eines Polygons durch Extrudieren einer Linie mit Versatz in x- und y-Richtung

13.2.13.34. flip_coordinates

Gibt eine Kopie der Geometrie zurück, bei der die x- und y-Koordinaten vertauscht sind. Nützlich für die Reparatur von Geometrien, deren Breiten- und Längengradwerte vertauscht wurden.

Syntax

flip_coordinates(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt(flip_coordinates(make_point(1, 2))) → ‚Point (2 1)‘

  • geom_to_wkt(flip_coordinates(geom_from_wkt('LineString(0 2, 1 0, 1 6)'))) → ‚LineString (2 0, 0 1, 6 1)‘

Siehe auch: Swap X and Y coordinates-Algorithmus

13.2.13.35. force_polygon_ccw

Erzwingt die Einhaltung der Konvention, dass äußere Ringe gegen den Uhrzeigersinn und innere Ringe im Uhrzeigersinn sind.

Syntax

force_polygon_ccw(geometry)

Argumente

  • geometry - eine Geometrie. Alle Nicht-Polygon-Geometrien werden unverändert zurückgegeben.

Beispiele

  • geom_to_wkt(force_polygon_ccw(geometry:=geom_from_wkt('Polygon ((-1 -1, 0 2, 4 2, 4 0, -1 -1))'))) → ‚Polygon ((-1 -1, 4 0, 4 2, 0 2, -1 -1))‘

Siehe auch: force_polygon_cw, force_rhr

13.2.13.36. force_polygon_cw

Erzwingt die Einhaltung der Konvention, dass äußere Ringe im Uhrzeigersinn und innere Ringe gegen den Uhrzeigersinn verlaufen.

Syntax

force_polygon_cw(geometry)

Argumente

  • geometry - eine Geometrie. Alle Nicht-Polygon-Geometrien werden unverändert zurückgegeben.

Beispiele

  • geom_to_wkt(force_polygon_cw(geometry:=geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'))) → ‚Polygon ((-1 -1, 0 2, 4 2, 4 0, -1 -1))‘

Siehe auch: force_polygon_ccw, force_rhr

13.2.13.37. force_rhr

Erzwingt, dass eine Geometrie die Rechts-Hand-Regel einhält, bei der die von einem Polygon begrenzte Fläche rechts von der Begrenzung liegt. Insbesondere ist der äußere Ring im Uhrzeigersinn und die inneren Ringe gegen den Uhrzeigersinn ausgerichtet. Aufgrund der Inkonsistenz in der Definition der Rechts-Hand-Regel in einigen Zusammenhängen wird empfohlen, stattdessen die explizite Funktion force_polygon_cw zu verwenden.

Syntax

force_rhr(geometry)

Argumente

  • geometry - eine Geometrie. Alle Nicht-Polygon-Geometrien werden unverändert zurückgegeben.

Beispiele

  • geom_to_wkt(force_rhr(geometry:=geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'))) → ‚Polygon ((-1 -1, 0 2, 4 2, 4 0, -1 -1))‘

Siehe auch: Force right-hand-rule algorithm, force_polygon_ccw, force_polygon_cw

13.2.13.38. geom_from_gml

Liefert eine Geometrie aus einer GML-Darstellung der Geometrie.

Syntax

geom_from_gml(gml)

Argumente

  • gml - GML-Darstellung einer Geometrie als String

Beispiele

  • geom_from_gml('<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>') → ein linienförmiges Geometrieobjekt

13.2.13.39. geom_from_wkb

Gibt eine Geometrie zurück, die aus einer Well-Known Binary (WKB) Darstellung erstellt wurde.

Syntax

geom_from_wkb(binary)

Argumente

  • binary - Well-Known Binary (WKB) Darstellung einer Geometrie (als binärer Blob)

Beispiele

  • geom_from_wkb( geom_to_wkb( make_point(4,5) ) ) → ein punktförmiges Geometrieobjekt

13.2.13.40. geom_from_wkt

Gibt eine Geometrie zurück, die aus einer Well-Known Text (WKT)-Darstellung erstellt wurde.

Syntax

geom_from_wkt(text)

Argumente

  • text - Well-Known Text (WKT) Darstellung einer Geometrie

Beispiele

  • geom_from_wkt( 'POINT(4 5)' ) → ein Geometrieobjekt

13.2.13.41. geom_to_wkb

Gibt die Well-Known Binary (WKB) Darstellung einer Geometrie zurück

Syntax

geom_to_wkb(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkb( @geometry ) → binärer Blob, der ein Geometrieobjekt enthält

13.2.13.42. geom_to_wkt

Gibt die Well-Known Text (WKT)-Darstellung der Geometrie ohne SRID-Metadaten zurück.

Syntax

geom_to_wkt(geometry, [precision=8])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • precision - numerische Genauigkeit

Beispiele

  • geom_to_wkt( make_point(6, 50) ) → ‚POINT(6 50)‘

  • geom_to_wkt(centroid(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))'))) → ‚POINT(0 0.66666667)‘

  • geom_to_wkt(centroid(geom_from_wkt('Polygon((1 1, 0 0, -1 1, 1 1))')), 2) → ‚POINT(0 0.67)‘

13.2.13.43. $geometry

Gibt die Geometrie des aktuellen Objekts zurück. Kann für die Verarbeitung mit anderen Funktionen verwendet werden. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen @geometry zu verwenden.

Syntax

$geometry

Beispiele

  • geom_to_wkt( $geometry ) → ‚POINT(6 50)‘

13.2.13.44. geometry

Gibt die Geometrie eines Objekts zurück.

Syntax

geometry(feature)

Argumente

  • feature - ein Objekt

Beispiele

  • geometry( @feature ) → die Geometrie des aktuellen Objekts. Bevorzugen Sie die Verwendung von @geometry.

  • geom_to_wkt( geometry( get_feature_by_id( 'streets', 1 ) ) ) → die Geometrie in WKT des Objekts mit der id 1 im Layer „streets“, z. B. ‚POINT(6 50)‘

  • intersects( @geometry, geometry( get_feature( 'streets', 'name', 'Main St.' ) ) ) → TRUE, wenn das aktuelle Objekt das mit ‚Main St.‘ benannte Objekt im Layer ‚streets‘ räumlich schneidet

13.2.13.45. geometry_n

Gibt eine bestimmte Geometrie aus einer Geometriesammlung zurück, oder NULL, wenn die Eingabegeometrie keine Sammlung ist. Gibt auch einen Teil aus einer mehrteiligen Geometrie zurück.

Syntax

geometry_n(geometry, index)

Argumente

  • geometry - Geometrie-Sammlung

  • index - Index der zurückzugebenden Geometrie, wobei 1 die erste Geometrie in der Sammlung ist

Beispiele

  • geom_to_wkt(geometry_n(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))'),3)) → ‚Point (1 0)‘

13.2.13.46. geometry_type

Gibt einen String-Wert zurück, der den Typ einer Geometrie beschreibt (Punkt, Linie oder Polygon)

Syntax

geometry_type(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geometry_type( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → ‚Line‘

  • geometry_type( geom_from_wkt( 'MULTILINESTRING((2 5, 3 6, 4 8), (1 1, 0 0))') ) → ‚Line‘

  • geometry_type( geom_from_wkt( 'POINT(2 5)') ) → ‚Point‘

  • geometry_type( geom_from_wkt( 'POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))') ) → ‚Polygon‘

13.2.13.47. hausdorff_distance

Gibt den Hausdorff-Abstand zwischen zwei Geometrien zurück. Dies ist ein Maß dafür, wie ähnlich oder unähnlich zwei Geometrien sind, wobei ein geringerer Abstand auf ähnlichere Geometrien hinweist.

Die Funktion kann mit dem optionalen Argument densify fraction ausgeführt werden. Wird es nicht angegeben, wird eine Annäherung an den Standard-Hausdorff-Abstand verwendet. Diese Annäherung ist für eine große Teilmenge nützlicher Fälle exakt oder nahe genug. Beispiele für diese Fälle sind:

  • Berechnung des Abstands zwischen Linestrings, die ungefähr parallel zueinander verlaufen und ungefähr gleich lang sind. Dies ist der Fall bei zusammenpassenden, linearen Netzen.

  • Prüfen der Ähnlichkeit von Geometrien.

Wenn die von dieser Methode bereitgestellte Standardannäherung unzureichend ist, geben Sie das optionale Argument densify fraction an. Durch die Angabe dieses Arguments wird eine Segmentverdichtung durchgeführt, bevor der diskrete Hausdorff-Abstand berechnet wird. Der Parameter legt den Bruchteil fest, um den jedes Segment verdichtet werden soll. Jedes Segment wird in eine Anzahl von Untersegmenten gleicher Länge aufgeteilt, deren Anteil an der Gesamtlänge dem angegebenen Anteil am nächsten kommt. Eine Verringerung des Parameters für den Verdichtungsanteil führt dazu, dass sich der zurückgegebene Abstand dem wahren Hausdorff-Abstand für die Geometrien annähert.

Syntax

hausdorff_distance(geometry1, geometry2, [densify_fraction])

[] kennzeichnet optionale Argumente

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

  • densify_fraction - densify-fraction-Anteil

Beispiele

  • hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)')) → 2

  • hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)')) → 14.142135623

  • hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'),0.5) → 70.0

13.2.13.48. inclination

Liefert die Neigung gemessen vom Zenit (0) zum Fußpunkt (180) von point_a zu point_b.

Syntax

inclination(point_a, point_b)

Argumente

  • point_a - Punktgeometrie

  • point_b - Punktgeometrie

Beispiele

  • inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 5 ) ) → 0.0

  • inclination( make_point( 5, 10, 0 ), make_point( 5, 10, 0 ) ) → 90.0

  • inclination( make_point( 5, 10, 0 ), make_point( 50, 100, 0 ) ) → 90.0

  • inclination( make_point( 5, 10, 0 ), make_point( 5, 10, -5 ) ) → 180.0

13.2.13.49. interior_ring_n

Gibt einen bestimmten Innenring einer Polygongeometrie zurück, oder NULL, wenn die Geometrie kein Polygon ist.

Syntax

interior_ring_n(geometry, index)

Argumente

  • geometry - Polygon-Geometrie

  • index - Index des zurückzugebenden Innenrings, wobei 1 der erste Innenring ist

Beispiele

  • geom_to_wkt(interior_ring_n(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1),(-1 -1, 4 0, 4 2, 0 2, -1 -1))'),1)) → ‚LineString (-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))‘

13.2.13.50. intersection

Gibt eine Geometrie zurück, die den gemeinsamen Teil von zwei Geometrien darstellt.

Syntax

intersection(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4)' ) ) ) → ‚LINESTRING(3 3, 4 4)‘

  • geom_to_wkt( intersection( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'MULTIPOINT(3.5 3.5, 4 5)' ) ) ) → ‚POINT(3.5 3.5)‘

Siehe auch: Intersection-Algorithmus

13.2.13.51. intersects

Prüft, ob sich eine Geometrie mit einer anderen schneidet. Gibt TRUE zurück, wenn sich die Geometrien räumlich überschneiden (einen beliebigen Bereich des Raums teilen), und FALSE, wenn sie das nicht tun.

Syntax

intersects(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • intersects( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • intersects( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'POINT(5 5)' ) ) → FALSE

Siehe auch: overlay_intersects

13.2.13.52. intersects_bbox

Prüft, ob sich der Begrenzungsrahmen einer Geometrie mit dem Begrenzungsrahmen einer anderen Geometrie überschneidet. Gibt TRUE zurück, wenn die Geometrien das definierte Begrenzungsrechteck räumlich schneiden, und FALSE, wenn sie es nicht tun.

Syntax

intersects_bbox(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • intersects_bbox( geom_from_wkt( 'POINT(4 5)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • intersects_bbox( geom_from_wkt( 'POINT(6 5)' ), geom_from_wkt( 'POLYGON((3 3, 4 4, 5 5, 3 3))' ) ) → FALSE

13.2.13.53. is_closed

Gibt TRUE zurück, wenn eine Linienkette geschlossen ist (Anfangs- und Endpunkt sind deckungsgleich), oder FALSE, wenn eine Linienkette nicht geschlossen ist. Wenn die Geometrie keine Linienkette ist, ist das Ergebnis NULL.

Syntax

is_closed(geometry)

Argumente

  • geometry - eine Linien-String-Geometrie

Beispiele

  • is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')) → FALSE

  • is_closed(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)')) → TRUE

13.2.13.54. is_empty

Gibt TRUE zurück, wenn eine Geometrie leer ist (ohne Koordinaten), false, wenn die Geometrie nicht leer ist und NULL, wenn es keine Geometrie gibt.

Syntax

is_empty(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • is_empty(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')) → FALSE

  • is_empty(geom_from_wkt('LINESTRING EMPTY')) → TRUE

  • is_empty(geom_from_wkt('POINT(7 4)')) → FALSE

  • is_empty(geom_from_wkt('POINT EMPTY')) → TRUE

Siehe auch: is_empty_or_null

13.2.13.55. is_empty_or_null

Gibt TRUE zurück, wenn eine Geometrie NULL oder leer (ohne Koordinaten) ist, ansonsten FALSE. Diese Funktion entspricht dem Ausdruck @geometry IS NULL or is_empty(@geometry)‘.

Syntax

is_empty_or_null(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • is_empty_or_null(NULL) → TRUE

  • is_empty_or_null(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)')) → FALSE

  • is_empty_or_null(geom_from_wkt('LINESTRING EMPTY')) → TRUE

  • is_empty_or_null(geom_from_wkt('POINT(7 4)')) → FALSE

  • is_empty_or_null(geom_from_wkt('POINT EMPTY')) → TRUE

Siehe auch: is_empty, NULL

13.2.13.56. is_multipart

Gibt TRUE zurück, wenn die Geometrie vom Typ Multi ist.

Syntax

is_multipart(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • is_multipart(geom_from_wkt('MULTIPOINT ((0 0),(1 1),(2 2))')) → TRUE

  • is_multipart(geom_from_wkt('POINT (0 0)')) → FALSE

13.2.13.57. is_valid

Gibt TRUE zurück, wenn eine Geometrie gültig ist; wenn sie gemäß den OGC-Regeln wohlgeformt in 2D ist.

Syntax

is_valid(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • is_valid(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)')) → TRUE

  • is_valid(geom_from_wkt('LINESTRING(0 0)')) → FALSE

Siehe auch: make_valid, Check validity-Algorithmus

13.2.13.58. $length

Gibt die Länge eines Linienstrangs zurück. Wenn Sie die Länge des Randes eines Polygons benötigen, verwenden Sie stattdessen $perimeter. Die von dieser Funktion berechnete Länge berücksichtigt sowohl die Ellipsoid- als auch die Entfernungseinheit-Einstellungen des aktuellen Projekts. Wenn zum Beispiel ein Ellipsoid für das Projekt eingestellt wurde, dann wird die berechnete Länge ellipsoidisch sein, und wenn kein Ellipsoid eingestellt ist, dann wird die berechnete Länge planimetrisch sein.

Syntax

$length

Beispiele

  • $length → 42.4711

13.2.13.59. length

Gibt die Anzahl der Zeichen in einer Zeichenkette oder die Länge eines geometrischen Linienstring zurück.

Zeichenketten-Variante

Gibt die Anzahl der Zeichen in einer Zeichenkette zurück.

Syntax

length(string)

Argumente

  • string - Zeichenkette, von welcher die Länge gezählt werden soll

Beispiele

  • length('hello') → 5

Geometrie-Variante

Berechnet die Länge eines geometrischen Linienobjekts. Die Berechnungen erfolgen immer planimetrisch im räumlichen Bezugssystem (SRS) dieser Geometrie, und die Einheiten der zurückgegebenen Länge entsprechen den Einheiten für das SRS. Dies unterscheidet sich von den Berechnungen, die von der Funktion $length durchgeführt werden, die ellipsoidische Berechnungen basierend auf den Einstellungen für Ellipsoid und Entfernungseinheiten des Projekts vornimmt.

Syntax

length(geometry)

Argumente

  • geometry - Liniengeometrie-Objekt

Beispiele

  • length(geom_from_wkt('LINESTRING(0 0, 4 0)')) → 4.0

Siehe auch: straight_distance_2d

13.2.13.60. length3D

Berechnet die 3D-Länge eines geometrischen Linienobjekts. Wenn die Geometrie kein 3D-Linienobjekt ist, wird ihre 2D-Länge zurückgegeben. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem (SRS) dieser Geometrie, und die Einheiten der zurückgegebenen Länge entsprechen den Einheiten für das SRS. Dies unterscheidet sich von den Berechnungen, die von der Funktion $length durchgeführt werden, die ellipsoidische Berechnungen auf der Grundlage der Einstellungen für Ellipsoid und Entfernungseinheit des Projekts vornimmt.

Syntax

length3D(geometry)

Argumente

  • geometry - Liniengeometrie-Objekt

Beispiele

  • length3D(geom_from_wkt('LINESTRINGZ(0 0 0, 3 0 4)')) → 5.0

13.2.13.61. line_interpolate_angle

Liefert den Winkel parallel zu einer Liniengeometrie für eine vorgebenen Strecke entlang der Linie. Die Winkelangabe erfolgt in Grad im Uhrzeigersinn von Nord ausgehend.

Syntax

line_interpolate_angle(geometry, distance)

Argumente

  • geometry - eine Linienstring-Geometrie

  • distance - Abstand entlang der Linie zur Interpolation des Winkels

Beispiele

  • line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5) → 90.0

13.2.13.62. line_interpolate_point

Gibt den Punkt zurück, der in einen bestimmten Abstand entlang einer Liniengeometrie interpoliert wurde.

Syntax

line_interpolate_point(geometry, distance)

Argumente

  • geometry - eine Linienstring-Geometrie

  • distance - Abstand entlang der Linie zur Interpolation

Beispiele

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 8 0)'), distance:=5)) → ‚Point (5 0)‘

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 1 1, 2 0)'), distance:=2.1)) → ‚Point (1.48492424 0.51507576)‘

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 1 0)'), distance:=2)) → NULL

../../../_images/interpolated_point.png

Interpolierter Punkt in 500 m Entfernung vom Beginn der Strecke

Siehe auch: Interpolate point on line-Algorithmus

13.2.13.63. line_locate_point

Liefert den Abstand des nächsten Punktes auf einer Linie zu einem gegebenen Punkt.

Syntax

line_locate_point(geometry, point)

Argumente

  • geometry - eine Linienstring-Geometrie

  • point - Punktgeometrie, um die nächstgelegene Position auf der Linie zu finden

Beispiele

  • line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)')) → 5.0

13.2.13.64. line_merge

Gibt eine LineString- oder MultiLineString-Geometrie zurück, bei der alle verbundenen LineStrings aus der Eingabegeometrie zu einem einzigen LineString zusammengeführt wurden. Diese Funktion gibt NULL zurück, wenn eine Geometrie übergeben wird, die kein LineString/MultiLineString ist.

Syntax

line_merge(geometry)

Argumente

  • geometry - eine LineString/MultiLineString-Geometrie

Beispiele

  • geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(1 1, 2 2))'))) → ‚LineString(0 0,1 1,2 2)‘

  • geom_to_wkt(line_merge(geom_from_wkt('MULTILINESTRING((0 0, 1 1),(11 1, 21 2))'))) → ‚MultiLineString((0 0, 1 1),(11 1, 21 2)‘

13.2.13.65. line_substring

Gibt den Teil der Geometrie einer Linie (oder Kurve) zurück, der zwischen den angegebenen Start- und Endabständen liegt (gemessen vom Anfang der Linie). Z- und M-Werte werden linear aus vorhandenen Werten interpoliert.

Syntax

line_substring(geometry, start_distance, end_distance)

Argumente

  • geometry - ein Linienstring oder eine Kurvengeometrie

  • start_distance - Abstand zum Beginn des Teilabschnitts der Geometrie

  • end_distance - Abstand zum Ende des Teilabschnitts der Geometrie

Beispiele

  • geom_to_wkt(line_substring(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),start_distance:=2,end_distance:=6)) → ‚LineString (2 0,6 0)‘

../../../_images/substring.png

Teilabschnitt mit einem Startabstand von 0 Metern und einem Endabstand von 250 Metern

Siehe auch: Line substring-Algorithmus

13.2.13.66. m

Gibt den m-Wert (measure) einer Punktgeometrie zurück.

Syntax

m(geometry)

Argumente

  • geometry - eine Punktgeometrie

Beispiele

  • m( geom_from_wkt( 'POINTM(2 5 4)' ) ) → 4

13.2.13.67. m_at

Liefert eine m-Koordinate der Geometrie, oder NULL, wenn die Geometrie keinen m-Wert hat.

Syntax

m_at(geometry, vertex)

Argumente

  • geometry - Geometrie-Objekt

  • vertex - Index des Knotenpunkts der Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • m_at(geom_from_wkt('LineStringZM(0 0 0 0, 10 10 0 5, 10 10 0 0)'), 1) → 5

13.2.13.68. m_max

Gibt den maximalen m-Wert („measure“) einer Geometrie zurück.

Syntax

m_max(geometry)

Argumente

  • geometry - eine Geometrie mit m-Werten

Beispiele

  • m_max( make_point_m( 0,0,1 ) ) → 1

  • m_max(make_line( make_point_m( 0,0,1 ), make_point_m( -1,-1,2 ), make_point_m( -2,-2,0 ) ) ) → 2

13.2.13.69. m_min

Gibt den minimalen m-Wert („measure“) einer Geometrie zurück.

Syntax

m_min(geometry)

Argumente

  • geometry - eine Geometrie mit m-Werten

Beispiele

  • m_min( make_point_m( 0,0,1 ) ) → 1

  • m_min(make_line( make_point_m( 0,0,1 ), make_point_m( -1,-1,2 ), make_point_m( -2,-2,0 ) ) ) → 0

13.2.13.70. main_angle

Gibt den Winkel der Längsachse (im Uhrzeigersinn, in Grad von Nord) des orientierten minimalen begrenzenden Rechtecks zurück, das die Geometrie vollständig abdeckt.

Syntax

main_angle(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • main_angle(geom_from_wkt('Polygon ((321577 129614, 321581 129618, 321585 129615, 321581 129610, 321577 129614))')) → 38.66

13.2.13.71. make_circle

Erzeugt ein kreisförmiges Polygon.

Syntax

make_circle(center, radius, [segments=36])

[] kennzeichnet optionale Argumente

Argumente

  • center - Mittelpunkt des Kreises

  • radius - Radius des Kreises

  • segments - optionales Argument für die Polygonsegmentierung. Standardmäßig ist dieser Wert 36.

Beispiele

  • geom_to_wkt(make_circle(make_point(10,10), 5, 4)) → ‚Polygon ((10 15, 15 10, 10 5, 5 10, 10 15))‘

  • geom_to_wkt(make_circle(make_point(10,10,5), 5, 4)) → ‚PolygonZ ((10 15 5, 15 10 5, 10 5 5, 5 10 5, 10 15 5))‘

  • geom_to_wkt(make_circle(make_point(10,10,5,30), 5, 4)) → ‚PolygonZM ((10 15 5 30, 15 10 5 30, 10 5 5 30, 5 10 5 30, 10 15 5 30))‘

13.2.13.72. make_ellipse

Erzeugt ein elliptisches Polygon.

Syntax

make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36])

[] kennzeichnet optionale Argumente

Argumente

  • center - Mittelpunkt der Ellipse

  • semi_major_axis - Hauptachse der Ellipse

  • semi_minor_axis - Nebenachse der Ellipse

  • azimuth - Ausrichtung der Ellipse

  • segments - optionales Argument für die Polygonsegmentierung. Standardmäßig ist dieser Wert 36.

Beispiele

  • geom_to_wkt(make_ellipse(make_point(10,10), 5, 2, 90, 4)) → ‚Polygon ((15 10, 10 8, 5 10, 10 12, 15 10))‘

  • geom_to_wkt(make_ellipse(make_point(10,10,5), 5, 2, 90, 4)) → ‚PolygonZ ((15 10 5, 10 8 5, 5 10 5, 10 12 5, 15 10 5))‘

  • geom_to_wkt(make_ellipse(make_point(10,10,5,30), 5, 2, 90, 4)) → ‚PolygonZM ((15 10 5 30, 10 8 5 30, 5 10 5 30, 10 12 5 30, 15 10 5 30))‘

13.2.13.73. make_line

Erzeugt eine Liniengeometrie aus einer Reihe von Punktgeometrien.

Liste von Argumenten Variante

Linien-Knotenpunkte werden als separate Argumente für die Funktion angegeben.

Syntax

make_line(point1, point2, …)

Argumente

  • point - eine Punktgeometrie (oder ein Array von Punkten)

Beispiele

  • geom_to_wkt(make_line(make_point(2,4),make_point(3,5))) → ‚LineString (2 4, 3 5)‘

  • geom_to_wkt(make_line(make_point(2,4),make_point(3,5),make_point(9,7))) → ‚LineString (2 4, 3 5, 9 7)‘

Array-Variante

Linien-Knotenpunkte werden als Array von Punkten angegeben.

Syntax

make_line(array)

Argumente

  • array - Punkte-Array

Beispiele

  • geom_to_wkt(make_line(array(make_point(2,4),make_point(3,5),make_point(9,7)))) → ‚LineString (2 4, 3 5, 9 7)‘

13.2.13.74. make_point

Erzeugt eine Punktgeometrie aus einem x- und y-Wert (optional auch mit z- und/oder m-Wert).

Syntax

make_point(x, y, [z], [m])

[] kennzeichnet optionale Argumente

Argumente

  • x - x-Koordinate des Punkts

  • y - y-Koordinate des Punkts

  • z - optionale z-Koordinate des Punkts

  • m - optionaler m-Wert des Punkts

Beispiele

  • geom_to_wkt(make_point(2,4)) → ‚Point (2 4)‘

  • geom_to_wkt(make_point(2,4,6)) → ‚PointZ (2 4 6)‘

  • geom_to_wkt(make_point(2,4,6,8)) → ‚PointZM (2 4 6 8)‘

13.2.13.75. make_point_m

Erzeugt eine Punktgeometrie aus einer x-, y-Koordinate und einem m-Wert.

Syntax

make_point_m(x, y, m)

Argumente

  • x - x-Koordinate des Punkts

  • y - y-Koordinate des Punkts

  • m - m-Wert des Punkts

Beispiele

  • geom_to_wkt(make_point_m(2,4,6)) → ‚PointM (2 4 6)‘

13.2.13.76. make_polygon

Erzeugt eine Polygongeometrie aus einem äußeren Ring und einer optionalen Reihe von inneren Ringgeometrien.

Syntax

make_polygon(outerRing, [innerRing1], [innerRing2], …)

[] kennzeichnet optionale Argumente

Argumente

  • outerRing - geschlossene Linien-Geometrie für den äußeren Ring des Polygons

  • innerRing - optionale geschlossene Linien-Geometrie für den Innenring

Beispiele

  • geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'))) → ‚Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))‘

  • geom_to_wkt(make_polygon(geom_from_wkt('LINESTRING( 0 0, 0 1, 1 1, 1 0, 0 0 )'),geom_from_wkt('LINESTRING( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1 )'),geom_from_wkt('LINESTRING( 0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8 )'))) → ‚Polygon ((0 0, 0 1, 1 1, 1 0, 0 0),(0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2 0.1, 0.1 0.1),(0.8 0.8, 0.8 0.9, 0.9 0.9, 0.9 0.8, 0.8 0.8))‘

13.2.13.77. make_rectangle_3points

Erzeugt ein Rechteck aus 3 Punkten.

Syntax

make_rectangle_3points(point1, point2, point3, [option=0])

[] kennzeichnet optionale Argumente

Argumente

  • point1 - Erster Punkt

  • point2 - Zweiter Punkt

  • point3 - Dritter Punkt

  • option - Ein optionales Argument, um das Rechteck zu konstruieren. Standardmäßig ist dieser Wert 0. Der Wert kann 0 (Abstand) oder 1 (projiziert) sein. Bei Option Abstand ist der zweite Abstand gleich dem Abstand zwischen dem 2. und 3. Punkt. Bei Option projiziert ist der zweite Abstand gleich dem Abstand der senkrechten Projektion des dritten Punktes auf das Segment oder dessen Verlängerung.

Beispiele

  • geom_to_wkt(make_rectangle_3points(make_point(0, 0), make_point(0,5), make_point(5, 5), 0)) → ‚Polygon ((0 0, 0 5, 5 5, 5 0, 0 0))‘

  • geom_to_wkt(make_rectangle_3points(make_point(0, 0), make_point(0,5), make_point(5, 3), 1)) → ‚Polygon ((0 0, 0 5, 5 5, 5 0, 0 0))‘

13.2.13.78. make_regular_polygon

Erzeugt ein regelmäßiges Polygon.

Syntax

make_regular_polygon(center, radius, number_sides, [circle=0])

[] kennzeichnet optionale Argumente

Argumente

  • center - Mittelpunkt des regelmäßigen Polygons

  • radius - zweiter Punkt. Der erste, wenn das regelmäßige Polygon eingeschrieben ist. Der Mittelpunkt der ersten Seite, wenn das reguläre Polygon umschrieben ist.

  • number_sides - Anzahl der Seiten/Kanten des regelmäßigen Polygons

  • circle - Optionales Argument zur Konstruktion des regelmäßigen Polygons. Der Wert kann 0 (eingeschrieben) oder 1 (umschrieben) sein. Standardmäßig ist dieser Wert 0.

Beispiele

  • geom_to_wkt(make_regular_polygon(make_point(0,0), make_point(0,5), 5)) → ‚Polygon ((0 5, 4.76 1.55, 2.94 -4.05, -2.94 -4.05, -4.76 1.55, 0 5))‘

  • geom_to_wkt(make_regular_polygon(make_point(0,0), project(make_point(0,0), 4.0451, radians(36)), 5)) → ‚Polygon ((0 5, 4.76 1.55, 2.94 -4.05, -2.94 -4.05, -4.76 1.55, 0 5))‘

13.2.13.79. make_square

Erzeugt ein Quadrat aus einer Diagonale.

Syntax

make_square(point1, point2)

Argumente

  • point1 - Erster Punkt der Diagonale

  • point2 - Zweiter Punkt der Diagonale

Beispiele

  • geom_to_wkt(make_square( make_point(0,0), make_point(5,5))) → ‚Polygon ((0 0, -0 5, 5 5, 5 0, 0 0))‘

  • geom_to_wkt(make_square( make_point(5,0), make_point(5,5))) → ‚Polygon ((5 0, 2.5 2.5, 5 5, 7.5 2.5, 5 0))‘

13.2.13.80. make_triangle

Erzeugt ein dreieckiges Polygon.

Syntax

make_triangle(point1, point2, point3)

Argumente

  • point1 - erster Punkt des Dreiecks

  • point2 - zweiter Punkt des Dreiecks

  • point3 - dritter Punkt des Dreiecks

Beispiele

  • geom_to_wkt(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10))) → ‚Triangle ((0 0, 5 5, 0 10, 0 0))‘

  • geom_to_wkt(boundary(make_triangle(make_point(0,0), make_point(5,5), make_point(0,10)))) → ‚LineString (0 0, 5 5, 0 10, 0 0)‘

13.2.13.81. make_valid

Gibt eine gültige Geometrie zurück oder eine leere Geometrie, wenn die Geometrie nicht gültig gemacht werden konnte.

Syntax

make_valid(geometry, [method=structure], [keep_collapsed=false])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • method - Reparaturalgorithmus. Kann entweder „Struktur“ oder „Linienwerk“ sein. Die Option „Linienwerk“ kombiniert alle Ringe zu einem Satz von Knotenlinien und extrahiert dann gültige Polygone aus diesem Linienwerk. Bei der Methode „Struktur“ werden zunächst alle Ringe gültig gemacht und dann die Schalen zusammengeführt und die Löcher von den Schalen abgezogen, um ein gültiges Ergebnis zu erhalten. Setzt voraus, dass Löcher und Schalen korrekt kategorisiert sind.

  • keep_collapsed - falls auf true gesetzt, werden Komponenten, die in eine niedrigere Dimensionalität kollabiert sind, beibehalten. Zum Beispiel ein Ring, der zu einer Linie kollabiert, oder eine Linie, die zu einem Punkt kollabiert ist.

Beispiele

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8, 3 2, 4 2))'))) → ‚Polygon ((3 2, 5 8, 4 1, 3 2))‘

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8, 3 2, 4 2))'), 'linework')) → ‚GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))‘

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8))'), method:='linework')) → ‚Polygon ((3 2, 4 1, 5 8, 3 2))‘

  • make_valid(geom_from_wkt('LINESTRING(0 0)')) → Eine leere Geometrie

Siehe auch: is_valid, Fix geometries Algorithmus

13.2.13.82. minimal_circle

Gibt den minimalen Umschließungskreis einer Geometrie zurück. Es handelt sich um den minimalen Kreis, der alle Geometrien innerhalb der Menge umschließt.

Syntax

minimal_circle(geometry, [segments=36])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • segments - optionales Argument für die Polygonsegmentierung. Standardmäßig ist dieser Wert 36.

Beispiele

  • geom_to_wkt( minimal_circle( geom_from_wkt( 'LINESTRING(0 5, 0 -5, 2 1)' ), 4 ) ) → ‚Polygon ((0 5, 5 -0, -0 -5, -5 0, 0 5))‘

  • geom_to_wkt( minimal_circle( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ), 4 ) ) → ‚Polygon ((3 4, 3 2, 1 2, 1 4, 3 4))‘

../../../_images/minimum_enclosing_circles.png

Minimaler Umkreis für jedes Objekt

Siehe auch: Minimum enclosing circles-Algorithmus

13.2.13.83. nodes_to_points

Gibt eine Mehrpunktgeometrie zurück, die aus jedem Knoten in der Eingabegeometrie besteht.

Syntax

nodes_to_points(geometry, [ignore_closing_nodes=false])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - Geometrie-Objekt

  • ignore_closing_nodes - optionales Argument, das angibt, ob doppelte Knoten, die Linien oder Polygonringe schließen, einbezogen werden sollen. Der Standardwert ist false, setzen Sie ihn auf true, um diese doppelten Knoten nicht in die Ausgabe aufzunehmen.

Beispiele

  • geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ‚MultiPoint ((0 0),(1 1),(2 2))‘

  • geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true)) → ‚MultiPoint ((-1 -1),(4 0),(4 2),(0 2))‘

../../../_images/extract_nodes.png

Aus Knotenpunkten extrahierte Mehrpunkt-Objekte

Siehe auch: Extract vertices-Algorithmus

13.2.13.84. num_geometries

Gibt die Anzahl der Geometrien in einer Geometriesammlung oder die Anzahl der Teile in einer mehrteiligen Geometrie zurück. Die Funktion gibt NULL zurück, wenn die Eingabegeometrie keine Sammlung ist.

Syntax

num_geometries(geometry)

Argumente

  • geometry - Geometriesammlung oder mehrteilige Geometrie

Beispiele

  • num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))')) → 4

  • num_geometries(geom_from_wkt('MULTIPOINT((0 1), (0 0), (1 0))')) → 3

13.2.13.85. num_interior_rings

Gibt die Anzahl der inneren Ringe in einem Polygon oder einer Geometriesammlung zurück, oder NULL, wenn die Eingabegeometrie kein Polygon oder keine Sammlung ist.

Syntax

num_interior_rings(geometry)

Argumente

  • geometry - Eingabegeometrie

Beispiele

  • num_interior_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))')) → 1

13.2.13.86. num_points

Gibt die Anzahl der Knotenpunkte in einer Geometrie zurück.

Syntax

num_points(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • num_points(@geometry) → Anzahl der Knotenpunkte in der Geometrie des aktuellen Objekts

13.2.13.87. num_rings

Gibt die Anzahl der Ringe (einschließlich der äußeren Ringe) in einem Polygon oder einer Geometriesammlung zurück, oder NULL, wenn die Eingabegeometrie kein Polygon oder keine Sammlung ist.

Syntax

num_rings(geometry)

Argumente

  • geometry - Eingabegeometrie

Beispiele

  • num_rings(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),(-0.1 -0.1, 0.4 0, 0.4 0.2, 0 0.2, -0.1 -0.1))')) → 2

13.2.13.88. offset_curve

Gibt eine Geometrie zurück, die durch Versatz einer Liniengeometrie zur Seite gebildet wird. Die Abstände sind im räumlichen Bezugssystem dieser Geometrie angegeben.

Syntax

offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine (Multi-)Linien-Geometrie

  • distance - Versatzabstand. Positive Werte werden links von den Linien gepuffert, negative Werte rechts.

  • segments - Anzahl der Segmente, die zur Darstellung eines Viertelkreises verwendet werden, wenn ein runder Verbindungsstil verwendet wird. Eine größere Anzahl ergibt eine glattere Linie mit mehr Knotenpunkten.

  • join - Verbindungsstil für Ecken, wobei 1 = rund, 2 = Gehrung und 3 = Fase

  • miter_limit - Begrenzung des Gehrungsverhältnisses bei sehr scharfen Ecken (wenn nur Gehrungsverbindungen verwendet werden)

Beispiele

  • offset_curve(@geometry, 10.5) → Linie um 10,5 Einheiten nach links versetzt

  • offset_curve(@geometry, -10.5) → Linie um 10,5 Einheiten nach rechts versetzt

  • offset_curve(@geometry, 10.5, segments:=16, join:=1) → die Linie wird um 10,5 Einheiten nach links verschoben, wobei mehr Segmente verwendet werden, um eine glattere Kurve zu erhalten

  • offset_curve(@geometry, 10.5, join:=3) → eine um 10,5 Einheiten nach links versetzte Linie unter Verwendung einer abgeschrägten Verbindung

../../../_images/offset_lines.png

In Blau der Quell-Layer, in Rot der Offset-Layer

Siehe auch: Offset lines-Algorithmus

13.2.13.89. order_parts

Sortiert die Teile eine Multigeometrie nach gegebenem Kriterium

Syntax

order_parts(geometry, orderby, [ascending=true])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie mit mehreren Typen

  • orderby - eine Zeichenkette, die die Ordnungskriterien definiert

  • ascending - Sortierung; True für aufsteigend, False für absteigend

Beispiele

  • geom_to_wkt(order_parts(geom_from_wkt('MultiPolygon (((1 1, 5 1, 5 5, 1 5, 1 1)),((1 1, 9 1, 9 9, 1 9, 1 1)))'), 'area(@geometry)', False)) → ‚MultiPolygon (((1 1, 9 1, 9 9, 1 9, 1 1)),((1 1, 5 1, 5 5, 1 5, 1 1)))‘

  • geom_to_wkt(order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True)) → ‚LineString(1 2, 3 2, 4 3)‘

13.2.13.90. oriented_bbox

Gibt eine Geometrie zurück, die den minimalen orientierten Begrenzungsrahmen einer Eingabegeometrie darstellt.

Syntax

oriented_bbox(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) ) → ‚Polygon ((3 2, 3 4, 1 4, 1 2, 3 2))‘

../../../_images/oriented_minimum_bounding_box.png

Orientiertes minimales Begrenzungsrechteck

Siehe auch: Orientiertes minimales Begrenzungsrechteck-Algorithmus

13.2.13.91. overlaps

Prüft, ob eine Geometrie eine andere überlappt. Gibt TRUE zurück, wenn die Geometrien denselben Raum teilen, dieselbe Dimension haben, aber nicht vollständig ineinander enthalten sind.

Syntax

overlaps(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • overlaps( geom_from_wkt( 'LINESTRING(3 5, 4 4, 5 5, 5 3)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • overlaps( geom_from_wkt( 'LINESTRING(0 0, 1 1)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → FALSE

13.2.13.92. overlay_contains

Gibt zurück, ob das aktuelle Objekt räumlich mindestens ein Objekt aus einem Ziel-Layer enthält, oder ein Array von ausdrucksbasierten Ergebnissen für die im aktuellen Objekt enthaltenen Objekte des Ziel-Layers.

Lesen Sie mehr über das zugrundeliegende GEOS „Contains“ Prädikat, wie es in der PostGIS ST_Contains Funktion beschrieben ist.

Syntax

overlay_contains(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_contains('regions') → TRUE, wenn das aktuelle Objekt räumlich eine Region enthält

  • overlay_contains('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich eine Region mit einer Bevölkerung von mehr als 10.000 enthält

  • overlay_contains('regions', name) → ein Array von Namen für die Regionen, die im aktuellen Objekt enthalten sind

  • array_to_string(overlay_contains('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die im aktuellen Objekt enthalten sind

  • array_sort(overlay_contains(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die im aktuellen Objekt enthalten sind und eine Bevölkerung von mehr als 10.000 haben

  • overlay_contains(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → eine Reihe von Geometrien (in WKT) für bis zu zwei Regionen, die im aktuellen Objekt enthalten sind

Siehe auch: contains, array manipulation 1, Auswahl nach der Lage-Algorithmus

13.2.13.93. overlay_crosses

Gibt zurück, ob das aktuelle Objekt mindestens ein Objekt des Ziel-Layers räumlich kreuzt, oder eine Reihe von ausdrucksbasierten Ergebnissen für die vom aktuellen Objekt gekreuzten Objekte im Ziel-Layer.

Lesen Sie mehr über das zugrundeliegende GEOS-Prädikat „Kreuze“, wie es in der PostGIS-Funktion ST_Crosses beschrieben ist.

Syntax

overlay_crosses(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_crosses('regions') → TRUE, wenn das aktuelle Objekt räumlich eine Region durchquert

  • overlay_crosses('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich eine Region mit mehr als 10.000 Einwohnern durchquert

  • overlay_crosses('regions', name) → ein Array von Namen mit den Regionen, die von dem aktuellen Objekt durchquert werden

  • array_to_string(overlay_crosses('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die von dem aktuellen Objekt durchquert werden

  • array_sort(overlay_crosses(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die von dem aktuellen Objekt durchquert werden und eine Bevölkerung von mehr als 10.000 haben

  • overlay_crosses(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → eine Reihe von Geometrien (in WKT) für bis zu zwei Regionen, die von dem aktuellen Objekt durchquert werden

Siehe auch: crosses, array manipulation, Auswahl nach der Lage algorithm

13.2.13.94. overlay_disjoint

Gibt zurück, ob das aktuelle Objekt räumlich getrennt von allen Objekten eines Ziel-Layers ist, oder eine Reihe von ausdrucksbasierten Ergebnissen für die Objekte im Ziel-Layer, die vom aktuellen Objekt getrennt sind.

Lesen Sie mehr über das zugrundeliegende GEOS-Prädikat „Disjoint“, wie es in der PostGIS-Funktion ST_Disjoint beschrieben ist.

Syntax

overlay_disjoint(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_disjoint('regions') → TRUE, wenn das aktuelle Objekt räumlich unzusammenhängend mit allen Regionen ist

  • overlay_disjoint('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich von allen Regionen mit einer Bevölkerung von mehr als 10.000 getrennt ist

  • overlay_disjoint('regions', name) → ein Array von Namen für die Regionen, die räumlich vom aktuellen Objekt getrennt sind

  • array_to_string(overlay_disjoint('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die räumlich nicht mit dem aktuellen Objekt verbunden sind

  • array_sort(overlay_disjoint(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die räumlich nicht mit dem aktuellen Objekt verbunden sind und eine Bevölkerung von mehr als 10.000 haben

  • overlay_disjoint(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → eine Reihe von Geometrien (in WKT) für bis zu zwei Regionen, die räumlich vom aktuellen Objekt getrennt sind

Siehe auch: disjoint, array manipulation, Auswahl nach der Lage algorithm

13.2.13.95. overlay_equals

Gibt zurück, ob das aktuelle Objekt räumlich mit mindestens einem Objekt eines Ziel-Layers übereinstimmt, oder eine Reihe von ausdrucksbasierten Ergebnissen für die Objekte im Ziel-Layer, die räumlich mit dem aktuellen Objekt übereinstimmen.

Lesen Sie mehr über das zugrundeliegende GEOS „Equals“ Prädikat, wie es in der PostGIS ST_Equals Funktion beschrieben ist.

Syntax

overlay_equals(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_equals('regions') → TRUE, wenn das aktuelle Objekt räumlich mit einer Region übereinstimmt

  • overlay_equals('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich mit einer Region mit mehr als 10.000 Einwohnern übereinstimmt

  • overlay_equals('regions', name) → ein Array von Namen für die Regionen, die dem aktuellen Objekt räumlich entsprechen

  • array_to_string(overlay_equals('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die dem aktuellen Objekt räumlich entsprechen

  • array_sort(overlay_equals(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die räumlich mit dem aktuellen Objekt übereinstimmen und eine Bevölkerung von mehr als 10.000 haben

  • overlay_equals(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → eine Array von Geometrien (in WKT) für bis zu zwei Regionen, die dem aktuellen Objekt räumlich entsprechen

Siehe auch: Array-Manipulation, Auswahl nach der Lage-Algorithmus

13.2.13.96. overlay_intersects

Gibt zurück, ob das aktuelle Objekt mindestens ein Objekt aus einem Ziel-Layer räumlich schneidet, oder ein Array von ausdrucksbasierten Ergebnissen für die Objekte im Ziel-Layer, die vom aktuellen Objekt geschnitten werden.

Lesen Sie mehr über das zugrundeliegende GEOS „Intersects“ Prädikat, wie es in der PostGIS ST_Intersects Funktion beschrieben ist.

Syntax

overlay_intersects(layer, [expression], [filter], [limit], [cache=false], [min_overlap], [min_inscribed_circle_radius], [return_details], [sort_by_intersection_size])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

  • min_overlap - definiert einen optionalen Ausschlussfilter:

    • bei Polygonen eine Mindestfläche in aktuellen Objekteinheiten zum Quadrat für den Schnittpunkt. Ergibt die Schnittmenge mehrere Polygone, wird die Schnittmenge zurückgegeben, wenn mindestens eines der Polygone eine Fläche hat, die größer oder gleich dem Wert

    • für Linien eine Mindestlänge in aktuellen Objekteinheiten. Wenn der Schnitt mehrere Linien ergibt, wird der Schnittpunkt zurückgegeben, wenn mindestens eine der Linien eine Länge größer oder gleich dem Wert.

  • min_inscribed_circle_radius - definiert einen optionalen Ausschlussfilter (nur für Polygone): Mindestradius in aktuellen Objekteinheiten für den maximalen Inkreis des Schnittpunkts. Wenn der Schnitt mehrere Polygone ergibt, wird der Schnitt zurückgegeben, wenn mindestens eines der Polygone einen Radius für den maximalen Inkreis hat, der größer oder gleich dem Wert.

    Lesen Sie mehr über das zugrundeliegende GEOS-Prädikat, wie es in der PostGIS-Funktion ST_MaximumInscribedCircle beschrieben ist.

    Dieses Argument erfordert GEOS >= 3.9.

  • return_details - Setzen Sie diesen Wert auf true, um eine Liste von Karten zurückzugeben, die (Schlüsselnamen in Anführungszeichen) das Objekt ‚id‘, den Ausdruck ‚result‘ und den Wert ‚overlap‘ enthalten. Der Radius (‚radius‘) des maximal eingeschlossenen Kreises wird ebenfalls zurückgegeben, wenn der Ziel-Layer ein Polygon ist. Nur gültig in Verbindung mit dem Parameter expression

  • sort_by_intersection_size - nur gültig bei Verwendung mit einem Ausdruck, setzen Sie dies auf ‚des‘, um die Ergebnisse nach dem Überschneidungswert in absteigender Reihenfolge zu sortieren oder setzen Sie dies auf ‚asc‘ für aufsteigende Reihenfolge.

Beispiele

  • overlay_intersects('regions') → TRUE, wenn das aktuelle Objekt eine Region räumlich schneidet

  • overlay_intersects('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt eine Region mit mehr als 10.000 Einwohnern räumlich schneidet

  • overlay_intersects('regions', name) → ein Array von Namen für die Regionen, die von dem aktuellen Objekt durchschnitten werden

  • array_to_string(overlay_intersects('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die von dem aktuellen Objekt geschnitten werden

  • array_sort(overlay_intersects(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die vom aktuellen Objekt geschnitten werden und eine Bevölkerung von mehr als 10.000 haben

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → ein Array von Geometrien (in WKT) für bis zu zwei Regionen, die von dem aktuellen Objekt geschnitten werden

  • overlay_intersects(layer:='regions', min_overlap:=0.54) → TRUE, wenn das aktuelle Objekt eine Region räumlich schneidet und die Schnittfläche (von mindestens einem der Teile im Falle von Multipolygonen) größer oder gleich 0,54 ist

  • overlay_intersects(layer:='regions', min_inscribed_circle_radius:=0.54) → TRUE, wenn das aktuelle Objekt eine Region räumlich schneidet und der Radius des maximalen Inkreises im Schnittbereich (mindestens eines der Teile im Falle von mehreren Teilen) größer oder gleich 0,54 ist

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), return_details:=true) → ein Array von Maps, das ‚id‘, ‚result‘, ‚overlap‘ und ‚radius‘ enthält

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), sort_by_intersection_size:='des') → eine Reihe von Geometrien (in WKT), geordnet nach dem Überlappungswert in absteigender Reihenfolge

Siehe auch: intersects, array manipulation 1, Auswahl nach der Lage-Algorithmus

13.2.13.97. overlay_nearest

Gibt zurück, ob das aktuelle Objekt ein oder mehrere Objekte eines Ziel-Layers in einem bestimmten Abstand hat, oder eine Reihe von ausdrucksbasierten Ergebnissen für die Objekte im Ziel-Layer in einem Abstand zum aktuellen Objekt.

Hinweis: Diese Funktion kann langsam sein und bei großen Layern viel Speicherplatz beanspruchen.

Syntax

overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Ziellayer

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte im Ziel-Layer verwendet.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, wird nur das nächstgelegene Objekt zurückgegeben. Wird sie auf -1 gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • max_distance - ein optionaler Abstand, um die Suche nach passenden Objekten einzuschränken. Ist dieser Wert nicht angegeben, werden alle Objekte im Ziel-Layer verwendet.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_nearest('airports') → TRUE, wenn der Layer „airports“ mindestens ein Objekt enthält

  • overlay_nearest('airports', max_distance:= 5000) → TRUE, wenn sich ein Flughafen in einer Entfernung von 5.000 Karteneinheiten vom aktuellen Objekt befindet

  • overlay_nearest('airports', name) → den Namen des Flughafens, der dem aktuellen Objekt am nächsten liegt, als Array

  • array_to_string(overlay_nearest('airports', name)) → der Name des Flughafens, der dem aktuellen Objekt am nächsten liegt, als String

  • overlay_nearest(layer:='airports', expression:= name, max_distance:= 5000) → den Namen des nächstgelegenen Flughafens in einer Entfernung von 5.000 Karteneinheiten vom aktuellen Objekt, als Array

  • overlay_nearest(layer:='airports', expression:="name", filter:= "Use"='Civilian', limit:=3) → ein Array von Namen mit bis zu drei nächstgelegenen, zivilen Flughäfen, geordnet nach Entfernung

  • overlay_nearest(layer:='airports', expression:="name", limit:= -1, max_distance:= 5000) → ein Array mit den Namen aller Flughäfen im Umkreis von 5.000 Karteneinheiten um das aktuelle Objekt, geordnet nach Entfernung

Siehe auch: Array Manipulation, Join attributes by nearest Algorithmus

13.2.13.98. overlay_touches

Gibt zurück, ob das aktuelle Objekt mindestens ein Objekt eines Ziel-Layers räumlich berührt, oder eine Reihe von ausdrucksbasierten Ergebnissen für die vom aktuellen Objekt berührten Objekte im Ziel-Layer.

Lesen Sie mehr über das zugrundeliegende GEOS-Prädikat „Touches“, wie in der PostGIS-Funktion „ST_Touches <https://postgis.net/docs/ST_Touches.html>“ beschrieben.

Syntax

overlay_touches(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_touches('regions') → TRUE, wenn das aktuelle Objekt eine Region räumlich berührt

  • overlay_touches('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich eine Region mit mehr als 10.000 Einwohnern berührt

  • overlay_touches('regions', name) → ein Array von Namen für die Regionen, die von dem aktuellen Objekt berührt werden

  • string_to_array(overlay_touches('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die vom aktuellen Objekt berührt werden

  • array_sort(overlay_touches(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die von dem aktuellen Objekt berührt werden und eine Bevölkerung von mehr als 10.000 haben

  • overlay_touches(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → ein Array von Geometrien (in WKT) für bis zu zwei Regionen, die von dem aktuellen Objekt berührt werden

Siehe auch: touches, array manipulation 1, Auswahl nach der Lage-Algorithmus

13.2.13.99. overlay_within

Gibt zurück, ob das aktuelle Objekt räumlich innerhalb mindestens eines Objekts eines Ziel-Layers liegt, oder eine Reihe von ausdrucksbasierten Ergebnissen für die Objekte im Ziel-Layer, die das aktuelle Objekt enthalten.

Lesen Sie mehr über das zugrundeliegende GEOS-Prädikat „Within“, wie es in der PostGIS-Funktion ST_Within beschrieben ist.

Syntax

overlay_within(layer, [expression], [filter], [limit], [cache=false])

[] kennzeichnet optionale Argumente

Argumente

  • layer - der Layer, dessen Überlagerung geprüft wird

  • expression - ein optionaler Ausdruck, der für die Objekte des Ziel-Layers ausgewertet wird. Wenn er nicht gesetzt ist, gibt die Funktion nur einen booleschen Wert zurück, der angibt, ob es mindestens eine Übereinstimmung gibt.

  • filter - ein optionaler Ausdruck zum Filtern der zu prüfenden Objekte. Ist er nicht gesetzt, werden alle Objekte geprüft.

  • limit - eine optionale Ganzzahl zur Begrenzung der Anzahl der übereinstimmenden Objekte. Ist sie nicht gesetzt, werden alle übereinstimmenden Objekte zurückgegeben.

  • cache - Setzen Sie diesen Wert auf true, um einen lokalen räumlichen Index zu erstellen (in den meisten Fällen ist dies nicht ratsam, es sei denn, Sie arbeiten mit einem besonders langsamen Datenanbieter)

Beispiele

  • overlay_within('regions') → TRUE, wenn das aktuelle Objekt räumlich innerhalb einer Region liegt

  • overlay_within('regions', filter:= population > 10000) → TRUE, wenn das aktuelle Objekt räumlich innerhalb einer Region mit einer Bevölkerung von mehr als 10.000 liegt

  • overlay_within('regions', name) → ein Array von Namen für die Regionen, die das aktuelle Objekt enthalten

  • array_to_string(overlay_within('regions', name)) → eine durch Kommata getrennte Liste von Namen für die Regionen, die das aktuelle Objekt enthalten

  • array_sort(overlay_within(layer:='regions', expression:="name", filter:= population > 10000)) → ein geordnetes Array von Namen für die Regionen, die das aktuelle Objekt enthalten und eine Bevölkerung von mehr als 10.000 haben

  • overlay_within(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → ein Array von Geometrien (in WKT), für bis zu zwei Regionen, die das aktuelle Objekt enthalten

Siehe auch: within, array manipulation, Auswahl nach der Lage-Algorithmus

13.2.13.100. $perimeter

Gibt die Länge des Umfangs des aktuellen Objekts zurück. Die von dieser Funktion berechnete Umfangslänge berücksichtigt sowohl die Ellipsoid- als auch die Entfernungseinheit-Einstellungen des aktuellen Projekts. Wenn zum Beispiel ein Ellipsoid für das Projekt festgelegt wurde, ist die berechnete Umfangslänge ellipsoidisch, und wenn kein Ellipsoid festgelegt wurde, ist die berechnete Umfangslänge planimetrisch.

Syntax

$perimeter

Beispiele

  • $perimeter → 42

13.2.13.101. perimeter

Gibt den Umfang eines Geometrie-Polygon-Objekts zurück. Die Berechnungen sind immer planimetrisch im räumlichen Bezugssystem (SRS) dieser Geometrie, und die Einheiten des zurückgegebenen Umfangs entsprechen den Einheiten für das SRS. Dies unterscheidet sich von den Berechnungen, die von der Funktion $perimeter durchgeführt werden, die ellipsoidische Berechnungen auf der Grundlage der Einstellungen für Ellipsoid und Entfernungseinheiten des Projekts vornimmt.

Syntax

perimeter(geometry)

Argumente

  • geometry - Polygon-Geometrie-Objekt

Beispiele

  • perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))')) → 12.0

13.2.13.102. point_n

Gibt einen bestimmten Knoten aus einer Geometrie zurück.

Syntax

point_n(geometry, index)

Argumente

  • geometry - Geometrie-Objekt

  • index - Index des zurückzugebenden Knotens, wobei 1 der erste Knoten ist; wenn der Wert negativ ist, entspricht der ausgewählte Scheitelpunktindex der Gesamtzahl abzüglich des absoluten Werts.

Beispiele

  • geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2)) → ‚Point (4 0)‘

Siehe auch: Extract specific vertices-Algorithmus

13.2.13.103. point_on_surface

Gibt einen Punkt zurück, der garantiert auf der Oberfläche einer Geometrie liegt.

Syntax

point_on_surface(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • point_on_surface(@geometry) → eine Punktgeometrie

Siehe auch: Point on Surface-Algorithmus

13.2.13.104. pole_of_inaccessibility

Berechnet den ungefähren Pol der Unzugänglichkeit für eine Fläche, d. h. den am weitesten von der Begrenzung der Fläche entfernten inneren Punkt. Diese Funktion verwendet den „Polylabel“-Algorithmus (Vladimir Agafonkin, 2016), einen iterativen Ansatz, der garantiert, dass der wahre Pol der Unzugänglichkeit innerhalb einer bestimmten Toleranz gefunden wird. Präzisere Toleranzen erfordern mehr Iterationen und benötigen mehr Zeit für die Berechnung.

Syntax

pole_of_inaccessibility(geometry, tolerance)

Argumente

  • geometry - eine Geometrie

  • tolerance - maximaler Abstand zwischen dem zurückgegebenen Punkt und dem tatsächlichen Standort des Pols

Beispiele

  • geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1, 0 9, 3 10, 3 3, 10 3, 10 1, 0 1))'), 0.1)) → ‚Point(1.546875 2.546875)‘

../../../_images/pole_inaccessibility.png

Pole of inaccessibility

Siehe auch: Pole of inaccessibility-Algorithmus

13.2.13.105. project

Gibt einen Punkt zurück, der von einem Startpunkt aus projiziert wird, wobei eine Entfernung, eine Richtung (Azimut) und eine Neigung im Bogenmaß angegeben werden.

Syntax

project(point, distance, azimuth, [elevation])

[] kennzeichnet optionale Argumente

Argumente

  • point - Startpunkt

  • distance - Entfernung, die projiziert werden soll

  • azimuth - Azimut in Grad im Uhrzeigersinn, wobei 0 dem Norden entspricht

  • elevation - Neigungswinkel im Bogenmaß

Beispiele

  • geom_to_wkt(project(make_point(1, 2), 3, radians(270))) → ‚Point(-2, 2)‘

Siehe auch: Project points (Cartesian)-Algorithmus

13.2.13.106. relate

Test des Dimensional Extended 9 Intersection Model (DE-9IM) zur Darstellung der Beziehung zwischen zwei Geometrien.

Beziehungs-Variante

Gibt die Darstellung des Dimensional Extended 9 Intersection Model (DE-9IM) der Beziehung zwischen zwei Geometrien zurück.

Syntax

relate(geometry, geometry)

Argumente

  • geometry - eine Geometrie

  • geometry - eine Geometrie

Beispiele

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) ) → ‚FF1F00102‘

Mustervergleich Variante

Prüft, ob die DE-9IM-Beziehung zwischen zwei Geometrien einem bestimmten Muster entspricht.

Syntax

relate(geometry, geometry, pattern)

Argumente

  • geometry - eine Geometrie

  • geometry - eine Geometrie

  • pattern - DE-9IM-Muster für die Übereinstimmung

Beispiele

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' ) → TRUE

13.2.13.107. reverse

Kehrt die Richtung einer Linienkette um, indem es die Reihenfolge ihrer Knotenpunkte umkehrt.

Syntax

reverse(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ‚LINESTRING(2 2, 1 1, 0 0)‘

../../../_images/reverse_line.png

Umkehrung der Linienrichtung

Siehe auch: Reverse line direction-Algorithmus

13.2.13.108. rotate

Gibt eine gedrehte Version einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

rotate(geometry, rotation, [center=NULL], [per_part=false])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • rotation - Drehung im Uhrzeigersinn in Grad

  • center - Rotationsmittelpunkt. Wenn nicht angegeben, wird der Mittelpunkt der Bounding Box der Geometrie verwendet.

  • per_part - Rotation pro Teil anwenden. Wenn true, dann wird die Rotation um den Mittelpunkt der Bounding Box jedes Teils angewendet, wenn die Eingabegeometrie mehrteilig ist und kein expliziter Rotationsmittelpunkt angegeben ist.

Beispiele

  • rotate(@geometry, 45, make_point(4, 5)) → Geometrie um 45 Grad im Uhrzeigersinn um den Punkt (4, 5) gedreht

  • rotate(@geometry, 45) → Geometrie um 45 Grad im Uhrzeigersinn um den Mittelpunkt ihres Begrenzungsrahmens gedreht

../../../_images/rotate.gif

Rotating features

13.2.13.109. roundness

Berechnet, wie nah eine Polygonform an einem Kreis ist. Die Funktion gibt TRUE zurück, wenn die Polygonform ein perfekter Kreis ist, und 0, wenn sie völlig flach ist.

Syntax

roundness(geometry)

Argumente

  • geometry - ein Polygon

Beispiele

  • round(roundness(geom_from_wkt('POLYGON(( 0 0, 0 1, 1 1, 1 0, 0 0))')), 3) → 0.785

  • round(roundness(geom_from_wkt('POLYGON(( 0 0, 0 0.1, 1 0.1, 1 0, 0 0))')), 3) → 0.260

Siehe auch: Roundness-Algorithmus

13.2.13.110. scale

Gibt eine skalierte Version einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

scale(geometry, x_scale, y_scale, [center])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • x_scale - Skalierungsfaktor der x-Achse

  • y_scale - Skalierungsfaktor der y-Achse

  • center - Skalierungsmittelpunkt. Wenn nicht angegeben, wird der Mittelpunkt der Bounding Box der Geometrie verwendet.

Beispiele

  • scale(@geometry, 2, 0.5, make_point(4, 5)) → Geometrie, die horizontal zweimal skaliert und vertikal halbiert wird, um den Punkt (4, 5)

  • scale(@geometry, 2, 0.5) → Geometrie horizontal zweimal und vertikal halbiert, um den Mittelpunkt des Begrenzungsrahmens

13.2.13.111. segments_to_lines

Gibt eine Multi-Line-Geometrie zurück, die aus einer Linie für jedes Segment in der Eingabegeometrie besteht.

Syntax

segments_to_lines(geometry)

Argumente

  • geometry - Geometrie-Objekt

Beispiele

  • geom_to_wkt(segments_to_lines(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ‚MultiLineString ((0 0, 1 1),(1 1, 2 2))‘

Siehe auch: Explode lines-Algorithmus

13.2.13.112. shared_paths

Liefert eine Sammlung mit Pfaden, die von den beiden Eingabegeometrien gemeinsam genutzt werden. Diejenigen, die in die gleiche Richtung gehen, befinden sich im ersten Element der Sammlung, diejenigen, die in die entgegengesetzte Richtung gehen, im zweiten Element. Die Pfade selbst sind in der Richtung der ersten Geometrie angegeben.

Syntax

shared_paths(geometry1, geometry2)

Argumente

  • geometry1 - eine LineString/MultiLineString-Geometrie

  • geometry2 - eine LineString/MultiLineString-Geometrie

Beispiele

  • geom_to_wkt(shared_paths(geom_from_wkt('MULTILINESTRING((26 125,26 200,126 200,126 125,26 125),(51 150,101 150,76 175,51 150)))'),geom_from_wkt('LINESTRING(151 100,126 156.25,126 125,90 161, 76 175)'))) → ‚GeometryCollection (MultiLineString ((126 156.25, 126 125),(101 150, 90 161),(90 161, 76 175)),MultiLineString EMPTY)‘

  • geom_to_wkt(shared_paths(geom_from_wkt('LINESTRING(76 175,90 161,126 125,126 156.25,151 100)'),geom_from_wkt('MULTILINESTRING((26 125,26 200,126 200,126 125,26 125),(51 150,101 150,76 175,51 150))'))) → ‚GeometryCollection (MultiLineString EMPTY,MultiLineString ((76 175, 90 161),(90 161, 101 150),(126 125, 126 156.25)))‘

13.2.13.113. shortest_line

Gibt die kürzeste Linie zurück, die Geometrie1 mit Geometrie2 verbindet. Die resultierende Linie beginnt bei Geometrie1 und endet bei Geometrie2.

Syntax

shortest_line(geometry1, geometry2)

Argumente

  • geometry1 - Geometrie, von der die kürzeste Linie gefunden werden soll

  • geometry2 - Geometrie, zu der die kürzeste Linie gefunden werden soll

Beispiele

  • geom_to_wkt(shortest_line(geom_from_wkt('LINESTRING (20 80, 98 190, 110 180, 50 75 )'),geom_from_wkt('POINT(100 100)'))) → ‚LineString(73.0769 115.384, 100 100)‘

13.2.13.114. simplify

Vereinfacht eine Geometrie durch Entfernen von Knoten unter Verwendung eines abstandsbasierten Schwellenwerts (d. h. des Douglas-Peucker-Algorithmus). Der Algorithmus bewahrt große Abweichungen in Geometrien und reduziert die Anzahl der Scheitelpunkte in nahezu geraden Segmenten.

Syntax

simplify(geometry, tolerance)

Argumente

  • geometry - eine Geometrie

  • tolerance - maximale Abweichung von geraden Segmenten für zu entfernende Punkte

Beispiele

  • geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5)) → ‚LineString(0 0, 10 0)‘

../../../_images/simplify_geometries.png

Von links nach rechts: Quell-Layer und zunehmende Vereinfachungs-Toleranzen

Siehe auch: Simplify-Algorithmus

13.2.13.115. simplify_vw

Vereinfacht eine Geometrie durch Entfernen von Knoten unter Verwendung eines flächenbasierten Schwellenwerts (d. h. des Visvalingam-Whyatt-Algorithmus). Der Algorithmus entfernt Scheitelpunkte, die kleine Bereiche in Geometrien erzeugen, z. B. schmale Spitzen oder fast gerade Segmente.

Syntax

simplify_vw(geometry, tolerance)

Argumente

  • geometry - eine Geometrie

  • tolerance - ein Maß für die maximale Fläche, die durch einen Knoten entsteht, wenn dieser entfernt werden soll

Beispiele

  • geom_to_wkt(simplify_vw(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5.01 10, 5.02 0, 10 0)'),tolerance:=5)) → ‚LineString(0 0, 10 0)‘

Siehe auch: Simplify-Algorithmus

13.2.13.116. single_sided_buffer

Gibt eine Geometrie zurück, die durch Pufferung nur einer Seite einer Liniengeometrie gebildet wird. Die Abstände sind im räumlichen Bezugssystem dieser Geometrie angegeben.

Syntax

single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine (Multi-)Linien-Geometrie

  • distance - Pufferabstand. Positive Werte werden links von den Linien gepuffert, negative Werte rechts.

  • segments - Anzahl der Segmente, die zur Darstellung eines Viertelkreises verwendet werden, wenn ein runder Verbindungsstil verwendet wird. Eine größere Anzahl führt zu einem glatteren Puffer mit mehr Knotenpunkten.

  • join - Verbindungsstil für Ecken, wobei 1 = rund, 2 = Gehrung und 3 = Fase

  • miter_limit - Begrenzung des Gehrungsverhältnisses bei sehr scharfen Ecken (wenn nur Gehrungsverbindungen verwendet werden)

Beispiele

  • single_sided_buffer(@geometry, 10.5) → Linie um 10,5 Einheiten nach links gepuffert

  • single_sided_buffer(@geometry, -10.5) → Linie um 10,5 Einheiten nach rechts gepuffert

  • single_sided_buffer(@geometry, 10.5, segments:=16, join:=1) → eine um 10,5 Einheiten nach links gepufferte Linie, wobei mehr Segmente verwendet werden, um einen gleichmäßigeren Puffer zu erhalten

  • single_sided_buffer(@geometry, 10.5, join:=3) → eine um 10,5 Einheiten nach links gepufferte Linie, die eine abgeschrägte Verbindung verwendet

../../../_images/single_side_buffer.png

Linke und rechte Pufferung der gleichen Linie

Siehe auch: Single sided buffer-Algorithmus

13.2.13.117. sinuosity

Liefert die Sinuskurve einer Kurve, d. h. das Verhältnis zwischen der Länge der Kurve und dem geraden (2D-)Abstand zwischen ihren Endpunkten.

Syntax

sinuosity(geometry)

Argumente

  • geometry - Eingabekurve (circularstring, linestring)

Beispiele

  • round(sinuosity(geom_from_wkt('LINESTRING(2 0, 2 2, 3 2, 3 3)')), 3) → 1.265

  • sinuosity(geom_from_wkt('LINESTRING( 3 1, 5 1)')) → 1.0

13.2.13.118. smooth

Glättet eine Geometrie durch Hinzufügen zusätzlicher Knoten, die die Ecken der Geometrie abrunden. Wenn Eingabegeometrien Z- oder M-Werte enthalten, werden diese ebenfalls geglättet und die Ausgabegeometrie behält die gleiche Dimensionalität wie die Eingabegeometrie.

Syntax

smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • iterations - Anzahl der anzuwendenden Glättungswiederholungen. Größere Zahlen führen zu glatteren, aber komplexeren Geometrien.

  • offset - Wert zwischen 0 und 0,5, der bestimmt, wie eng die geglättete Geometrie der ursprünglichen Geometrie folgt. Kleinere Werte führen zu einer engeren Glättung, größere Werte zu einer lockereren Glättung.

  • min_length - Mindestlänge der Segmente, auf die die Glättung angewendet werden soll. Dieser Parameter kann verwendet werden, um zu vermeiden, dass zu viele zusätzliche Knoten in kürzeren Segmenten der Geometrie platziert werden.

  • max_angle - maximaler Winkel am Knoten für die Anwendung der Glättung (0-180). Durch Herabsetzen des maximalen Winkels können absichtlich scharfe Ecken in der Geometrie erhalten bleiben. Bei einem Wert von 80 Grad bleiben zum Beispiel rechte Winkel in der Geometrie erhalten.

Beispiele

  • geom_to_wkt(smooth(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5 5)'),iterations:=1,offset:=0.2,min_length:=-1,max_angle:=180)) → ‚LineString (0 0, 4 0, 5 1, 5 5)‘

../../../_images/smooth_geometry_1.png

Mit zunehmender Anzahl von Iterationen werden die Geometrien glatter

Siehe auch: Smooth-Algorithmus

13.2.13.119. square_wave

Konstruiert quadratische/rechteckige Wellen entlang des Randes einer Geometrie.

Syntax

square_wave(geometry, wavelength, amplitude, [strict=False])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • wavelength - Wellenlänge der Rechteck-Wellenform

  • amplitude - Amplitude der Rechteck-Wellenform

  • strict - Standardmäßig wird das Argument Wellenlänge als „maximale Wellenlänge“ behandelt, wobei die tatsächliche Wellenlänge dynamisch angepasst wird, so dass eine genaue Anzahl von Rechteckwellen entlang der Grenzen der Geometrie erzeugt wird. Wenn das Strict-Argument auf true gesetzt wird, wird die Wellenlänge exakt verwendet und es kann ein unvollständiges Muster für die endgültige Wellenform verwendet werden.

Beispiele

  • square_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Rechteckwellen mit der Wellenlänge 3 und der Amplitude 1 entlang des Linienstrangs

../../../_images/square_wave.png

Symbolisierung von Objekten mit Rechteckwellen

13.2.13.120. square_wave_randomized

Konstruiert zufällige quadratische/rechteckige Wellen entlang des Randes einer Geometrie.

Syntax

square_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • min_wavelength - Mindestwellenlänge der Wellen

  • max_wavelength - maximale Wellenlänge der Wellen

  • min_amplitude - Mindestamplitude der Wellen

  • max_amplitude - maximale Amplitude der Wellen

  • seed - gibt einen Zufallswert für die Erzeugung von Wellen an. Wenn der Seed 0 ist, wird ein völlig zufälliger Satz von Wellen erzeugt.

Beispiele

  • square_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Quadratische Wellen zufälliger Größe mit Wellenlängen zwischen 2 und 3 und Amplituden zwischen 0,1 und 0,2 entlang des Linienstrangs

../../../_images/square_wave_randomized.png

Symbolisierung von Objekten mit quadratischen Zufallswellen

13.2.13.121. start_point

Gibt den ersten Knoten aus einer Geometrie zurück.

Syntax

start_point(geometry)

Argumente

  • geometry - Geometrie-Objekt

Beispiele

  • geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)'))) → ‚Point (4 0)‘

../../../_images/start_point.png

Startpunkt eines Linienobjekts

Siehe auch: end_point, Extract specific vertices Algorithmus

13.2.13.122. straight_distance_2d

Gibt den direkten/euklidischen Abstand zwischen dem ersten und dem letzten Scheitelpunkt einer Geometrie zurück. Die Geometrie muss eine Kurve sein (circularstring, linestring).

Syntax

straight_distance_2d(geometry)

Argumente

  • geometry - Die Geometrie.

Beispiele

  • straight_distance_2d(geom_from_wkt('LINESTRING(1 0, 1 1)')) → 1

  • round(straight_distance_2d(geom_from_wkt('LINESTRING(1 4, 3 5, 5 0)')), 3) → 5.657

Siehe auch: length

13.2.13.123. sym_difference

Gibt eine Geometrie zurück, die die Teile von zwei Geometrien darstellt, die sich nicht schneiden.

Syntax

sym_difference(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • geom_to_wkt( sym_difference( geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ), geom_from_wkt( 'LINESTRING(3 3, 8 8)' ) ) ) → ‚LINESTRING(5 5, 8 8)‘

Siehe auch: Symmetrical difference-Algorithmus

13.2.13.124. tapered_buffer

Erzeugt einen Puffer entlang einer Liniengeometrie, wobei der Pufferdurchmesser gleichmäßig über die Länge der Linie variiert.

Syntax

tapered_buffer(geometry, start_width, end_width, [segments=8])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - Eingabegeometrie. Muss eine (Multi-)Liniengeometrie sein.

  • start_width - Breite des Puffers am Anfang der Linie

  • end_width - Breite des Puffers am Ende der Linie

  • segments - Anzahl der Segmente zur Annäherung von Viertelkreiskurven im Puffer.

Beispiele

  • tapered_buffer(geometry:=geom_from_wkt('LINESTRING(1 2, 4 2)'),start_width:=1,end_width:=2,segments:=8) → Ein sich verjüngender Puffer, der mit einem Durchmesser von 1 beginnt und mit einem Durchmesser von 2 entlang der Geometrie des Linestrings endet.

../../../_images/tapered_buffer.png

Konische Puffer um Linien-Objekte

Siehe auch: Tapered buffers-Algorithmus

13.2.13.125. touches

Prüft, ob eine Geometrie eine andere berührt. Gibt TRUE zurück, wenn die Geometrien mindestens einen gemeinsamen Punkt haben, aber ihre Innenräume sich nicht überschneiden.

Syntax

touches(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • touches( geom_from_wkt( 'LINESTRING(5 3, 4 4)' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → TRUE

  • touches( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) → FALSE

Siehe auch: overlay_touches

13.2.13.126. transform

Gibt die Geometrie zurück, die von einem Quell-KBS in ein Ziel-KBS transformiert wurde.

Syntax

transform(geometry, source_auth_id, dest_auth_id)

Argumente

  • geometry - eine Geometrie

  • source_auth_id - die KBS-ID der Quelle

  • dest_auth_id - die Ziel-KBS-ID

Beispiele

  • geom_to_wkt( transform( make_point(488995.53240249, 7104473.38600835), 'EPSG:2154', 'EPSG:4326' ) ) → ‚POINT(0 51)‘

Siehe auch: Reproject layer-Algorithmus

13.2.13.127. translate

Gibt eine verschobene Version einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

translate(geometry, dx, dy)

Argumente

  • geometry - eine Geometrie

  • dx - delta x

  • dy - delta y

Beispiele

  • translate(@geometry, 5, 10) → eine Geometrie des gleichen Typs wie die ursprüngliche Geometrie

../../../_images/translate_geometry.png

Verschobene Objekte

Siehe auch: Translate-Algorithmus

13.2.13.128. triangular_wave

Konstruiert dreieckige Wellen entlang der Begrenzung einer Geometrie.

Syntax

triangular_wave(geometry, wavelength, amplitude, [strict=False])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • wavelength - Wellenlänge der Dreieckswellenform

  • amplitude - Amplitude der Dreieckswellenform

  • strict - Standardmäßig wird das Argument Wellenlänge als „maximale Wellenlänge“ behandelt, wobei die tatsächliche Wellenlänge dynamisch angepasst wird, so dass eine genaue Anzahl von Dreieckswellen entlang der Grenzen der Geometrie erzeugt wird. Wenn das Argument strict auf true gesetzt wird, wird die Wellenlänge exakt verwendet, und es kann ein unvollständiges Muster für die endgültige Wellenform entstehen.

Beispiele

  • triangular_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Dreieckswellen mit einer Wellenlänge von 3 und einer Amplitude von 1 entlang des Linienstrangs

../../../_images/triangular_wave.png

Symbolisierung von Objekten mit Dreieckswellen

13.2.13.129. triangular_wave_randomized

Konstruiert zufällige Dreieckswellen entlang des Randes einer Geometrie.

Syntax

triangular_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • min_wavelength - Mindestwellenlänge der Wellen

  • max_wavelength - maximale Wellenlänge der Wellen

  • min_amplitude - Mindestamplitude der Wellen

  • max_amplitude - maximale Amplitude der Wellen

  • seed - gibt einen Zufallswert für die Erzeugung von Wellen an. Wenn der Seed 0 ist, wird ein völlig zufälliger Satz von Wellen erzeugt.

Beispiele

  • triangular_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Dreieckige Wellen mit zufälliger Größe, mit Wellenlängen zwischen 2 und 3 und Amplituden zwischen 0,1 und 0,2 entlang des Linienzugs

../../../_images/triangular_wave_randomized.png

Symbolisierung von Objekten mit dreieckigen Zufallswellen

13.2.13.130. union

Gibt eine Geometrie zurück, die die Punktmengenvereinigung der Eingabe-Geometrien darstellt.

Syntax

union(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • geom_to_wkt( union( make_point(4, 4), make_point(5, 5) ) ) → ‚MULTIPOINT(4 4, 5 5)‘

13.2.13.131. wave

Konstruiert gerundete (sinusförmige) Wellen entlang der Begrenzung einer Geometrie.

Syntax

wave(geometry, wavelength, amplitude, [strict=False])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • wavelength - Wellenlänge der sinusförmigen Wellenform

  • amplitude - Amplitude der sinusförmigen Wellenform

  • strict - Standardmäßig wird das Argument Wellenlänge als „maximale Wellenlänge“ behandelt, wobei die tatsächliche Wellenlänge dynamisch angepasst wird, so dass eine genaue Anzahl von Wellen entlang der Grenzen der Geometrie erzeugt wird. Wenn das Strict-Argument auf true gesetzt wird, wird die Wellenlänge exakt verwendet und es kann ein unvollständiges Muster für die endgültige Wellenform entstehen.

Beispiele

  • wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Sinusförmige Wellen mit der Wellenlänge 3 und der Amplitude 1 entlang des Linienstrangs

../../../_images/wave.png

Objekte mit Wellen symbolisieren

13.2.13.132. wave_randomized

Konstruiert zufällig gekrümmte (sinusförmige) Wellen entlang der Begrenzung einer Geometrie.

Syntax

wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] kennzeichnet optionale Argumente

Argumente

  • geometry - eine Geometrie

  • min_wavelength - Mindestwellenlänge der Wellen

  • max_wavelength - maximale Wellenlänge der Wellen

  • min_amplitude - Mindestamplitude der Wellen

  • max_amplitude - maximale Amplitude der Wellen

  • seed - gibt einen Zufallswert für die Erzeugung von Wellen an. Wenn der Seed 0 ist, wird ein völlig zufälliger Satz von Wellen erzeugt.

Beispiele

  • wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Gekrümmte Wellen von zufälliger Größe mit Wellenlängen zwischen 2 und 3 und Amplituden zwischen 0,1 und 0,2 entlang des Linienstrangs

../../../_images/wave_randomized.png

Symbolisierung von Objekten mit randomisierten Wellen

13.2.13.133. wedge_buffer

Gibt einen keilförmigen Puffer zurück, der von einer Punktgeometrie ausgeht.

Syntax

wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0])

[] kennzeichnet optionale Argumente

Argumente

  • center - Mittelpunkt (Ursprung) des Puffers. Muss eine Punktgeometrie sein.

  • azimuth - Winkel (in Grad), in dem die Mitte des Keils nach oben zeigt.

  • width - Pufferbreite (in Grad). Beachten Sie, dass sich der Keil bis zur Hälfte der Winkelbreite auf beiden Seiten der Azimutrichtung erstreckt.

  • outer_radius - Außenradius bei Puffern

  • inner_radius - optionaler Innenradius für Puffer

Beispiele

  • wedge_buffer(center:=geom_from_wkt('POINT(1 2)'),azimuth:=90,width:=180,outer_radius:=1) → Ein keilförmiger Puffer, der auf dem Punkt (1,2) zentriert ist, nach Osten ausgerichtet ist, eine Breite von 180 Grad und einen Außenradius von 1 hat.

../../../_images/wedge_buffers.png

Objekte mit Keilpufferung

Siehe auch: Create wedge buffers-Algorithmus

13.2.13.134. within

Prüft, ob eine Geometrie innerhalb einer anderen liegt. Gibt TRUE zurück, wenn die Geometrie1 vollständig innerhalb der Geometrie2 liegt.

Syntax

within(geometry1, geometry2)

Argumente

  • geometry1 - eine Geometrie

  • geometry2 - eine weitere Geometrie

Beispiele

  • within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) ) → TRUE

  • within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) ) → FALSE

Siehe auch: overlay_within

13.2.13.135. $x

Gibt die x-Koordinate des aktuellen Punktmerkmals zurück. Handelt es sich bei dem Objekt um ein Mehrpunkt-Feature, wird die x-Koordinate des ersten Punktes zurückgegeben. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzfunktion x() mit der Variablen @geometry zu verwenden.

Syntax

$x

Beispiele

  • $x → 42

Siehe auch: x

13.2.13.136. x

Gibt die x-Koordinate einer Punktgeometrie oder die x-Koordinate des Schwerpunkts bei einer Nicht-Punktgeometrie zurück.

Syntax

x(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • x( geom_from_wkt( 'POINT(2 5)' ) ) → 2

  • x( @geometry ) → x-Koordinate des Schwerpunkts des aktuellen Objekts

13.2.13.137. $x_at

Ermittelt eine x-Koordinate der Geometrie des aktuellen Objekts. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzfunktion x_at mit der Variablen @geometry zu verwenden.

Syntax

$x_at(vertex)

Argumente

  • vertex - Index des Scheitelpunkts der aktuellen Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • $x_at(1) → 5

Siehe auch: x_at

13.2.13.138. x_at

Liefert eine x-Koordinate der Geometrie.

Syntax

x_at(geometry, vertex)

Argumente

  • geometry - Geometrie-Objekt

  • vertex - Index des Knotenpunkts der Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • x_at( geom_from_wkt( 'POINT(4 5)' ), 0 ) → 4

13.2.13.139. x_max

Gibt die maximale x-Koordinate einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

x_max(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 4

13.2.13.140. x_min

Gibt die minimale x-Koordinate einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

x_min(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 2

13.2.13.141. $y

Gibt die y-Koordinate des aktuellen Punkt-Features zurück. Handelt es sich bei dem Objekt um ein Mehrpunkt-Feature, wird die y-Koordinate des ersten Punktes zurückgegeben. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzfunktion y() mit der Variablen @geometry zu verwenden.

Syntax

$y

Beispiele

  • $y → 42

Siehe auch: y

13.2.13.142. y

Gibt die y-Koordinate einer Punktgeometrie oder die y-Koordinate des Schwerpunkts bei einer Nicht-Punktgeometrie zurück.

Syntax

y(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • y( geom_from_wkt( 'POINT(2 5)' ) ) → 5

  • y( @geometry ) → y-Koordinate des Schwerpunkts des aktuellen Objekts

13.2.13.143. $y_at

Liefert eine y-Koordinate der Geometrie des aktuellen Objekts. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzfunktion y_at mit der Variablen @geometry zu verwenden.

Syntax

$y_at(vertex)

Argumente

  • vertex - Index des Scheitelpunkts der aktuellen Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • $y_at(1) → 2

Siehe auch: y_at

13.2.13.144. y_at

Liefert eine y-Koordinate der Geometrie.

Syntax

y_at(geometry, vertex)

Argumente

  • geometry - Geometrie-Objekt

  • vertex - Index des Knotenpunkts der Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • y_at( geom_from_wkt( 'POINT(4 5)' ), 0 ) → 5

13.2.13.145. y_max

Gibt die maximale y-Koordinate einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

y_max(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 8

13.2.13.146. y_min

Gibt die minimale y-Koordinate einer Geometrie zurück. Die Berechnungen erfolgen im räumlichen Bezugssystem dieser Geometrie.

Syntax

y_min(geometry)

Argumente

  • geometry - eine Geometrie

Beispiele

  • y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 5

13.2.13.147. $z

Gibt den z-Wert des aktuellen Punktobjekts zurück, wenn es sich um ein 3D-Objekt handelt. Handelt es sich bei dem Objekt um ein Multipunkt- Objekt, dann wird der z-Wert des ersten Punktes zurückgegeben. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzfunktion z() mit der Variablen @geometry zu verwenden.

Syntax

$z

Beispiele

  • $z → 123

13.2.13.148. z

Gibt die z-Koordinate einer Punktgeometrie zurück, oder NULL, wenn die Geometrie keinen z-Wert hat.

Syntax

z(geometry)

Argumente

  • geometry - eine Punktgeometrie

Beispiele

  • z( geom_from_wkt( 'POINTZ(2 5 7)' ) ) → 7

13.2.13.149. z_at

Liefert eine z-Koordinate der Geometrie oder NULL, wenn die Geometrie keinen z-Wert hat.

Syntax

z_at(geometry, vertex)

Argumente

  • geometry - Geometrie-Objekt

  • vertex - Index des Knotenpunkts der Geometrie (die Indizes beginnen bei 0; negative Werte gelten ab dem letzten Index, beginnend bei -1)

Beispiele

  • z_at(geom_from_wkt('LineStringZ(0 0 0, 10 10 5, 10 10 0)'), 1) → 5

13.2.13.150. z_max

Gibt die maximale z-Koordinate einer Geometrie zurück, oder NULL, wenn die Geometrie keinen z-Wert hat.

Syntax

z_max(geometry)

Argumente

  • geometry - eine Geometrie mit z-Koordinate

Beispiele

  • z_max( geom_from_wkt( 'POINT ( 0 0 1 )' ) ) → 1

  • z_max( geom_from_wkt( 'MULTIPOINT ( 0 0 1 , 1 1 3 )' ) ) → 3

  • z_max( make_line( make_point( 0,0,0 ), make_point( -1,-1,-2 ) ) ) → 0

  • z_max( geom_from_wkt( 'LINESTRING( 0 0 0, 1 0 2, 1 1 -1 )' ) ) → 2

  • z_max( geom_from_wkt( 'POINT ( 0 0 )' ) ) → NULL

13.2.13.151. z_min

Gibt die minimale z-Koordinate einer Geometrie zurück, oder NULL, wenn die Geometrie keinen z-Wert hat.

Syntax

z_min(geometry)

Argumente

  • geometry - eine Geometrie mit z-Koordinate

Beispiele

  • z_min( geom_from_wkt( 'POINT ( 0 0 1 )' ) ) → 1

  • z_min( geom_from_wkt( 'MULTIPOINT ( 0 0 1 , 1 1 3 )' ) ) → 1

  • z_min( make_line( make_point( 0,0,0 ), make_point( -1,-1,-2 ) ) ) → -2

  • z_min( geom_from_wkt( 'LINESTRING( 0 0 0, 1 0 2, 1 1 -1 )' ) ) → -1

  • z_min( geom_from_wkt( 'POINT ( 0 0 )' ) ) → NULL

13.2.14. Layout Funktionen

Diese Gruppe enthält Funktionen zur Bearbeitung der Eigenschaften von Drucklayout-Elementen.

13.2.14.1. item_variables

Liefert eine Zuordnung von Variablen aus einem Layoutelement innerhalb dieses Drucklayouts.

Syntax

item_variables(id)

Argumente

  • id - Layoutelement-ID

Beispiele

  • map_get( item_variables('Map 0'), 'map_scale') → Maßstab des Elements „Map 0“ im aktuellen Drucklayout

Siehe auch: Liste der standardmäßigen Variablen

13.2.14.2. map_credits

Gibt eine Liste von Credit-Strings (Nutzungsrechte) für die in einem Layout angezeigten Layer oder ein bestimmtes Layout-Kartenelement zurück.

Syntax

map_credits([id], [include_layer_names=false], [layer_name_separator=‘: ‚])

[] kennzeichnet optionale Argumente

Argumente

  • id - Kartenelement-ID. Wenn nicht angegeben, werden die Layer aus allen Karten im Layout verwendet..

  • include_layer_names - Auf true setzen, um Layer-Namen vor ihren Credit-Strings einzuschließen

  • layer_name_separator - Zeichenkette, die zwischen den Namen der Layer und ihren Credit-Strings eingefügt wird, wenn include_layer_names true ist

Beispiele

  • array_to_string( map_credits() ) → durch Kommata getrennte Liste der Layer-Credits für alle Layer, die in allen Kartenelementen im Layout angezeigt werden, z. B. „CC-BY-NC, CC-BY-SA“.

  • array_to_string( map_credits( 'Main Map' ) ) → kommagetrennte Liste der Layer-Credits für die im Layoutelement „Hauptkarte“ angezeigten Layer, z. B. „CC-BY-NC, CC-BY-SA“.

  • array_to_string( map_credits( 'Main Map', include_layer_names := true, layer_name_separator := ': ' ) ) → kommagetrennte Liste von Layernamen und deren Credits für Layer, die im Layoutelement „Hauptkarte“ angezeigt werden, z. B. „Eisenbahnlinien: CC-BY-NC, Basemap: CC-BY-SA

Diese Funktion setzt voraus, dass die Zugriffs-Metadateneigenschaften der Layer gefüllt sind.

13.2.15. Kartenlayer

Diese Gruppe enthält eine Liste der im aktuellen Projekt verfügbaren Layer und für jeden Layer die zugehörigen Felder (im Datensatz gespeicherte, virtuelle oder zusätzliche Felder sowie Felder aus Verknüpfungen). Mit den Feldern kann auf die gleiche Weise interagiert werden wie in Felder und Werte, mit dem Unterschied, dass ein Doppelklick den Namen als String (in einfachen Anführungszeichen) zum Ausdruck hinzufügt und nicht als Feldreferenz, da sie nicht zum aktiven Layer gehören. Dies bietet eine bequeme Möglichkeit, Ausdrücke zu schreiben, die sich auf verschiedene Layer beziehen, z.B. bei der Ausführung von Aggregate-, Attribut- oder Räumlichen Abfragen.

Es bietet auch einige nützliche Funktionen zur Bearbeitung von Layern.

13.2.15.1. decode_uri

Nimmt einen Layer und dekodiert die uri des zugrunde liegenden Datenanbieters. Es hängt vom Datenanbieter ab, welche Daten verfügbar sind.

Syntax

decode_uri(layer, [part])

[] kennzeichnet optionale Argumente

Argumente

  • layer - Der Layer, für den die uri dekodiert werden soll.

  • part - Der Teil der uri, der zurückgegeben werden soll. Wenn nichts angegeben ist, wird eine Map mit allen uri-Teilen zurückgegeben.

Beispiele

  • decode_uri(@layer) → {‚layerId‘: ‚0‘, ‚layerName‘: ‚‘, ‚path‘: ‚/home/qgis/shapefile.shp‘}

  • decode_uri(@layer) → {‚layerId‘: NULL, ‚layerName‘: ‚layer‘, ‚path‘: ‚/home/qgis/geopackage.gpkg‘}

  • decode_uri(@layer, 'path') → ‚C:\my_data\qgis\shape.shp‘

13.2.15.2. layer_property

Gibt eine passende Layer-Eigenschaft oder einen Metadatenwert zurück.

Syntax

layer_property(layer, property)

Argumente

  • layer - eine Zeichenkette, die entweder einen Layernamen oder eine Layer-ID darstellt

  • property - eine Zeichenkette, die der zurückzugebenden Eigenschaft entspricht. Gültige Optionen sind:

    • name: Layer-Name

    • id: Layer-ID

    • title: Metadaten Titelstring

    • abstract: Metadata Zusammenfassung

    • keywords: Metadaten-Schlüsselwörter

    • data_url: Metadaten-URL

    • attribution: Metadaten-Attribut-String

    • attribution_url: Metadaten-Attribut-URL

    • source: Layer-Quelle

    • min_scale: minimaler Anzeigemaßstab für Layer

    • max_scale: maximaler Anzeigemaßstab für Layer

    • is_editable: ob sich der Layer im Bearbeitungsmodus befindet

    • crs: Layer KBS

    • crs_definition: Layer KBS vollständige Definition

    • crs_description: Layer KBS Beschreibung

    • crs_ellipsoid: Abkürzung des Layers KBS-Ellipsoid

    • extent: Ausdehnung des Layers (als Geometrieobjekt)

    • distance_units: Layer-Abstandseinheiten

    • type: Layer-Typ, z. B. Vektor oder Raster

    • storage_type: Speicherformat (nur Vektorlayer)

    • geometry_type: Geometrietyp, z. B. Punkt (nur Vektor-Layer)

    • feature_count: ungefähre Anzahl der Objekte für Layer (nur Vektorlayer)

    • path: Pfad zur Datenquelle des Layers. Nur für dateibasierte Layer verfügbar.

Beispiele

  • layer_property('streets','title') → ‚Basemap Streets‘

  • layer_property('airports','feature_count') → 120

  • layer_property('landsat','crs') → ‚EPSG:4326‘

Siehe auch: Vektor-, Raster- und Netz- Layer-Eigenschaften

13.2.15.3. load_layer

Lädt einen Layer nach Quell-URI und Anbieternamen.

Syntax

load_layer(uri, provider)

Argumente

  • uri - Layer-Quelle URI-String

  • provider - Layer Datenanbieter Name

Beispiele

  • layer_property(load_layer('c:/data/roads.shp', 'ogr'), 'feature_count') → Anzahl der Objekte aus dem Vektor-Layer c:/data/roads.shp

13.2.16. Zuordnungs-Funktionen

Diese Gruppe enthält Funktionen zum Erstellen oder Bearbeiten von Schlüsseln und Werten der Map-Datenstrukturen (auch bekannt als Wörterbuchobjekte, Schlüssel-Wert-Paare oder assoziative Arrays). Anders als bei den Array-Funktionen, bei der die Reihenfolge der Werte eine Rolle spielt, ist die Reihenfolge der Schlüssel-Wert-Paare im Map-Objekt nicht relevant, da die Werte durch ihre Schlüssel identifiziert werden.

13.2.16.1. from_json

Lädt eine JSON-formatierte Zeichenkette.

Syntax

from_json(string)

Argumente

  • string - JSON-Zeichenkette

Beispiele

  • from_json('{"qgis":"rocks"}') → { ‚qgis‘: ‚rocks‘ }

  • from_json('[1,2,3]') → [1,2,3]

13.2.16.2. hstore_to_map

Erzeugt eine Zuordnung aus einer hstore-formatierten Zeichenkette.

Syntax

hstore_to_map(string)

Argumente

  • string - die Eingabezeichenkette

Beispiele

  • hstore_to_map('qgis=>rocks') → { ‚qgis‘: ‚rocks‘ }

13.2.16.3. map

Gibt eine Zuordnung zurück, die alle Schlüssel und Werte enthält, die als Paar von Parametern übergeben wurden.

Syntax

map(key1, value1, key2, value2, …)

Argumente

  • key - a key (string)

  • value - ein Wert

Beispiele

  • map('1','one','2', 'two') → { ‚1‘: ‚one‘, ‚2‘: ‚two‘ }

  • map('1','one','2', 'two')['1'] → ‚one‘

13.2.16.4. map_akeys

Gibt alle Schlüssel einer Zuordnung als Array zurück.

Syntax

map_akeys(map)

Argumente

  • map - eine Zuordnung

Beispiele

  • map_akeys(map('1','one','2','two')) → [ ‚1‘, ‚2‘ ]

13.2.16.5. map_avals

Gibt alle Werte einer Zuordnung als Array zurück.

Syntax

map_avals(map)

Argumente

  • map - eine Zuordnung

Beispiele

  • map_avals(map('1','one','2','two')) → [ ‚one‘, ‚two‘ ]

13.2.16.6. map_concat

Gibt eine Zuordnung zurück, die alle Einträge der angegebenen Zuordnungen enthält. Wenn zwei Zuordnungen den gleichen Schlüssel enthalten, wird der Wert der zweiten Zuordnung genommen.

Syntax

map_concat(map1, map2, …)

Argumente

  • map - eine Zuordnung

Beispiele

  • map_concat(map('1','one', '2','overridden'),map('2','two', '3','three')) → { ‚1‘: ‚one‘, ‚2‘: ‚two‘, ‚3‘: ‚three‘ }

13.2.16.7. map_delete

Gibt eine Zuordnung zurück, in der der angegebenen Schlüssel und der dazugehörige Wert gelöscht wurden.

Syntax

map_delete(map, key)

Argumente

  • map - eine Zuordnung

  • key - der zu löschende Schlüssel

Beispiele

  • map_delete(map('1','one','2','two'),'2') → { ‚1‘: ‚one‘ }

13.2.16.8. map_exist

Gibt TRUE zurück, wenn der angegebene Schlüssel in der Zuordnung existiert.

Syntax

map_exist(map, key)

Argumente

  • map - eine Zuordnung

  • key - der Schlüssel zum Nachschlagen

Beispiele

  • map_exist(map('1','one','2','two'),'3') → FALSE

13.2.16.9. map_get

Gibt den Wert einer Zuordnung mit ihrem Schlüssel zurück. Gibt NULL zurück, wenn der Schlüssel nicht vorhanden ist.

Syntax

map_get(map, key)

Argumente

  • map - eine Zuordnung

  • key - der Schlüssel zum Nachschlagen

Beispiele

  • map_get(map('1','one','2','two'),'2') → ‚two‘

  • map_get( item_variables('Map 0'), 'map_scale') → Maßstab des Elements „Map 0“ (falls vorhanden) im aktuellen Drucklayout

Hinweis

Sie können auch den Index-Operator ([]) verwenden, um einen Wert aus einer Zuordnung zu erhalten.

13.2.16.10. map_insert

Gibt eine Zuordnung mit einem hinzugefügten Schlüssel/Wert zurück. Wenn der Schlüssel bereits existiert, wird sein Wert überschrieben.

Syntax

map_insert(map, key, value)

Argumente

  • map - eine Zuordnung

  • key - der Schlüssel zum Hinzufügen

  • value - der hinzuzufügende Wert

Beispiele

  • map_insert(map('1','one'),'3','three') → { ‚1‘: ‚one‘, ‚3‘: ‚three‘ }

  • map_insert(map('1','one','2','overridden'),'2','two') → { ‚1‘: ‚one‘, ‚2‘: ‚two‘ }

13.2.16.11. map_prefix_keys

Gibt eine Zuordnung mit allen Schlüsseln zurück, denen eine bestimmte Zeichenkette vorangestellt ist.

Syntax

map_prefix_keys(map, prefix)

Argumente

  • map - eine Zuordnung

  • prefix - eine Zeichenkette

Beispiele

  • map_prefix_keys(map('1','one','2','two'), 'prefix-') → { ‚prefix-1‘: ‚one‘, ‚prefix-2‘: ‚two‘ }

13.2.16.12. map_to_hstore

Zusammenführen von Zuordnungselementen in eine hstore-formatierte Zeichenkette.

Syntax

map_to_hstore(map)

Argumente

  • map - die Eingabe-Zuordnung

Beispiele

  • map_to_hstore(map('qgis','rocks')) → ‚„qgis“=>“rocks“‘

13.2.16.13. map_to_html_dl

Zusammenführen von Zuordnungselementen in einen HTML-Definitionslisten-String.

Syntax

map_to_html_dl(map)

Argumente

  • map - die Eingabe-Zuordnung

Beispiele

  • map_to_html_dl(map('qgis','rocks')) → <dl><dt>qgis</dt><dd>rocks</dd></dl>

13.2.16.14. map_to_html_table

Zusammenführen von Zuordnungselementen in einen HTML-Tabellenstring.

Syntax

map_to_html_table(map)

Argumente

  • map - die Eingabe-Zuordnung

Beispiele

  • map_to_html_table(map('qgis','rocks')) → <table><thead><th>qgis</th></thead><tbody><tr><td>rocks</td></tr></tbody></table>

13.2.16.15. to_json

Erstellen einer JSON-formatierten Zeichenkette aus einer Zuordnung, einem Array oder einem anderen Wert.

Syntax

to_json(value)

Argumente

  • value - der Eingabewert

Beispiele

  • to_json(map('qgis','rocks')) → {„qgis“:“rocks“}

  • to_json(array(1,2,3)) → [1,2,3]

13.2.16.16. url_encode

Gibt eine URL-kodierte Zeichenkette aus einer Zuordnung zurück. Wandelt alle Zeichen in ihre korrekt kodierte Form um und erzeugt eine vollständig konforme Abfragezeichenfolge.

Beachten Sie, dass das Pluszeichen ‚+‘ nicht umgewandelt wird..

Syntax

url_encode(map)

Argumente

  • map - eine Zuordnung

Beispiele

  • url_encode(map('a&+b', 'a and plus b', 'a=b', 'a equals b')) → ‚a%26+b=a%20and%20plus%20b&a%3Db=a%20equals%20b‘

13.2.17. Mathematische Funktionen

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

13.2.17.1. abs

Gibt den absoluten Wert einer Zahl zurück.

Syntax

abs(value)

Argumente

  • value - eine Zahl

Beispiele

  • abs(-2) → 2

13.2.17.2. acos

Gibt den inversen Kosinus eines Wertes im Bogenmaß zurück.

Syntax

acos(value)

Argumente

  • value - Kosinus eines Winkels im Bogenmaß

Beispiele

  • acos(0.5) → 1.0471975511966

13.2.17.3. asin

Gibt den inversen Sinus eines Wertes im Bogenmaß zurück.

Syntax

asin(value)

Argumente

  • value - Sinus eines Winkels im Bogenmaß

Beispiele

  • asin(1.0) → 1.5707963267949

13.2.17.4. atan

Gibt den inversen Tangens eines Wertes im Bogenmaß zurück.

Syntax

atan(value)

Argumente

  • value - Tangens eines Winkels im Bogenmaß

Beispiele

  • atan(0.5) → 0.463647609000806

13.2.17.5. atan2

Gibt den inversen Tangens von dy/dx zurück, indem die Vorzeichen der beiden Argumente verwendet werden, um den Quadranten des Ergebnisses zu bestimmen.

Syntax

atan2(dy, dx)

Argumente

  • dy - Differenz der Y-Koordinaten

  • dx - Differenz der X–Koordinate

Beispiele

  • atan2(1.0, 1.732) → 0.523611477769969

13.2.17.6. ceil

Rundet eine Zahl auf.

Syntax

ceil(value)

Argumente

  • value - eine Zahl

Beispiele

  • ceil(4.9) → 5

  • ceil(-4.9) → -4

13.2.17.7. clamp

Begrenzt einen Eingabewert auf einen bestimmten Bereich.

Syntax

clamp(minimum, input, maximum)

Argumente

  • minimum - der kleinste Wert, den input annehmen darf

  • input - einen Wert, der auf den durch minimum und maximum angegebenen Bereich beschränkt wird

  • maximum - der größte Wert, den input annehmen darf

Beispiele

  • clamp(1,5,10) → 5

    input liegt zwischen 1 und 10 und wird daher unverändert zurückgegeben

  • clamp(1,0,10) → 1

    input ist kleiner als der Mindestwert von 1, also gibt die Funktion 1 zurück

  • clamp(1,11,10) → 10

    input ist größer als der Maximalwert von 10, also gibt die Funktion 10 zurück

13.2.17.8. cos

Gibt den Kosinus eines Winkels zurück.

Syntax

cos(angle)

Argumente

  • angle - Winkel im Bogenmaß

Beispiele

  • cos(1.571) → 0.000796326710733263

13.2.17.9. degrees

Konvertiert von Bogenmaß in Grad.

Syntax

degrees(radians)

Argumente

  • radians - numerischer Wert

Beispiele

  • degrees(3.14159) → 180

  • degrees(1) → 57.2958

13.2.17.10. exp

Gibt den Exponentialwert eines Wertes zurück.

Syntax

exp(value)

Argumente

  • value - Basis zum Exponentialwert

Beispiele

  • exp(1.0) → 2.71828182845905

13.2.17.11. floor

Rundet eine Zahl ab.

Syntax

floor(value)

Argumente

  • value - eine Zahl

Beispiele

  • floor(4.9) → 4

  • floor(-4.9) → -5

13.2.17.12. ln

Gibt den natürlichen Logarithmus eines Wertes zurück.

Syntax

ln(value)

Argumente

  • value - numerischer Wert

Beispiele

  • ln(1) → 0

  • ln(2.7182818284590452354) → 1

13.2.17.13. log

Gibt den Wert des Logarithmus des übergebenen Wertes und der Basis zurück.

Syntax

log(base, value)

Argumente

  • base - jede positive Zahl

  • value - jede positive Zahl

Beispiele

  • log(2, 32) → 5

  • log(0.5, 32) → -5

13.2.17.14. log10

Gibt den Wert des Logarithmus zur Basis 10 des übergebenen Ausdrucks zurück.

Syntax

log10(value)

Argumente

  • value - jede positive Zahl

Beispiele

  • log10(1) → 0

  • log10(100) → 2

13.2.17.15. max

Gibt den größten Wert aus einer Menge von Werten zurück.

Syntax

max(value1, value2, …)

Argumente

  • value - eine Zahl

Beispiele

  • max(2,10.2,5.5) → 10.2

  • max(20.5,NULL,6.2) → 20.5

13.2.17.16. min

Gibt den kleinsten Wert aus einer Menge von Werten zurück.

Syntax

min(value1, value2, …)

Argumente

  • value - eine Zahl

Beispiele

  • min(20.5,10,6.2) → 6.2

  • min(2,-10.3,NULL) → -10.3

13.2.17.17. pi

Gibt den Wert von pi für Berechnungen zurück.

Syntax

pi()

Beispiele

  • pi() → 3.14159265358979

13.2.17.18. radians

Konvertiert von Grad in Bogenmaß.

Syntax

radians(degrees)

Argumente

  • degrees - numerischer Wert

Beispiele

  • radians(180) → 3.14159

  • radians(57.2958) → 1

13.2.17.19. rand

Gibt eine zufällige ganze Zahl innerhalb des durch das Minimum- und Maximum-Argument (einschließlich) angegebenen Bereichs zurück. Wenn ein Seed angegeben wird, ist der zurückgegebene Wert immer derselbe, abhängig vom Seed.

Syntax

rand(min, max, [seed=NULL])

[] kennzeichnet optionale Argumente

Argumente

  • min - eine ganze Zahl, die die kleinstmögliche gewünschte Zufallszahl darstellt

  • max - eine ganze Zahl, die die größtmögliche gewünschte Zufallszahl darstellt

  • seed - beliebiger Wert, der als Seed verwendet wird

Beispiele

  • rand(1, 10) → 8

13.2.17.20. randf

Gibt eine zufällige Fließkommazahl innerhalb des durch das Minimum- und Maximum-Argument (einschließlich) angegebenen Bereichs zurück. Wenn ein Seed angegeben wird, ist der zurückgegebene Wert immer derselbe, abhängig vom Seed.

Syntax

randf([min=0.0], [max=1.0], [seed=NULL])

[] kennzeichnet optionale Argumente

Argumente

  • min - ein Float, der die kleinstmögliche gewünschte Zufallszahl darstellt

  • max - ein Float, der die größtmögliche gewünschte Zufallszahl darstellt

  • seed - beliebiger Wert, der als Seed verwendet wird

Beispiele

  • randf(1, 10) → 4.59258286403147

13.2.17.21. round

Rundet eine Zahl auf die Anzahl der Dezimalstellen.

Syntax

round(value, [places=0])

[] kennzeichnet optionale Argumente

Argumente

  • value - zu rundende Dezimalzahl

  • places - Optionale Ganzzahl, die die Anzahl der Stellen angibt, auf die Dezimalzahlen gerundet werden sollen. Kann negativ sein, um Vorkommastellen, zu runden.

Beispiele

  • round(1234.567, 2) → 1234.57

  • round(1234.567) → 1235

  • round(1234.567, -1) → 1230

13.2.17.22. scale_exponential

Transformiert einen gegebenen Wert aus einem Eingabebereich in einen Ausgabebereich unter Verwendung einer Exponentialkurve. Diese Funktion kann verwendet werden, um Werte im angegebenen Ausgabebereich ansteigen oder auslaufen zu lassen.

Syntax

scale_exponential(value, domain_min, domain_max, range_min, range_max, exponent)

Argumente

  • value - Ein Wert im Eingabebereich. Die Funktion gibt einen entsprechenden skalierten Wert im Ausgabebereich zurück.

  • domain_min - Gibt den Mindestwert im Eingabebereich an, den kleinsten Wert, den der Eingabewert annehmen soll.

  • domain_max - Gibt den Höchstwert im Eingabebereich an, den größten Wert, den der Eingabewert annehmen soll.

  • range_min - Gibt den Minimalwert im Ausgabebereich an, also den kleinsten Wert, der von der Funktion ausgegeben werden soll.

  • range_max - Gibt den Maximalwert im Ausgabebereich an, also den größten Wert, der von der Funktion ausgegeben werden soll.

  • exponent - Ein positiver Wert (größer als 0), der vorgibt, wie die Eingabewerte auf den Ausgabebereich abgebildet werden. Große Exponenten bewirken, dass die Ausgabewerte langsam ansteigen, bevor sie sich beschleunigen, wenn sich die Eingabewerte dem Maximum des Bereichs nähern. Kleinere Exponenten (kleiner als 1) bewirken, dass die Ausgabewerte „auslaufen“, d. h. die Zuordnung beginnt schnell, wird aber langsamer, wenn sie sich dem Bereichsmaximum nähert.

Beispiele

  • scale_exp(5,0,10,0,100,2) → 25

    ansteigend, mit einem Exponenten von 2

  • scale_exp(3,0,10,0,100,0.5) → 54.772

    absteigend, mit einem Exponenten von 0,5

13.2.17.23. scale_linear

Transformiert einen gegebenen Wert aus einem Eingabebereich in einen Ausgabebereich durch lineare Interpolation.

Syntax

scale_linear(value, domain_min, domain_max, range_min, range_max)

Argumente

  • value - Ein Wert im Eingabebereich. Die Funktion gibt einen entsprechenden skalierten Wert im Ausgabebereich zurück.

  • domain_min - Gibt den Mindestwert im Eingabebereich an, den kleinsten Wert, den der Eingabewert annehmen soll.

  • domain_max - Gibt den Höchstwert im Eingabebereich an, den größten Wert, den der Eingabewert annehmen soll.

  • range_min - Gibt den Minimalwert im Ausgabebereich an, also den kleinsten Wert, der von der Funktion ausgegeben werden soll.

  • range_max - Gibt den Maximalwert im Ausgabebereich an, also den größten Wert, der von der Funktion ausgegeben werden soll.

Beispiele

  • scale_linear(5,0,10,0,100) → 50

  • scale_linear(0.2,0,1,0,360) → 72

    Skalierung eines Wertes zwischen 0 und 1 auf einen Winkel zwischen 0 und 360

  • scale_linear(1500,1000,10000,9,20) → 9.6111111

    Skalierung einer Population, die zwischen 1.000 und 10.000 schwankt, auf eine Schriftgröße zwischen 9 und 20

13.2.17.24. scale_polynomial

Transformiert einen gegebenen Wert aus einem Eingabebereich in einen Ausgabebereich unter Verwendung einer Polynomkurve. Diese Funktion kann verwendet werden, um Werte im angegebenen Ausgabebereich ansteigen oder auslaufen zu lassen.

Syntax

scale_polynomial(value, domain_min, domain_max, range_min, range_max, exponent)

Argumente

  • value - Ein Wert im Eingabebereich. Die Funktion gibt einen entsprechenden skalierten Wert im Ausgabebereich zurück.

  • domain_min - Gibt den Mindestwert im Eingabebereich an, den kleinsten Wert, den der Eingabewert annehmen soll.

  • domain_max - Gibt den Höchstwert im Eingabebereich an, den größten Wert, den der Eingabewert annehmen soll.

  • range_min - Gibt den Minimalwert im Ausgabebereich an, also den kleinsten Wert, der von der Funktion ausgegeben werden soll.

  • range_max - Gibt den Maximalwert im Ausgabebereich an, also den größten Wert, der von der Funktion ausgegeben werden soll.

  • exponent - Ein positiver Wert (größer als 0), der vorgibt, wie die Eingabewerte auf den Ausgabebereich abgebildet werden. Große Exponenten bewirken, dass die Ausgabewerte langsam ansteigen, bevor sie sich beschleunigen, wenn sich die Eingabewerte dem Maximum des Bereichs nähern. Kleinere Exponenten (kleiner als 1) bewirken, dass die Ausgabewerte „auslaufen“, d. h. die Zuordnung beginnt schnell, wird aber langsamer, wenn sie sich dem Bereichsmaximum nähert.

Beispiele

  • scale_polynomial(5,0,10,0,100,2) → 25

    ansteigend, mit einem Exponenten von 2

  • scale_polynomial(3,0,10,0,100,0.5) → 54.772

    absteigend, mit einem Exponenten von 0,5

13.2.17.25. sin

Gibt den Sinus eines Winkels zurück.

Syntax

sin(angle)

Argumente

  • angle - Winkel im Bogenmaß

Beispiele

  • sin(1.571) → 0.999999682931835

13.2.17.26. sqrt

Gibt die Quadratwurzel eines Wertes zurück.

Syntax

sqrt(value)

Argumente

  • value - eine Zahl

Beispiele

  • sqrt(9) → 3

13.2.17.27. tan

Gibt den Tangens eines Winkels zurück.

Syntax

tan(angle)

Argumente

  • angle - Winkel im Bogenmaß

Beispiele

  • tan(1.0) → 1.5574077246549

13.2.18. Netz-Layer-Funktionen

Diese Gruppe enthält Funktionen, die Werte für Netz-Layer berechnen oder zurückgeben.

13.2.18.1. $face_area

Gibt die Fläche des aktuellen Netz-Layers zurück. Die von dieser Funktion berechnete Fläche berücksichtigt sowohl die Ellipsoid- als auch die Flächeneinheit-Einstellungen des aktuellen Projekts. Wenn zum Beispiel ein Ellipsoid für das Projekt festgelegt wurde, ist die berechnete Fläche ellipsoidisch, und wenn kein Ellipsoid festgelegt wurde, ist die berechnete Fläche planimetrisch.

Syntax

$face_area

Beispiele

  • $face_area → 42

13.2.18.2. $face_index

Gibt den Index der aktuellen Netzfläche zurück.

Syntax

$face_index

Beispiele

  • $face_index → 4581

13.2.18.3. $vertex_as_point

Gibt den aktuellen Knotenpunkt als eine Punktgeometrie zurück.

Syntax

$vertex_as_point

Beispiele

  • geom_to_wkt( $vertex_as_point ) → ‚POINT(800 1500 41)‘

13.2.18.4. $vertex_index

Gibt den Index des aktuellen Netzknotens zurück.

Syntax

$vertex_index

Beispiele

  • $vertex_index → 9874

13.2.18.5. $vertex_x

Gibt die X-Koordinate des aktuellen Netzknotens zurück.

Syntax

$vertex_x

Beispiele

  • $vertex_x → 42.12

13.2.18.6. $vertex_y

Gibt die Y-Koordinate des aktuellen Netzknotens zurück.

Syntax

$vertex_y

Beispiele

  • $vertex_y → 12.24

13.2.18.7. $vertex_z

Gibt den Z-Wert des aktuellen Netzknotens zurück.

Syntax

$vertex_z

Beispiele

  • $vertex_z → 42

13.2.19. Operatoren

Diese Gruppe enthält Operatoren (z. B. +, -, *). Beachten Sie, dass bei den meisten der folgenden mathematischen Funktionen das Ergebnis NULL ist, wenn eine der Eingaben NULL ist.

13.2.19.1. %

Rest der Division. Nimmt das Vorzeichen der Dividende.

Syntax

a % b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 9 % 2 → 1

  • 9 % -2 → 1

  • -9 % 2 → -1

  • 5 % NULL → NULL

13.2.19.2. *

Multiplikation von zwei Werten

Syntax

a * b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 * 4 → 20

  • 5 * NULL → NULL

13.2.19.3. +

Addition von zwei Werten. Wenn einer der Werte NULL ist, ist das Ergebnis auch NULL.

Syntax

a + b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 + 4 → 9

  • 5 + NULL → NULL

  • 'QGIS ' + 'ROCKS' → ‚QGIS ROCKS‘

  • to_datetime('2020-08-01 12:00:00') + '1 day 2 hours' → 2020-08-02T14:00:00

Siehe auch: concat, ||

13.2.19.4. -

Subtraktion von zwei Werten. Wenn einer der Werte NULL ist, ist das Ergebnis auch NULL.

Syntax

a - b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 - 4 → 1

  • 5 - NULL → NULL

  • to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours') → 2012-05-04T10:00:00

13.2.19.5. /

Division von zwei Werten

Syntax

a / b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 / 4 → 1.25

  • 5 / NULL → NULL

13.2.19.6. //

Abrundungs-Teilung von zwei Werten

Syntax

a // b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 9 // 2 → 4

13.2.19.7. <

Vergleicht zwei Werte und gibt 1 aus, wenn der linke Wert kleiner als der rechte Wert ist.

Syntax

a < b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 < 4 → FALSE

  • 5 < 5 → FALSE

  • 4 < 5 → TRUE

13.2.19.8. <=

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

Syntax

a <= b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 <= 4 → FALSE

  • 5 <= 5 → TRUE

  • 4 <= 5 → TRUE

13.2.19.9. <>

Vergleicht zwei Werte und wertet 1 aus, wenn sie nicht gleich sind.

Syntax

a <> b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 <> 4 → TRUE

  • 4 <> 4 → FALSE

  • 5 <> NULL → NULL

  • NULL <> NULL → NULL

13.2.19.10. =

Vergleicht zwei Werte und gibt den Wert 1 zurück, wenn sie gleich sind.

Syntax

a = b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 = 4 → FALSE

  • 4 = 4 → TRUE

  • 5 = NULL → NULL

  • NULL = NULL → NULL

13.2.19.11. >

Vergleicht zwei Werte und gibt 1 zurück, wenn der linke Wert größer als der rechte Wert ist.

Syntax

a > b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 > 4 → TRUE

  • 5 > 5 → FALSE

  • 4 > 5 → FALSE

13.2.19.12. >=

Vergleicht zwei Werte und gibt 1 zurück, wenn der linke Wert größer oder gleich dem rechten Wert ist.

Syntax

a >= b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 >= 4 → TRUE

  • 5 >= 5 → TRUE

  • 4 >= 5 → FALSE

13.2.19.13. AND

Gibt TRUE zurück, wenn die Bedingungen a und b erfüllt sind.

Syntax

a AND b

Argumente

  • a - Bedingung

  • b - Bedingung

Beispiele

  • TRUE AND TRUE → TRUE

  • TRUE AND FALSE → FALSE

  • 4 = 2+2 AND 1 = 1 → TRUE

  • 4 = 2+2 AND 1 = 2 → FALSE

13.2.19.14. BETWEEN

Gibt TRUE zurück, wenn der Wert innerhalb des angegebenen Bereichs liegt. Der Bereich wird als einschließlich der Grenzen betrachtet. Zum Testen auf Ausschluss kann NOT BETWEEN verwendet werden.

Syntax

Wert BETWEEN untere_Grenze AND obere_Grenze

Argumente

  • value - der Wert, der mit einem Bereich verglichen werden soll. Es kann eine Zeichenkette, eine Zahl oder ein Datum sein.

  • untere_Grenze AND obere_Grenze - Bereichsgrenzen

Beispiele

  • 'B' BETWEEN 'A' AND 'C' → TRUE

  • 2 BETWEEN 1 AND 3 → TRUE

  • 2 BETWEEN 2 AND 3 → TRUE

  • 'B' BETWEEN 'a' AND 'c' → FALSE

  • lower('B') BETWEEN 'a' AND 'b' → TRUE

Bemerkung

value BETWEEN lower_bound AND higher_bound ist das gleiche wie „value >= lower_bound AND value <= higher_bound“.

Siehe auch: NOT BETWEEN

13.2.19.15. ILIKE

Gibt TRUE zurück, wenn der erste Parameter ohne Berücksichtigung der Groß-/Kleinschreibung mit dem angegebenen Muster übereinstimmt. LIKE kann anstelle von ILIKE verwendet werden, um die Groß- und Kleinschreibung zu berücksichtigen. Funktioniert auch mit Zahlen.

Syntax

Zeichenfolge/Zahl ILIKE Muster

Argumente

  • string/number - zu suchende Zeichenfolge

  • pattern - zu suchendes Muster, Sie können ‚%‘ als Platzhalter, ‚_‘ als einzelnes Zeichen und ‚\\‘ verwenden, um diese Sonderzeichen zu umgehen.

Beispiele

  • 'A' ILIKE 'A' → TRUE

  • 'A' ILIKE 'a' → TRUE

  • 'A' ILIKE 'B' → FALSE

  • 'ABC' ILIKE 'b' → FALSE

  • 'ABC' ILIKE 'B' → FALSE

  • 'ABC' ILIKE '_b_' → TRUE

  • 'ABC' ILIKE '_B_' → TRUE

  • 'ABCD' ILIKE '_b_' → FALSE

  • 'ABCD' ILIKE '_B_' → FALSE

  • 'ABCD' ILIKE '_b%' → TRUE

  • 'ABCD' ILIKE '_B%' → TRUE

  • 'ABCD' ILIKE '%b%' → TRUE

  • 'ABCD' ILIKE '%B%' → TRUE

  • 'ABCD%' ILIKE 'abcd\\%' → TRUE

  • 'ABCD' ILIKE '%B\\%' → FALSE

13.2.19.16. IN

Gibt TRUE zurück, wenn der Wert in einer Liste von Werten gefunden wurde.

Syntax

a IN b

Argumente

  • a - ein Wert

  • b - Werteliste

Beispiele

  • 'A' IN ('A','B') → TRUE

  • 'A' IN ('C','B') → FALSE

13.2.19.17. IS

Gibt TRUE zurück, wenn a dasselbe ist wie b.

Syntax

a IS b

Argumente

  • a - beliebiger Wert

  • b - beliebiger Wert

Beispiele

  • 'A' IS 'A' → TRUE

  • 'A' IS 'a' → FALSE

  • 4 IS 4 → TRUE

  • 4 IS 2+2 → TRUE

  • 4 IS 2 → FALSE

  • @geometry IS NULL → 0, wenn Ihre Geometrie nicht NULL ist

13.2.19.18. IS NOT

Gibt TRUE zurück, wenn a nicht dasselbe ist wie b.

Syntax

a IS NOT b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 'a' IS NOT 'b' → TRUE

  • 'a' IS NOT 'a' → FALSE

  • 4 IS NOT 2+2 → FALSE

13.2.19.19. LIKE

Gibt TRUE zurück, wenn der erste Parameter mit dem angegebenen Muster übereinstimmt. Funktioniert auch mit Zahlen.

Syntax

Zeichenkette/Zahl LIKE Muster

Argumente

  • string/number - Wert

  • pattern - Muster, mit dem der Wert verglichen werden soll, Sie können ‚%‘ als Platzhalter, ‚_‘ als einzelnes Zeichen und ‚\\‘ verwenden, um diese Sonderzeichen zu umgehen.

Beispiele

  • 'A' LIKE 'A' → TRUE

  • 'A' LIKE 'a' → FALSE

  • 'A' LIKE 'B' → FALSE

  • 'ABC' LIKE 'B' → FALSE

  • 'ABC' LIKE '_B_' → TRUE

  • 'ABCD' LIKE '_B_' → FALSE

  • 'ABCD' LIKE '_B%' → TRUE

  • 'ABCD' LIKE '%B%' → TRUE

  • '1%' LIKE '1\\%' → TRUE

  • '1_' LIKE '1\\%' → FALSE

13.2.19.20. NOT

Negiert eine Bedingung.

Syntax

NOT a

Argumente

  • a - Bedingung

Beispiele

  • NOT 1 → FALSE

  • NOT 0 → TRUE

13.2.19.21. NOT BETWEEN

Gibt TRUE zurück, wenn der Wert nicht innerhalb des angegebenen Bereichs liegt. Der Bereich wird inklusive der Grenzen betrachtet.

Syntax

Wert NOT BETWEEN untere_Grenze AND obere_Grenze

Argumente

  • value - der Wert, der mit einem Bereich verglichen werden soll. Es kann eine Zeichenkette, eine Zahl oder ein Datum sein.

  • untere_Grenze AND obere_Grenze - Bereichsgrenzen

Beispiele

  • 'B' NOT BETWEEN 'A' AND 'C' → FALSE

  • 1.0 NOT BETWEEN 1.1 AND 1.2 → TRUE

  • 2 NOT BETWEEN 2 AND 3 → FALSE

  • 'B' NOT BETWEEN 'a' AND 'c' → TRUE

  • lower('B') NOT BETWEEN 'a' AND 'b' → FALSE

Bemerkung

value NOT BETWEEN lower_bound AND higher_bound ist das gleiche wie“value < lower_bound OR value > higher_bound“.

Siehe auch: BETWEEN

13.2.19.22. OR

Gibt TRUE zurück, wenn Bedingung a oder b wahr ist.

Syntax

a OR b

Argumente

  • a - Bedingung

  • b - Bedingung

Beispiele

  • 4 = 2+2 OR 1 = 1 → TRUE

  • 4 = 2+2 OR 1 = 2 → TRUE

  • 4 = 2   OR 1 = 2 → FALSE

13.2.19.23. []

Index-Operator. Gibt ein Element aus einem Array oder einem Map-Wert zurück.

Syntax

[index]

Argumente

  • index - Array-Index oder Map-Schlüsselwert

Beispiele

  • array(1,2,3)[0] → 1

  • array(1,2,3)[2] → 3

  • array(1,2,3)[-1] → 3

  • map('a',1,'b',2)['a'] → 1

  • map('a',1,'b',2)['b'] → 2

Siehe auch: array_get, map_get

13.2.19.24. ^

Potenz aus zwei Werten.

Syntax

a ^ b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 5 ^ 4 → 625

  • 5 ^ NULL → NULL

13.2.19.25. ||

Verbindet zwei Werte zu einer Zeichenkette.

Wenn einer der Werte NULL ist, ist das Ergebnis NULL. Siehe die Funktion CONCAT für ein anderes Ergebnis.

Syntax

a || b

Argumente

  • a - ein Wert

  • b - ein Wert

Beispiele

  • 'Here' || ' and ' || 'there' → ‚Here and there‘

  • 'Nothing' || NULL → NULL

  • 'Dia: ' || "Diameter" → ‚Dia: 25‘

  • 1 || 2 → ‚12‘

Siehe auch: concat, +

13.2.19.26. ~

Führt eine Übereinstimmung eines regulären Ausdrucks mit einer Zeichenkette durch. Backslash-Zeichen müssen mit doppeltem Escape-Zeichen versehen werden (z. B. „\\s“ für eine Übereinstimmung mit einem Leerzeichen).

Syntax

string ~ regex

Argumente

  • string - Ein String-Wert

  • regex - Ein regulärer Ausdruck. Schrägstriche müssen mit einem Escape versehen werden, z. B. \\d.

Beispiele

  • 'hello' ~ 'll' → TRUE

  • 'hello' ~ '^ll' → FALSE

  • 'hello' ~ 'llo$' → TRUE

  • 'abc123' ~ '\\d+' → TRUE

Siehe auch: regexp_match

13.2.20. Verarbeitungs-Funktionen

Diese Gruppe enthält Funktionen, die auf Verarbeitungsalgorithmen angewendet werden.

13.2.20.1. parameter

Gibt den Wert eines Eingabeparameters eines Verarbeitungsalgorithmus zurück.

Syntax

parameter(name)

Argumente

  • name - Name des entsprechenden Eingabeparameters

Beispiele

  • parameter('BUFFER_SIZE') → 5.6

13.2.21. Raster-Funktionen

Diese Gruppe enthält Funktionen zur Verarbeitung von Rasterlayern.

13.2.21.1. raster_attributes

Liefert eine Zuordnung mit den Feldnamen als Schlüsseln und den Rasterattribut-Tabellenwerten als Werten aus dem Attribut-Tabelleneintrag, der dem angegebenen Rasterwert entspricht.

Syntax

raster_attributes(layer, band, value)

Argumente

  • layer - der Name oder die ID eines Raster-Layers

  • band - die Bandnummer für die zugehörige Attributtabellenabfrage.

  • value - Rasterwert

Beispiele

  • raster_attributes('vegetation', 1, raster_value('vegetation', 1, make_point(1,1))) → {‚class‘: ‚Vegetated‘, ‚subclass‘: ‚Trees‘}

13.2.21.2. raster_statistic

Liefert Statistiken von einem Raster Layer.

Syntax

raster_statistic(layer, band, property)

Argumente

  • layer - eine Zeichenkette, die entweder einen Namen für einen Raster-Layer oder eine Layer-ID darstellt

  • band - Ganzzahl, die die Bandnummer des Raster-Layers angibt, beginnend bei 1

  • property - eine Zeichenkette, die der zurückzugebenden Eigenschaft entspricht. Gültige Optionen sind:

    • min: Mindestwert

    • max: Höchstwert

    • avg: Durchschnittswert (Mittelwert)

    • stdev: Standardabweichung der Werte

    • range: Wertebereich (max - min)

    • sum: Summe aller Werte aus dem Raster

Beispiele

  • raster_statistic('lc',1,'avg') → Durchschnittswert von Band 1 aus dem ‚lc‘ Raster Layer

  • raster_statistic('ac2010',3,'min') → Mindestwert von Band 3 aus dem Raster-Layer ‚ac2010‘.

13.2.21.3. raster_value

Gibt den Rasterwert zurück, der an dem angegebenen Punkt gefunden wurde..

Syntax

raster_value(layer, band, point)

Argumente

  • layer - der Name oder die ID eines Raster-Layers

  • band - die Bandnummer, aus der der Wert entnommen werden soll.

  • point - Punktgeometrie (bei mehrteiligen Geometrien mit mehr als einem Teil wird ein NULL-Wert zurückgegeben)

Beispiele

  • raster_value('dem', 1, make_point(1,1)) → 25

13.2.22. Funktionen für Datensätze und Attribute

Diese Gruppe enthält Funktionen, die mit Datensatzkennungen arbeiten.

13.2.22.1. attribute

Gibt ein Attribut von einem Objekt zurück.

Variante 1

Gibt den Wert eines Attributs des aktuellen Objekts zurück.

Syntax

attribute(attribute_name)

Argumente

  • attribute_name - Name des zurückzugebenden Attributs

Beispiele

  • attribute( 'name' ) → im Attribut „name“ gespeicherter Wert für das aktuelle Objekt

Variante 2

Ermöglicht die Angabe des Zielobjekts und des Attributnamens.

Syntax

attribute(feature, attribute_name)

Argumente

  • feature - ein Objekt

  • attribute_name - Name des zurückzugebenden Attributs

Beispiele

  • attribute( @atlas_feature, 'name' ) → im Attribut „name“ gespeicherter Wert für das aktuelle Objekt im Atlas

13.2.22.2. attributes

Gibt eine Zuordnung zurück, die alle Attribute eines Objekts enthält, mit Feldnamen als Zuordnungsschlüssel.

Variante 1

Gibt eine Zuordnung aller Attribute des aktuellen Objekts zurück.

Syntax

attributes()

Beispiele

  • attributes()['name'] → im Attribut „name“ gespeicherter Wert für das aktuelle Objekt

Variante 2

Ermöglicht die Angabe des Zielobjekts.

Syntax

attributes(feature)

Argumente

  • feature - ein Objekt

Beispiele

  • attributes( @atlas_feature )['name'] → im Attribut „name“ gespeicherter Wert für das aktuelle Objekt im Atlas

Siehe auch: Zuordnungs-Funktionen

13.2.22.3. $currentfeature

Gibt das aktuelle Objekt zurück, das ausgewertet wird. Dies kann zusammen mit der Funktion ‚attribute‘ verwendet werden, um Attributwerte des aktuellen Objekts auszuwerten. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzvariable @feature zu verwenden.

Syntax

$currentfeature

Beispiele

  • attribute( $currentfeature, 'name' ) → im Attribut „name“ gespeicherter Wert für das aktuelle Objekt

13.2.22.4. display_expression

Gibt den Anzeigeausdruck für ein bestimmtes Objekt in einem Layer zurück. Der Ausdruck wird standardmäßig ausgewertet. Kann mit null, einem oder mehreren Argumenten verwendet werden, siehe unten für Details.

Keine Parameter

Wenn die Funktion ohne Parameter aufgerufen wird, wertet sie den Anzeigeausdruck des aktuellen Objekts im aktuellen Layer aus.

Syntax

display_expression()

Beispiele

  • display_expression() → Der Anzeigeausdruck des aktuellen Objekts im aktuellen Layer.

Ein „Objekt“-Parameter

Wenn die Funktion nur mit dem Parameter ‚feature‘ aufgerufen wird, wertet sie das angegebene Objekt aus dem aktuellen Layer aus..

Syntax

display_expression(feature)

Argumente

  • feature - das Objekt, das ausgewertet werden soll.

Beispiele

  • display_expression(@atlas_feature) → Der Anzeigeausdruck des aktuellen Atlasobjekts.

Layer- und Objekt-Parameter

Wenn die Funktion mit einem Layer und einem Objekt aufgerufen wird, wird das angegebene Objekt aus dem angegebenen Layer ausgewertet.

Syntax

display_expression(layer, feature, [evaluate=true])

[] kennzeichnet optionale Argumente

Argumente

  • layer - Der Layer (oder seine ID oder sein Name)

  • feature - das Objekt, das ausgewertet werden soll.

  • evaluate - Wenn der Ausdruck ausgewertet werden muss. Bei false wird der Ausdruck nur als String-Literal zurückgegeben (das möglicherweise später mit der Funktion ‚eval‘ ausgewertet werden kann).

Beispiele

  • display_expression( 'streets', get_feature_by_id('streets', 1)) → Der Anzeigeausdruck des Objekts mit der ID 1 auf dem Layer „streets“.

  • display_expression('a_layer_id', @feature, 'False') → Der Anzeigeausdruck des angegebenen Objekts wurde nicht ausgewertet.

13.2.22.5. feature_id

Gibt die eindeutige ID eines Objekts zurück, oder NULL, wenn das Objekt nicht gültig ist..

Syntax

feature_id(feature)

Argumente

  • feature - ein Objekt

Beispiele

  • feature_id( @feature ) → die ID des aktuellen Objekts

Siehe auch: get_feature_by_id

13.2.22.6. get_feature

Gibt das erste Objekt eines Layers zurück, das einem bestimmten Attributwert entspricht.

Einzelwert-Variante

Zusammen mit der Layer-ID werden eine einzelne Spalte und ein Wert angegeben.

Syntax

get_feature(layer, attribute, value)

Argumente

  • layer - Layer-Name oder ID

  • attribute - Name des Attributs, das für die Übereinstimmung verwendet werden soll

  • value - Attributwert, der überprüft werden soll

Beispiele

  • get_feature('streets','name','main st') → erstes Objekt im Layer „streets“ mit dem Wert „main st“ im Feld „name“ gefunden

Map-Variante

Zusammen mit der Layer-ID eine Zuordnung, die die zu verwendenden Spalten (Schlüssel) und ihren jeweiligen Wert enthält.

Syntax

get_feature(layer, attribute)

Argumente

  • layer - Layer-Name oder ID

  • attribute - Zuordnung, die die zu verwendenden Spalten- und Wertepaare enthält

Beispiele

  • get_feature('streets',map('name','main st','lane_num','4')) → erstes Objekt im Layer „streets“ mit dem Wert „main st“ im Feld „name“ und dem Wert „4“ im Feld „lane_num“

13.2.22.7. get_feature_by_id

Gibt das Objekt mit einer ID aus einem Layer zurück.

Syntax

get_feature_by_id(layer, feature_id)

Argumente

  • layer - Layer, Layer-Name oder Layer-ID

  • feature_id - die ID des Objekts, das zurückgegeben werden soll

Beispiele

  • get_feature_by_id('streets', 1) → das Objekt mit der ID 1 aus dem Layer „streets“

Siehe auch: feature_id

13.2.22.8. $id

Gibt die Objekt-ID der aktuellen Zeile zurück. WARNUNG: Diese Funktion ist veraltet. Es wird empfohlen, stattdessen die Ersatzvariable @id zu verwenden.

Syntax

$id

Beispiele

  • $id → 42

Siehe auch: feature_id, get_feature_by_id

13.2.22.9. is_attribute_valid

Gibt TRUE zurück, wenn ein bestimmtes Objekt-Attribut alle Bedingungen erfüllt.

Syntax

is_attribute_valid(attribute, [feature], [layer], [strength])

[] kennzeichnet optionale Argumente

Argumente

  • attribute - ein Attributname

  • feature - Ein Objekt. Wenn nicht festgelegt, wird das aktuelle Objekt verwendet..

  • layer - Ein Vektor Layer. Wenn nicht festgelegt, wird der aktuelle Layer verwendet..

  • strength - Setzen Sie diesen Wert auf ‚hard‘ oder ‚soft‘, um eine bestimmte Art von Bedingung einzugrenzen. Ist dieser Wert nicht gesetzt, gibt die Funktion FALSE zurück, wenn entweder eine harte oder eine weiche Beschränkung fehlschlägt..

Beispiele

  • is_attribute_valid('HECTARES') → TRUE, wenn der Wert des aktuellen Objekts im Feld „HECTARES“ alle Bedingungen erfüllt.

  • is_attribute_valid('HOUSES',get_feature('my_layer', 'FID', 10), 'my_layer') → FALSE, wenn der Wert im Feld „HOUSES“ des Objekts mit „FID“=10 in „my_layer“ nicht alle Bedingungen erfüllt.

Siehe auch: Restriktionen

13.2.22.10. is_feature_valid

Gibt TRUE zurück, wenn ein Objekt alle Feldbeschränkungen erfüllt.

Syntax

is_feature_valid([feature], [layer], [strength])

[] kennzeichnet optionale Argumente

Argumente

  • feature - Ein Objekt. Wenn nicht festgelegt, wird das aktuelle Objekt verwendet..

  • layer - Ein Vektor Layer. Wenn nicht festgelegt, wird der aktuelle Layer verwendet..

  • strength - Setzen Sie diesen Wert auf ‚hard‘ oder ‚soft‘, um eine bestimmte Art von Bedingung einzugrenzen. Ist dieser Wert nicht gesetzt, gibt die Funktion FALSE zurück, wenn entweder eine harte oder eine weiche Beschränkung fehlschlägt..

Beispiele

  • is_feature_valid(strength:='hard') → TRUE, wenn alle Felder des aktuellen Objekts ihre harten Bedingungen erfüllen.

  • is_feature_valid(get_feature('my_layer', 'FID', 10), 'my_layer') → FALSE, wenn alle Felder des Objekts mit „FID“=10 in „my_layer“ nicht alle Bedingungen erfüllen.

Siehe auch: Restriktionen

13.2.22.11. is_selected

Gibt TRUE zurück, wenn ein Objekt ausgewählt ist. Kann mit null, einem oder zwei Argumenten verwendet werden, siehe unten für Details.

Keine Parameter

Wird die Funktion ohne Parameter aufgerufen, gibt sie TRUE zurück, wenn das aktuelle Objekt im aktuellen Layer ausgewählt ist.

Syntax

is_selected()

Beispiele

  • is_selected() → TRUE, wenn das aktuelle Objekt im aktuellen Layer ausgewählt ist.

Ein „Objekt“-Parameter

Wird die Funktion nur mit dem Parameter ‚feature‘ aufgerufen, gibt sie TRUE zurück, wenn das angegebene Objekt aus dem aktuellen Layer ausgewählt ist.

Syntax

is_selected(feature)

Argumente

  • feature - das Objekt, das für die Auswahl geprüft werden soll.

Beispiele

  • is_selected(@atlas_feature) → TRUE, wenn das aktuelle Objekt im Atlas ausgewählt ist.

  • is_selected(get_feature('streets', 'name', 'Main St.')) → TRUE, wenn das eindeutig benannte Objekt „Main St.“ auf dem aktiven Layer „streets“ ausgewählt ist.

  • is_selected(get_feature_by_id('streets', 1)) → TRUE, wenn das Objekt mit der ID 1 auf dem aktiven Layer „streets“ ausgewählt ist.

Zwei Parameter

Wenn die Funktion sowohl mit einem Layer als auch mit einem Objekt aufgerufen wird, gibt sie TRUE zurück, wenn das angegebene Objekt aus dem angegebenen Layer ausgewählt ist.

Syntax

is_selected(layer, feature)

Argumente

  • layer - Der Layer (seine ID oder sein Name), für den die Auswahl geprüft werden soll.

  • feature - das Objekt, das für die Auswahl geprüft werden soll.

Beispiele

  • is_selected( 'streets', get_feature('streets', 'name', "street_name")) → TRUE, wenn die Straße des aktuellen Gebäudes ausgewählt ist (unter der Annahme, dass der Gebäude-Layer ein Feld namens „street_name“ und der Layer „streets“ ein Feld namens „name“ mit eindeutigen Werten hat).

  • is_selected( 'streets', get_feature_by_id('streets', 1)) → TRUE, wenn das Objekt mit der ID 1 aus dem Layer „streets“ ausgewählt ist.

13.2.22.12. maptip

Gibt den Maptip für ein bestimmtes Objekt in einem Layer zurück. Der Ausdruck wird standardmäßig ausgewertet. Kann mit null, einem oder mehreren Argumenten verwendet werden, siehe unten für Details.

Keine Parameter

Wenn die Funktion ohne Parameter aufgerufen wird, wertet sie den Maptip des aktuellen Objekts im aktuellen Layer aus.

Syntax

maptip()

Beispiele

  • maptip() → Der Maptip des aktuellen Objekts im aktuellen Layer.

Ein „Objekt“-Parameter

Wenn die Funktion nur mit dem Parameter ‚feature‘ aufgerufen wird, wertet sie das angegebene Objekt aus dem aktuellen Layer aus..

Syntax

maptip(feature)

Argumente

  • feature - das Objekt, das ausgewertet werden soll.

Beispiele

  • maptip(@atlas_feature) → Der Maptip des aktuellen Objekts im Atlas.

Layer- und Objekt-Parameter

Wenn die Funktion mit einem Layer und einem Objekt aufgerufen wird, wird das angegebene Objekt aus dem angegebenen Layer ausgewertet.

Syntax

maptip(layer, feature, [evaluate=true])

[] kennzeichnet optionale Argumente

Argumente

  • layer - Der Layer (oder seine ID oder sein Name)

  • feature - das Objekt, das ausgewertet werden soll.

  • evaluate - Wenn der Ausdruck ausgewertet werden muss. Bei false wird der Ausdruck nur als String-Literal zurückgegeben (das möglicherweise später mit der Funktion „eval_template“ ausgewertet werden kann).

Beispiele

  • maptip('streets', get_feature_by_id('streets', 1)) → Der Maptip des Objekts mit der ID 1 aus dem Layer ‚‘streets‘‘.

  • maptip('a_layer_id', @feature, 'False') → Der Maptip des angegebenen Objekts wurde nicht ausgewertet.

13.2.22.13. num_selected

Gibt die Anzahl der ausgewählten Objekte auf einem bestimmten Layer zurück. Funktioniert standardmäßig auf dem Layer, auf dem der Ausdruck ausgewertet wird.

Syntax

num_selected([layer=current layer])

[] kennzeichnet optionale Argumente

Argumente

  • layer - Der Layer (bzw. seine ID oder sein Name), für den die Auswahl überprüft werden soll.

Beispiele

  • num_selected() → Die Anzahl der ausgewählten Objekte im aktuellen Layer.

  • num_selected('streets') → Die Anzahl der ausgewählten Objekte im Layer „streets“

13.2.22.14. represent_attributes

Gibt eine Zuordnung mit den Attributnamen als Schlüssel und den konfigurierten Darstellungswerten als Werte zurück. Der Darstellungswert für die Attribute hängt von dem konfigurierten Widget-Typ für jedes Attribut ab. Kann mit null, einem oder mehreren Argumenten verwendet werden, siehe unten für Details.

Keine Parameter

Wird die Funktion ohne Parameter aufgerufen, liefert sie die Darstellung der Attribute des aktuellen Objekts im aktuellen Layer.

Syntax

represent_attributes()

Beispiele

  • represent_attributes() → Die Darstellung der Attribute für das aktuelle Objekt.

Ein „Objekt“-Parameter

Wenn die Funktion nur mit dem Parameter ‚feature‘ aufgerufen wird, liefert sie die Darstellung der Attribute des angegebenen Objekts aus dem aktuellen Layer.

Syntax

represent_attributes(feature)

Argumente

  • feature - das Objekt, das ausgewertet werden soll.

Beispiele

  • represent_attributes(@atlas_feature) → Die Darstellung der Attribute für das angegebene Objekt aus dem aktuellen Layer.

Layer- und Objekt-Parameter

Wird die Funktion mit einem ‚layer‘ und einem ‚feature‘-Parameter aufgerufen, gibt sie die Darstellung der Attribute des angegebenen Objekts aus dem angegebenen Layer zurück.

Syntax

represent_attributes(layer, feature)

Argumente

  • layer - Der Layer (oder seine ID oder sein Name).

  • feature - das Objekt, das ausgewertet werden soll.

Beispiele

  • represent_attributes('atlas_layer', @atlas_feature) → die Darstellung der Attribute für das angegebene Objekt aus dem angegebenen Layer

Siehe auch: represent_value

13.2.22.15. represent_value

Gibt den konfigurierten Darstellungswert für einen Feldwert zurück. Er hängt vom konfigurierten Widgettyp ab. Dies ist oft nützlich für „Value Map“-Widgets.

Syntax

represent_value(value, [fieldName])

[] kennzeichnet optionale Argumente

Argumente

  • value - Der Wert, der aufgelöst werden soll. Höchstwahrscheinlich ein Feld.

  • fieldName - Der Feldname, für den die Widget-Konfiguration geladen werden soll.

Beispiele

  • represent_value("field_with_value_map") → Beschreibung für den Wert

  • represent_value('static value', 'field_name') → Beschreibung für den statischen Wert

Siehe auch: widget types, represent_attributes

13.2.22.16. sqlite_fetch_and_increment

Verwalten von autoinkrementierenden Werten in Sqlite-Datenbanken

SQlite-Standardwerte können nur beim Einfügen angewendet und nicht vorab abgerufen werden.

Dies macht es unmöglich, einen inkrementierten Primärschlüssel über AUTO_INCREMENT zu erhalten, bevor die Zeile in der Datenbank erstellt wird. Anmerkung: Bei Postgres funktioniert dies über die Option evaluate default values.

Wenn man neue Objekte mit Beziehungen hinzufügt, ist es sehr praktisch, wenn man bereits Kinder für ein übergeordnetes Objekt hinzufügen kann, während das Formular der Eltern noch offen ist und das übergeordnete Objekt somit noch nicht gebunden ist.

Um diese Einschränkung zu umgehen, kann diese Funktion verwendet werden, um Sequenzwerte in einer separaten Tabelle auf Sqlite-basierten Formaten wie gpkg zu verwalten.

Die Sequenztabelle wird nach einer Sequenz-ID gefiltert (filter_attribute und filter_value), und der aktuelle Wert des id_field wird um 1 erhöht und der erhöhte Wert zurückgegeben.

Wenn für zusätzliche Spalten Werte angegeben werden müssen, kann die Zuordnung default_values für diesen Zweck verwendet werden.

Hinweis

Diese Funktion modifiziert die Ziel-Sqlite-Tabelle. Sie ist für die Verwendung mit Standardwertkonfigurationen für Attribute vorgesehen.

Wenn der Datenbankparameter ein Layer ist und der Layer sich im Transaktionsmodus befindet, wird der Wert nur einmal während der Lebensdauer einer Transaktion abgerufen, zwischengespeichert und inkrementiert. Dies macht es unsicher, von mehreren Prozessen aus parallel an der gleichen Datenbank zu arbeiten.

Syntax

sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values])

[] kennzeichnet optionale Argumente

Argumente

  • database - Pfad zur Sqlite-Datei oder zum GeoPackage Layer

  • table - Name der Tabelle, in der die Sequenzen verwaltet werden

  • id_field - Name des Feldes, das den aktuellen Wert enthält

  • filter_attribute - Name des Feldes, das einen eindeutigen Bezeichner für diese Sequenz enthält. Muss einen UNIQUE-Index haben.

  • filter_value - Name der zu verwendenden Sequenz.

  • default_values - Zuordnung mit Standardwerten für zusätzliche Spalten in der Tabelle. Die Werte müssen vollständig in Anführungszeichen gesetzt werden. Funktionen sind erlaubt.

Beispiele

  • sqlite_fetch_and_increment(@layer, 'sequence_table', 'last_unique_id', 'sequence_id', 'global', map('last_change', 'date(''now'')', 'user', '''' || @user_account_name || '''')) → 0

  • sqlite_fetch_and_increment(layer_property(@layer, 'path'), 'sequence_table', 'last_unique_id', 'sequence_id', 'global', map('last_change', 'date(''now'')', 'user', '''' || @user_account_name || '''')) → 0

Siehe auch: Datenquellen, Festlegung von Beziehungen zwischen mehreren Layern

13.2.22.17. uuid

Erzeugt einen Universally Unique Identifier (UUID) für jede Zeile mit der Qt-Methode QUuid::createUuid.

Syntax

uuid([format=‘WithBraces‘])

[] kennzeichnet optionale Argumente

Argumente

  • format - Das Format, in dem die UUID formatiert werden soll. ‚WithBraces‘, ‚WithoutBraces‘ oder ‚Id128‘.

Beispiele

  • uuid() → ‚{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}‘

  • uuid('WithoutBraces') → ‚0bd2f60f-f157-4a6d-96af-d4ba4cb366a1‘

  • uuid('Id128') → ‚0bd2f60ff1574a6d96afd4ba4cb366a1‘

13.2.23. Beziehungen

Diese Gruppe enthält die Liste der im aktuellen Projekt verfügbaren Beziehungen) oder ein Formular anzupassen.

13.2.24. Sensoren-Funktionen

Diese Gruppe enthält Funktionen zur Interaktion mit Sensoren.

13.2.24.1. sensor_data

Gibt den letzten erfassten Wert (oder Werte als Zuordnung zu Sensoren, die mehrere Werte melden) von einem registrierten Sensor zurück.

Syntax

sensor_data(name, [expiration])

[] kennzeichnet optionale Argumente

Argumente

  • name - den Sensornamen

  • expiration - maximal zulässige Millisekunde seit dem letzten erfassten Wert

Beispiele

  • sensor_data('geiger_1') → ‚2000‘

13.2.25. Zeichenketten-Funktionen

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

13.2.25.1. ascii

Gibt den Unicode-Code zurück, der dem ersten Zeichen einer Zeichenkette zugeordnet ist.

Syntax

ascii(string)

Argumente

  • string - die in Unicode-Code zu konvertierende Zeichenkette

Beispiele

  • ascii('Q') → 81

13.2.25.2. char

Gibt das mit einem Unicode-Code verbundene Zeichen zurück.

Syntax

char(code)

Argumente

  • code - eine Unicode-Kennzahl

Beispiele

  • char(81) → ‚Q‘

13.2.25.3. concat

Verkettet mehrere Zeichenketten zu einer einzigen. NULL-Werte werden in leere Zeichenketten umgewandelt. Andere Werte (wie Zahlen) werden in Zeichenketten umgewandelt

Syntax

concat(string1, string2, …)

Argumente

  • string - einen String-Wert

Beispiele

  • concat('sun', 'set') → ‚sunset‘

  • concat('a','b','c','d','e') → ‚abcde‘

  • concat('Anno ', 1984) → ‚Anno 1984‘

  • concat('The Wall', NULL) → ‚The Wall‘

Verkettung von Feldern

Sie können auch Zeichenketten oder Feldwerte verketten, indem Sie die Operatoren || oder + verwenden, mit einigen besonderen Eigenschaften:

  • Der Operator + bedeutet auch Summenausdruck. Wenn Sie also einen ganzzahligen Operanden (Feld oder numerischer Wert) haben, kann dies fehleranfällig sein und Sie sollten besser die anderen Operatoren verwenden:

    'My feature id is: ' + "gid" => triggers an error as gid returns an integer
    
  • Wenn eines der Argumente ein NULL-Wert ist, wird entweder || oder + einen NULL-Wert zurückgeben. Um die anderen Argumente unabhängig vom NULL-Wert zurückzugeben, können Sie die Funktion concat verwenden:

    'My feature id is: ' + NULL ==> NULL
    'My feature id is: ' || NULL => NULL
    concat('My feature id is: ', NULL) => 'My feature id is: '
    

Siehe auch: ||, +

13.2.25.4. format

Formatieren einer Zeichenkette mit den angegebenen Argumenten.

Syntax

format(string, arg1, arg2, …)

Argumente

  • string - Eine Zeichenkette mit den Platzhaltern %1, %2, usw. für die Argumente. Platzhalter können wiederholt werden. Der Platzhalter mit der niedrigsten Nummer wird durch arg1 ersetzt, der nächste durch arg2, usw..

  • arg - beliebiger Typ. Beliebige Anzahl von Argumenten.

Beispiele

  • format('This %1 a %2','is', 'test') → ‚This is a test‘

  • format('This is %2','a bit unexpected but 2 is lowest number in string','normal') → ‚This is a bit unexpected but 2 is lowest number in string‘

13.2.25.5. format_date

Formatiert einen Datumstyp oder einen String in ein benutzerdefiniertes Stringformat. Verwendet Qt Datum/Zeit Format Strings. Siehe QDateTime::toString.

Syntax

format_date(datetime, format, [language])

[] kennzeichnet optionale Argumente

Argumente

  • datetime - Datum, Uhrzeit oder DatumZeit-Wert

  • format - Formatvorlage, die zur Formatierung der Zeichenkette verwendet werden soll.

    Expression

    gibt zurück

    d

    den Tag als Zahl ohne führende Null (1 bis 31)

    dd

    den Tag als Zahl mit führender Null (01 bis 31)

    ddd

    den abgekürzten lokalisierten Tagesnamen (z. B. ‚Mon‘ bis ‚Sun‘)

    dddd

    den langen lokalisierten Tagesnamen (z. B. ‚Monday‘ bis ‚Sunday‘)

    M

    den Monat als Zahl ohne führende Null (1-12)

    MM

    den Monat als Zahl mit führender Null (01-12)

    MMM

    den abgekürzten lokalisierten Monatsnamen (z. B. ‚Jan‘ bis ‚Dec‘)

    MMMM

    den langen lokalisierten Monatsnamen (z. B. ‚January‘ bis ‚December‘)

    yy

    das Jahr als zweistellige Zahl (00-99)

    yyyy

    das Jahr als vierstellige Zahl

    Diese Ausdrücke können für den Zeitteil des Formatstrings verwendet werden:

    Expression

    gibt zurück

    h

    die Stunde ohne führende Null (0 bis 23 oder 1 bis 12 bei AM/PM-Anzeige)

    hh

    die Stunde mit führender Null (00 bis 23 oder 01 bis 12 bei AM/PM-Anzeige)

    H

    die Stunde ohne führende Null (0 bis 23, auch bei AM/PM-Anzeige)

    HH

    die Stunde mit einer führenden Null (00 bis 23, auch bei AM/PM-Anzeige)

    m

    die Minute ohne führende Null (0 bis 59)

    mm

    die Minute mit führender Null (00 bis 59))

    s

    die Sekunde ohne führende Null (0 bis 59)

    ss

    die Sekunde mit führender Null (00 bis 59)

    z

    die Millisekunden ohne nachgestellte Nullen (0 bis 999)

    zzz

    die Millisekunden mit nachgestellten Nullen (000 bis 999)

    AP oder A

    als AM/PM-Zeit interpretieren. AP muss entweder ‚AM‘ oder ‚PM‘ sein.

    ap oder a

    Interpretation als AM/PM-Zeit. ap muss entweder ‚am‘ oder ‚pm‘ sein.

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die verwendet wird, um das Datum in eine benutzerdefinierte Zeichenfolge zu formatieren. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

Beispiele

  • format_date('2012-05-15','dd.MM.yyyy') → ‚15.05.2012‘

  • format_date('2012-05-15','d MMMM yyyy','fr') → ‚15 mai 2012‘

  • format_date('2012-05-15','dddd') → ‚Tuesday‘, wenn das aktuelle Gebietsschema eine englische Variante ist

  • format_date('2012-05-15 13:54:20','dd.MM.yy') → ‚15.05.12‘

  • format_date('13:54:20','hh:mm AP') → ‚01:54 PM‘

13.2.25.6. format_number

Gibt eine Zahl zurück, die mit dem Gebietsschema-Trennzeichen für Tausender formatiert ist. Standardmäßig wird das aktuelle QGIS-Benutzergebietsschema verwendet. Außerdem werden die Dezimalstellen auf die Anzahl der angegebenen Stellen gekürzt.

Syntax

format_number(number, [places=0], [language], [omit_group_separators=false], [trim_trailing_zeroes=false])

[] kennzeichnet optionale Argumente

Argumente

  • number - Nummer, die formatiert werden soll

  • places - Ganzzahl, die die Anzahl der Dezimalstellen angibt, auf die die Zeichenkette gekürzt werden soll.

  • language - Sprache (Kleinbuchstaben, zwei- oder dreibuchstabig, ISO 639 Sprachcode), die zur Formatierung der Zahl in eine Zeichenkette verwendet wird. Standardmäßig wird das aktuelle Gebietsschema des QGIS-Benutzers verwendet.

  • omit_group_separators - wenn auf true gesetzt, werden Gruppentrennzeichen nicht in die Zeichenkette aufgenommen

  • trim_trailing_zeroes - wenn auf true gesetzt, werden nachstehende Nullen nach dem Dezimalpunkt aus der Zeichenkette entfernt

Beispiele

  • format_number(10000000.332,2) → ‚10,000,000.33‘ wenn z. B. das aktuelle Gebietsschema eine englischsprachige Variante ist

  • format_number(10000000.332,2,'fr') → ‚10 000 000,33‘

13.2.25.7. left

Gibt eine Teilzeichenkette zurück, die die n am weitesten links stehenden Zeichen der Zeichenkette enthält.

Syntax

left(string, length)

Argumente

  • string - eine Zeichenkette

  • length - Ganzzahl. Die Anzahl der Zeichen von links in der Zeichenkette, die zurückgegeben werden sollen.

Beispiele

  • left('Hello World',5) → ‚Hello‘

13.2.25.8. length

Gibt die Anzahl der Zeichen in einer Zeichenkette oder die Länge eines geometrischen Linienstring zurück.

Zeichenketten-Variante

Gibt die Anzahl der Zeichen in einer Zeichenkette zurück.

Syntax

length(string)

Argumente

  • string - Zeichenkette, von welcher die Länge gezählt werden soll

Beispiele

  • length('hello') → 5

Geometrie-Variante

Berechnet die Länge eines geometrischen Linienobjekts. Die Berechnungen erfolgen immer planimetrisch im räumlichen Bezugssystem (SRS) dieser Geometrie, und die Einheiten der zurückgegebenen Länge entsprechen den Einheiten für das SRS. Dies unterscheidet sich von den Berechnungen, die von der Funktion $length durchgeführt werden, die ellipsoidische Berechnungen basierend auf den Einstellungen für Ellipsoid und Entfernungseinheiten des Projekts vornimmt.

Syntax

length(geometry)

Argumente

  • geometry - Liniengeometrie-Objekt

Beispiele

  • length(geom_from_wkt('LINESTRING(0 0, 4 0)')) → 4.0

13.2.25.9. lower

Konvertiert eine Zeichenkette in Kleinbuchstaben.

Syntax

lower(string)

Argumente

  • string - die in Kleinbuchstaben zu konvertierende Zeichenkette

Beispiele

  • lower('HELLO World') → ‚hello world‘

13.2.25.10. lpad

Gibt eine Zeichenkette zurück, die links auf die angegebene Breite aufgefüllt wird, wobei ein Füllzeichen verwendet wird. Wenn die Zielbreite kleiner ist als die Länge der Zeichenkette, wird die Zeichenkette abgeschnitten.

Syntax

lpad(string, width, fill)

Argumente

  • string - Zeichenkette zum Auffüllen

  • width - Länge der neuen Zeichenkette

  • fill - Zeichen, mit dem der verbleibende Platz ausgefüllt werden soll

Beispiele

  • lpad('Hello', 10, 'x') → ‚xxxxxHello‘

  • lpad('Hello', 3, 'x') → ‚Hel‘

13.2.25.11. ltrim

Entfernt die längste Zeichenfolge, die nur die angegebenen Zeichen (standardmäßig ein Leerzeichen) enthält, vom Anfang der Zeichenfolge.

Syntax

ltrim(string, [characters=‘ ‚])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenfolge zum Trimmen

  • characters - zu trimmende Zeichen

Beispiele

  • ltrim('   hello world  ') → ‚hello world ‚

  • ltrim('zzzytest', 'xyz') → ‚test‘

Siehe auch: rtrim, trim

13.2.25.12. regexp_match

Gibt die erste übereinstimmende Position eines regulären Ausdrucks innerhalb einer Unicode-Zeichenkette zurück, oder 0, wenn die Teilzeichenkette nicht gefunden wird.

Syntax

regexp_match(input_string, regex)

Argumente

  • input_string - die mit dem regulären Ausdruck zu prüfende Zeichenfolge

  • regex - Der reguläre Ausdruck, gegen den getestet werden soll. Backslash-Zeichen müssen doppelt escaped werden (z. B. „\\s“ für ein Leerzeichen oder „\\b“ für eine Wortgrenze).

Beispiele

  • regexp_match('QGIS ROCKS','\\sROCKS') → 5

  • regexp_match('Budač','udač\\b') → 2

13.2.25.13. regexp_replace

Gibt eine Zeichenkette zurück, die durch den angegebenen regulären Ausdruck ersetzt wurde.

Syntax

regexp_replace(input_string, regex, replacement)

Argumente

  • input_string - Zeichenfolge, in der die zu ersetzende Muster gesucht werden sollen

  • regex - Der zu ersetzende reguläre Ausdruck. Backslash-Zeichen müssen doppelt maskiert werden (z. B. „\\s“, um ein Leerzeichen zu ersetzen).

  • replacement - Die Zeichenkette, die alle übereinstimmenden Vorkommen des übergebenen regulären Ausdrucks ersetzen soll. Eingebettete Gruppen können in die Ersetzungszeichenkette eingefügt werden, indem man \\1, \\2, etc..

Beispiele

  • regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ') → ‚QGIS DOES ROCK‘

  • regexp_replace('ABC123','\\d+','') → ‚ABC‘

  • regexp_replace('my name is John','(.*) is (.*)','\\2 is \\1') → ‚John is my name‘

13.2.25.14. regexp_substr

Gibt den Teil einer Zeichenkette zurück, der mit einem angegebenen regulären Ausdruck übereinstimmt.

Syntax

regexp_substr(input_string, regex)

Argumente

  • input_string - die Zeichenkette, in der nach Übereinstimmungen gesucht werden soll

  • regex - Der reguläre Ausdruck, der abgeglichen werden soll. Backslash-Zeichen müssen mit doppeltem Backslash versehen werden (z. B. „\\s“, um ein Leerzeichen zu finden).

Beispiele

  • regexp_substr('abc123','(\\d+)') → ‚123‘

13.2.25.15. replace

Gibt eine Zeichenkette zurück, die durch die übergebene Zeichenkette, das Array oder die Map von Zeichenketten ersetzt wurde.

String- und Array-Variante

Gibt eine Zeichenkette zurück, bei der die übergebene Zeichenkette oder ein Array von Zeichenketten durch eine Zeichenkette oder ein Array von Zeichenketten ersetzt wurde.

Syntax

replace(string, before, after)

Argumente

  • string - die Eingabezeichenkette

  • before - die zu ersetzende Zeichenkette oder ein Array von Zeichenketten

  • after - die Zeichenkette oder das Array von Zeichenketten, die als Ersatz verwendet werden sollen

Beispiele

  • replace('QGIS SHOULD ROCK','SHOULD','DOES') → ‚QGIS DOES ROCK‘

  • replace('QGIS ABC',array('A','B','C'),array('X','Y','Z')) → ‚QGIS XYZ‘

  • replace('QGIS',array('Q','S'),'') → ‚GI‘

Map-Variante

Gibt eine Zeichenkette zurück, in der die übergebenen Map-Schlüssel durch gepaarte Werte ersetzt sind. Längere Map-Schlüssel werden zuerst ausgewertet.

Syntax

replace(string, map)

Argumente

  • string - die Eingabezeichenkette

  • map - die Zuordnung von Schlüsseln und Werten

Beispiele

  • replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES')) → ‚QGIS DOES ROCK‘

  • replace('forty two',map('for','4','two','2','forty two','42')) → ‚42‘

13.2.25.17. rpad

Gibt eine Zeichenkette zurück, die rechts auf die angegebene Breite aufgefüllt wurde, wobei ein Füllzeichen verwendet wird. Wenn die Zielbreite kleiner ist als die Länge der Zeichenkette, wird die Zeichenkette abgeschnitten.

Syntax

rpad(string, width, fill)

Argumente

  • string - Zeichenkette zum Auffüllen

  • width - Länge der neuen Zeichenkette

  • fill - Zeichen, mit dem der verbleibende Platz ausgefüllt werden soll

Beispiele

  • rpad('Hello', 10, 'x') → ‚Helloxxxxx‘

  • rpad('Hello', 3, 'x') → ‚Hel‘

13.2.25.18. rtrim

Entfernt die längste Zeichenfolge, die nur die angegebenen Zeichen (standardmäßig ein Leerzeichen) enthält, vom Ende der Zeichenfolge.

Syntax

rtrim(string, [characters=‘ ‚])

[] kennzeichnet optionale Argumente

Argumente

  • string - Zeichenfolge zum Trimmen

  • characters - zu trimmende Zeichen

Beispiele

  • rtrim('   hello world  ') → ‚ hello world‘

  • rtrim('testxxzx', 'xyz') → ‚test‘

Siehe auch: ltrim, trim

13.2.25.19. strpos

Gibt die erste übereinstimmende Position einer Teilzeichenkette innerhalb einer anderen Zeichenkette zurück, oder 0, wenn die Teilzeichenkette nicht gefunden wird.

Syntax

strpos(haystack, needle)

Argumente

  • haystack - zu durchsuchende Zeichenkette

  • needle - Zeichenkette, nach der gesucht werden soll

Beispiele

  • strpos('HELLO WORLD','WORLD') → 7

  • strpos('HELLO WORLD','GOODBYE') → 0

13.2.25.20. substr

Gibt einen Teil einer Zeichenkette zurück.

Syntax

substr(string, start, [length])

[] kennzeichnet optionale Argumente

Argumente

  • string - die vollständige Eingabezeichenkette

  • start - Ganzzahl, die die zu extrahierende Startposition angibt, beginnend mit 1; wenn start negativ ist, beginnt die Rückgabezeichenkette am Ende der Zeichenkette abzüglich des Startwerts

  • length - Ganzzahl, die die Länge der zu extrahierenden Zeichenkette angibt; wenn length negativ ist, wird die Rückgabezeichenkette die angegebene Länge der Zeichen am Ende der Zeichenkette auslassen

Beispiele

  • substr('HELLO WORLD',3,5) → ‚LLO W‘

  • substr('HELLO WORLD',6) → ‚ WORLD‘

  • substr('HELLO WORLD',-5) → ‚WORLD‘

  • substr('HELLO',3,-1) → ‚LL‘

  • substr('HELLO WORLD',-5,2) → ‚WO‘

  • substr('HELLO WORLD',-5,-1) → ‚WORL‘

13.2.25.21. title

Konvertiert alle Wörter einer Zeichenkette in Groß- und Kleinschreibung (alle Wörter klein mit führendem Großbuchstaben).

Syntax

title(string)

Argumente

  • string - die Zeichenkette, die in Groß- und Kleinschreibung umgewandelt werden soll

Beispiele

  • title('hello WOrld') → ‚Hello World‘

13.2.25.22. to_string

Konvertiert eine Zahl in eine Zeichenkette

Syntax

to_string(number)

Argumente

  • number - Ganzzahl oder reeller Wert, der in eine Zeichenkette konvertiert werden soll

Beispiele

  • to_string(123) → ‚123‘

13.2.25.23. trim

Entfernt alle führenden und nachfolgenden Whitespaces (Leerzeichen, Reiter, etc.) aus einer Zeichenkette.

Syntax

trim(string)

Argumente

  • string - Zeichenfolge zum Trimmen

Beispiele

  • trim('   hello world  ') → ‚hello world‘

Siehe auch: ltrim, rtrim

13.2.25.24. upper

Konvertiert eine Zeichenkette in Großbuchstaben.

Syntax

upper(string)

Argumente

  • string - die Zeichenkette, die in Großbuchstaben umgewandelt werden soll

Beispiele

  • upper('hello WOrld') → ‚HELLO WORLD‘

13.2.25.25. wordwrap

Gibt eine Zeichenkette zurück, die nach einer maximalen/minimalen Anzahl von Zeichen mit einem Absatz-Tag umgebrochen ist.

Syntax

wordwrap(string, wrap_length, [delimiter_string])

[] kennzeichnet optionale Argumente

Argumente

  • string - die Zeichenkette, die umgebrochen werden soll

  • wrap_length - eine ganze Zahl. Wenn wrap_length positiv ist, stellt die Zahl die ideale maximale Anzahl der umzubrechenden Zeichen dar; wenn sie negativ ist, stellt die Zahl die minimale Anzahl der umzubrechenden Zeichen dar.

  • delimiter_string - Optionale Begrenzungszeichenfolge zum Umbruch in eine neue Zeile.

Beispiele

  • wordwrap('UNIVERSITY OF QGIS',13) → ‚UNIVERSITY OF<br>QGIS‘

  • wordwrap('UNIVERSITY OF QGIS',-3) → ‚UNIVERSITY<br>OF QGIS‘

13.2.26. Benutzerdefinierte Ausdrücke

Diese Gruppe enthält die als Benutzerausdrücke gespeicherten Ausdrücke.

13.2.27. Variablen

Diese Gruppe enthält dynamische Variablen im Zusammenhang mit der Anwendung, der Projektdatei und anderen Einstellungen. Die Verfügbarkeit der Variablen hängt vom Kontext ab:

  • dem expressionSelect Objekte über Ausdruck wählen Dialog

  • dem calculateField Feldrechner Dialog

  • dem Layereigenschaften Dialog

  • dem Drucklayout

Um diese Variablen in einem Ausdruck zu verwenden, sollte ihnen das Zeichen @ vorangestellt werden (z.B. @row_number).

Variable

Beschreibung

algorithm_id

Die eindeutige ID eines Algorithmus

animation_end_time

Ende des gesamten zeitlichen Bereichs der Animation (als Datetime-Wert)

animation_interval

Dauer des gesamten zeitlichen Bereichs der Animation (als Intervallwert)

animation_start_time

Beginn des gesamten zeitlichen Bereichs der Animation (als Datumswert)

atlas_feature

Das aktuelle Atlas-Objekt (als Feature-Objekt)

atlas_featureid

Die ID des aktuellen Atlas-Objekts

atlas_featurenumber

Die Nummer des aktuellen Atlas-Objekts im Layout

atlas_filename

Der Name der aktuellen Atlas-Datei

atlas_geometry

Die Geometrie des aktuellen Atlas-Objektes

atlas_layerid

Die ID des aktuellen Atlas-Coverage-Layers

atlas_layername

Der Name des aktuellen Atlas-Coverage-Layers

atlas_pagename

Der Name der aktuellen Atlas-Seite

atlas_totalfeatures

Die Gesamtzahl der Objekte im Atlas

canvas_cursor_point

Die letzte Position des Cursors auf der Kartenansicht in geografischen Koordinaten des Projekts

cluster_color

Die Farbe der Symbole innerhalb eines Clusters, oder NULL, wenn die Symbole gemischte Farben haben

cluster_size

Die Anzahl der Symbole innerhalb eines Clusters

current_feature

Das Objekt, das gerade im Attributformular oder in der Tabellenzeile bearbeitet wird

current_geometry

Die Geometrie des Objekts, das gerade im Formular oder in der Tabellenzeile bearbeitet wird

current_parent_feature

steht für das Objekt, das gerade im übergeordneten Formular bearbeitet wird. Nur im Kontext eines eingebetteten Formulars verwendbar.

current_parent_geometry

stellt die Geometrie des Objekts dar, das gerade im übergeordneten Formular bearbeitet wird. Nur im Kontext eines eingebetteten Formulars verwendbar.

form_mode

Wofür das Formular verwendet wird, wie AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode oder IdentifyMode als String.

feature

Das aktuelle Objekt, das ausgewertet wird. Dies kann mit der Funktion „attribute“ verwendet werden, um Attributwerte des aktuellen Objekts auszuwerten.

frame_duration

Zeitliche Dauer der einzelnen Animationsbilder (als Intervallwert)

frame_number

Aktuelle Bildnummer während der Wiedergabe der Animation

frame_rate

Anzahl der Bilder pro Sekunde bei der Wiedergabe der Animation

fullextent_maxx

Maximaler x-Wert der gesamten Kartenansicht (einschließlich aller Layer)

fullextent_maxy

Maximaler y-Wert der gesamten Kartenansicht (einschließlich aller Layer)

fullextent_minx

Minimaler x-Wert aus der gesamten Kartenansicht (einschließlich aller Layer)

fullextent_miny

Minimaler y-Wert der gesamten Kartenansicht (einschließlich aller Layer)

geometry

Die Geometrie des aktuell bewerteten Objekts

geometry_part_count

Die Anzahl der Teile in der Geometrie des gerenderten Objekts

geometry_part_num

Die aktuelle Geometrie-Teilenummer für das darzustellende Objekt

geometry_point_count

Die Anzahl der Punkte im gerenderten Teil der Geometrie

geometry_point_num

Die aktuelle Punktnummer im Teil der gerenderten Geometrie

geometry_ring_num

Aktuelle Geometrieringnummer für das zu rendernde Objekt (nur für Polygonfeatures). Der äußere Ring hat einen Wert von 0.

grid_axis

Die aktuelle Achse der Gitterbeschriftung (z. B. ‚x‘ für Längengrad, ‚y‘ für Breitengrad)

grid_number

Der aktuelle Wert der Gitter-Anmerkung

id

Die ID des aktuell betrachteten Objekts

item_id

Die Benutzer-ID des Layoutelements (nicht unbedingt eindeutig)

item_uuid

Die eindeutige ID des Layoutelements

layer

Der aktuelle Layer

layer_crs

Die Koordinatenbezugssystem-ID des aktuellen Layers

layer_crs_ellipsoid

Die Ellipsoid ID des aktuellen Layers KBS

layer_cursor_point

Punktgeometrie unter der Mausposition in der Kartenansicht, im KBS des aktiven Layers

layer_id

Die ID des aktuellen Layers

layer_ids

Die IDs aller Karten-Layer im aktuellen Projekt als Liste

layer_name

Der Name des aktuellen Layers

layers

Alle Karten-Layer des aktuellen Projekts in einer Liste

layout_dpi

Die Auflösung der Layout-Darstellung (DPI)

layout_name

Der Name des Layouts

layout_numpages

Die Anzahl der Seiten im Layout

layout_page

Die Seitenzahl des aktuellen Elements im Layout

layout_pageheight

Die aktive Seitenhöhe im Layout (in mm für Standardpapierformate oder in der Einheit, die für benutzerdefinierte Papierformate verwendet wurde)

layout_pageoffsets

Array der Y-Koordinaten des oberen Endes jeder Seite. Ermöglicht die dynamische Positionierung von Elementen auf Seiten in einem Kontext, in dem sich die Seitengrößen ändern können

layout_pagewidth

Die aktive Seitenbreite im Layout (in mm für Standardpapierformate oder in der Einheit, die für benutzerdefinierte Papierformate verwendet wurde)

legend_column_count

Die Anzahl der Spalten in der Legende

legend_filter_by_map

Gibt an, ob der Inhalt der Legende durch die Karte gefiltert wird

legend_filter_out_atlas

Gibt an, ob der Atlas aus der Legende herausgefiltert wird

legend_split_layers

Gibt an, ob Layer in der Legende geteilt werden können

legend_title

Der Titel der Legende

legend_wrap_string

Das/die Zeichen, mit denen der Legendentext umbrochen wird

map_crs

Das Koordinatenbezugssystem der aktuellen Karte

map_crs_acronym

Das Akronym des Koordinatenbezugssystems der aktuellen Karte

map_crs_definition

Die vollständige Definition des Koordinatenbezugssystems der aktuellen Karte

map_crs_description

Der Name des Koordinatenbezugssystems der aktuellen Karte

map_crs_ellipsoid

Das Akronym des Ellipsoids des Koordinatenbezugssystems der aktuellen Karte

map_crs_proj4

Die Proj4-Definition des Koordinatenbezugssystems der aktuellen Karte

map_crs_projection

Der beschreibende Name der vom Koordinatenbezugssystem der Karte verwendeten Projektionsmethode (z. B. „Albers Equal Area“)

map_crs_wkt

Die WKT-Definition des Koordinatenbezugssystems der aktuellen Karte

map_end_time

Das Ende des zeitlichen Bereichs der Karte (als DatumZeitwert)

map_extent

Die Geometrie, die die aktuelle Ausdehnung der Karte darstellt

map_extent_center

Das Punkt-Objekt in der Mitte der Karte

map_extent_height

Die aktuelle Höhe der Karte

map_extent_width

Die aktuelle Breite der Karte

map_id

Die ID des aktuellen Kartenziels. Bei Kartenansichten ist dies „canvas“, bei Layout-Kartenansichten die Element-ID.

map_interval

Die Dauer des zeitlichen Bereichs der Karte (als Intervallwert)

map_layer_ids

Die Liste der IDs der in der Karte sichtbaren Layer

map_layers

Die Liste der in der Karte sichtbaren Layer

map_rotation

Die aktuelle Drehung der Karte

map_scale

Der aktuelle Maßstab der Karte

map_start_time

Der Beginn des zeitlichen Bereichs der Karte (als DatumZeitwert)

map_units

Die Maßeinheiten der Karte

model_path

Vollständiger Pfad (einschließlich Dateiname) des aktuellen Modells (oder Projektpfad, wenn das Modell in ein Projekt eingebettet ist)

model_folder

Ordner mit dem aktuellen Modell (oder Projektordner, wenn das Modell in ein Projekt eingebettet ist)

model_name

Name des aktuellen Modells

model_group

Gruppe für aktuelles Modell

notification_message

Inhalt der vom Anbieter gesendeten Benachrichtigung (nur für Aktionen verfügbar, die durch Anbieterbenachrichtigungen ausgelöst werden)

parent

Verweist auf das aktuelle Objekt im übergeordneten Layer und ermöglicht den Zugriff auf dessen Attribute und Geometrie beim Filtern einer aggregate-Funktion

project_abstract

Die Projektzusammenfassung, entnommen aus den Projekt-Metadaten

project_area_units

Die Flächeneinheit für das aktuelle Projekt, die bei der Berechnung der Flächen von Geometrien verwendet wird

project_author

Der Projektautor, entnommen aus den Projekt-Metadaten

project_basename

Der Basisname des Dateinamens des aktuellen Projekts (ohne Pfad und Erweiterung)

project_creation_date

Das Erstellungsdatum des Projekts, das den Projekt-Metadaten entnommen wird

project_crs

Das Koordinatenbezugssystem des Projekts

project_crs_arconym

Das Akronym des Koordinatenbezugssystems des Projekts

project_crs_definition

Die vollständige Definition des Koordinatenbezugssystems des Projekts

project_crs_description

Die Beschreibung des Koordinatenbezugssystems des Projekts

project_crs_ellipsoid

Das Ellipsoid des Koordinatenbezugssystems des Projekts

project_crs_proj4

Die Proj4-Darstellung des Koordinatenbezugssystems des Projekts

project_crs_wkt

Die WKT-Darstellung des Koordinatenbezugssystems des Projekts

project_distance_units

Die Entfernungseinheit für das aktuelle Projekt, die bei der Berechnung der Länge von Geometrien und Entfernungen verwendet wird

project_ellipsoid

Der Name des Ellipsoids des aktuellen Projekts, der bei der Berechnung von geodätischen Flächen oder Längen von Geometrien verwendet wird

project_filename

Der Dateiname des aktuellen Projekts

project_folder

Der Ordner des aktuellen Projekts

project_home

Der Home-Pfad des aktuellen Projekts

project_identifier

Die Projektkennung, die aus den Metadaten des Projekts stammt

project_keywords

Die Schlüsselwörter des Projekts, die den Metadaten des Projekts entnommen wurden

project_last_saved

Datum/Uhrzeit, zu der das Projekt zuletzt gespeichert wurde.

project_path

Der vollständige Pfad (einschließlich Dateiname) des aktuellen Projekts

project_title

Der Titel des aktuellen Projekts

project_units

Die Einheiten des KBS des Projekts

qgis_locale

Die aktuelle Sprache von QGIS

qgis_os_name

Der Name des aktuellen Betriebssystems, z. B. „windows“, „linux“ oder „osx“

qgis_platform

Die QGIS-Plattform, z.B. ‚Desktop‘ oder ‚Server‘

qgis_release_name

Der Name der aktuellen QGIS-Version

qgis_short_version

Die aktuelle QGIS-Version als Shortstring

qgis_version

Die aktuelle QGIS Versionsbezeichnung

qgis_version_no

Die aktuelle QGIS-Versionsnummer

row_number

Speichert die Zahl der aktuellen Reihe

snapping_results

Ermöglicht den Zugriff auf die Ergebnisse des Einrastens während der Digitalisierung eines Objekts (nur in der Funktion „Hinzufügen“ verfügbar)

scale_value

Der aktuelle Wert für den Maßstabsleistenabstand

selected_file_path

Ausgewählter Dateipfad vom Datei-Widget-Selektor beim Hochladen einer Datei mit einem externen Speichersystem

symbol_angle

Der Winkel des Symbols, das zur Darstellung des Objekts verwendet wird (gilt nur für Markierungssymbole)

symbol_color

Die Farbe des Symbols, das zur Darstellung des Objekts verwendet wird

symbol_count

Die Anzahl der Objekte, die durch das Symbol dargestellt werden (in der Layout-Legende)

symbol_frame

Die Bildnummer (nur bei animierten Symbolen)

symbol_id

Die interne ID des Symbols (in der Layoutlegende)

symbol_label

Die Beschriftung für das Symbol (entweder eine benutzerdefinierte Beschriftung oder die automatisch generierte Standardbeschriftung) in der Layoutlegende

symbol_layer_count

Gesamtzahl der Layer im Symbol

symbol_layer_index

Aktueller Layer-Index des Symbols

symbol_marker_column

Spaltennummer für die Markierung (gilt nur für Punktmusterfüllungen)

symbol_marker_row

Zeilennummer für die Markierung (gilt nur für Punktmusterfüllungen)

user_account_name

Der Name des Betriebssystemkontos des aktuellen Benutzers

user_full_name

Der Benutzername des aktuellen Benutzers für das Betriebssystem

value

Der aktuelle Wert

vector_tile_zoom

Genaue Vektor-Kachel-Zoomstufe der Karte, die gerendert wird (abgeleitet vom aktuellen Kartenmaßstab). Normalerweise im Intervall [0, 20]. Im Gegensatz zu @zoom_level ist diese Variable ein Fließkommawert, der zur Interpolation von Werten zwischen zwei ganzzahligen Zoomstufen verwendet werden kann.

with_variable

Ermöglicht das Setzen einer Variablen zur Verwendung innerhalb eines Ausdrucks und vermeidet die wiederholte Berechnung desselben Werts

zoom_level

Vektor-Tile Zoomlevel der Karte, die gerendert wird (abgeleitet vom aktuellen Kartenmaßstab). Normalerweise im Intervall [0, 20].

Beispiele:

  • Liefert die X-Koordinate des Mittelpunkts eines Kartenelements im Layout:

    x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
    
  • Gibt für jedes Objekt im aktuellen Layer die Anzahl der sich überschneidenden Flughafenobjekte zurück:

    aggregate( layer:='airport', aggregate:='count', expression:="code",
                   filter:=intersects( $geometry, geometry( @parent ) ) )
    
  • Ermittelt die object_id des ersten erfassten Punkts einer Linie:

    with_variable(
      'first_snapped_point',
      array_first( @snapping_results ),
      attribute(
        get_feature_by_id(
          map_get( @first_snapped_point, 'layer' ),
          map_get( @first_snapped_point, 'feature_id' )
        ),
        'object_id'
      )
    )
    

13.2.28. Kürzlich verwendete Funktionen

Diese Gruppe enthält die zuletzt verwendeten Funktionen. Je nach Verwendungskontext (Objektauswahl, Feldrechner, allgemein) werden die zuletzt verwendeten Ausdrücke der entsprechenden Liste hinzugefügt (bis zu zehn Ausdrücke), sortiert von mehr bis weniger aktuell. Dies erleichtert das schnelle Auffinden und erneute Anwenden von zuvor verwendeten Ausdrücken.