Die Ausdruck-sfunktion ist aus vielen Teilen von QGIS verfügbar. Er kann unter Expression Builder,
Nach Ausdruck wählen..., Geometrie erzeugen,
Feldrechner oder dem
Datendefinierte Übersteuerung Werkzeug aufgerufen werden. Basierend auf Layerdaten und vorkompilierte oder benutzerdefinierte Funktionen, bietet es eine leistungsstarke Möglichkeit Attributwerte, Geometrie und Variablen zu ändern, damit dynamisch der Geometriestil, den Inhalt oder die Position der Beschriftungen, den Wert für ein Diagramm, die Höhe eines Zusammenstellungsitems, die Wahl einiger Funktionen, erstellen eines virtuellen Felds ... bearbeiten können
Einige Beispiele:
Aus dem Feldrechner, berechnen Sie ein “pop_density” Feld, indem Sie die existierenden Felder “total_pop” und “area_km2” nutzen:
"total_pop" / "area_km2"
Aktualisieren Sie das Feld “density_level” mit zugehörigen Kategorien zu den “pop_density” Werten:
CASE WHEN "pop_density" < 50 THEN 'Low population density'
WHEN "pop_density" >= 50 and "pop_density" < 150 THEN 'Medium population density'
WHEN "pop_density" >= 150 THEN 'High population density'
END
Wenden Sie einen kategorisierten Stil auf alle Objekte an, je nachdem, ob der durchschnittliche Hauspreis kleiner oder größer als 10000€ pro Quadratmeter ist:
"price_m2" > 10000
Mit dem “Durch Ausdruck wählen...” Werkzeug, wählen Sie alle Objekte die eine Fläche mit “Hoher Bevölkerungsdichte” und einem durchschnittlichen Hauspreis größer als 10000€ pro Quadratmeter darstellen:
"density_level" = 'High population density' and "price_m2" > 10000
Ebenso könnte der vorherige Ausdrucke dazu verwendet werden, welche Objekte beschriftet oder in der Karte gezeigt werden. Ausdrücke benutzen bietet Ihnen eine Vielzahl von Möglichkeiten.
Das Ausdrucks-merkmal bietet Ihnen Zugang zu dem:
Ausdruck, welcher nutzbare Funktionen auflistet
Funktions Editor hilft Ihnen benutzerdefinierte Funktionen zu erstellen, um diese in den Ausdrücken zu verwenden.
Figure Expression 1:
Der Ausdruck Reiter
Der Ausdruck Reiter enthält Funktionen sowie Layerfelder und -werte. Er enthält Widgets:
geben Sie Ausdrücke ein, indem Sie Funktionen und/oder Felder nutzen. Eine Vorschau des Ausdrucksergebnis wird unten in dem Dialog angezeigt.
wählen Sie die entsprechende Funktion in der Liste. Ein Suchfeld ist zum filtern der Liste verfügbar um schnell und einfach eine bestimmte Funktion oder ein bestimmtes Feld zu finden. Doppelklicken Sie das gewünschte Item und es wird in den Ausdruck geschrieben.
zeigt Hilfe für jede ausgewählte Funktion. Wenn ein Feld ausgewählt ist, zeigt das Widget ein Beispiel seiner Werte. Doppelklicken Sie einen Wert und er wird dem Ausdruck hinzugefügt.
Um etwas zu helfen, sind die Funktionen in Gruppen strukturiert. In Operatoren finden Sie mathematische Operatoren. Schauen Sie in Mathematik finden Sie mathematische Funktionen. Die Umwandlungen Gruppe enthält Funktionen die einen Datentyp in einen anderen konvertieren. Die Zeichenkette Gruppe stellt Funktionen für Datenketten zur Verfügung, so wie Datum und Uhrzeit Datums- und Uhrzeitdaten handhabt. In der Geometrie Gruppe finden Sie Funktionen für Geometrieobjekte. Mit den Funktionen der Datensatz Gruppe können Sie Ihren Datensatz mit einer Nummerierung versehen, während Sie mit der Feldern und Werten Gruppe alle Attribute der Attributtabelle sehen können. Die Custom Gruppe liefert eine Liste der selbst erstellten oder importierten Funktionen. Es gibt viele weitere Gruppen, aufgelistet unten.
Diese Gruppe enthält Operatoren (z. B. ., +, -, *). Beachten Sie, dass für die meisten mathematischen Fubktionen unten gilt, ist eine Eingabe NULL, dann ist das Ergebnis auch NULL.
Funktion |
Beschreibung |
---|---|
a + b | Addition von zwei Werten (a plus b) |
a - b | Subtraktion von zwei Werten (a minus b) |
a * b | Multiplikation von zwei Werten (a multipliziert mit b) |
a / b | Division von zwei Werten (a dividiert durch b) |
a % b | Rest der Division von a durch b (beispielsweise 7 % 2 = 1, oder 2 passt in 7 dreimal mit dem Rest 1) |
a ^ b | Potenz von zwei Werten (zum Beispiel, 2^2=4 oder 2^3=8) |
a < b | Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner dem rechten Wert ist (a ist kleiner als b) |
a <= b | Vergleicht zwei Werte und ergibt 1, wenn der linke kleiner oder gleich dem rechten Wert ist |
a <> b | Vergleicht zwei Werte und ergibt 1 wenn sie nicht gleich sind |
a = b | Vergleicht zwei Werte und ergibt 1 wenn sie gleich sind |
a != b | a und b sind nicht gleich |
a > b | Vergleicht zwei Werte und ergibt 1, wenn der linke größer dem rechten Wert ist (a ist größer als b) |
a >= b | Vergleicht zwei Werte und ergibt 1, wenn der linke größer oder gleich dem rechten Wert ist |
a ~ b | a entspricht dem regulären Ausdruck b |
|| | Verknüpft zwei Werte zusammen zu einer Zeichenkette. Wenn einer der beiden Werte NULL ist, ist das Ergebnis auch NULL. |
‘\n’ | Setzt eine neue Linie in einer Zeichenkette ein |
LIKE | Liefert 1, wenn der erste Parameter zum gegebenen Muster passt |
ILIKE | Liefert 1, wenn der erste Parameter ohne Berücksichtung der Groß-/Kleinschreibung zum gegebenen Muster passt (ILIKE kann statt LIKE benutzt werden ,damit die Groß-/Kleinschreibung berücksichtigt wird) |
a IS b | Testet, ob zwei Werte identisch sind. Gibt 1 zurück, wenn a gleich b ist |
a OR b | Liefert 1, wenn die Bedingung a oder b erfüllt ist |
a AND b | Liefert 1, wenn die Bedingungen a und b erfüllt sind |
NOT | Negiert eine Bedingung |
Spaltenname “Spaltenname” |
Wert des Feldspaltennamens, achten Sie darauf, es nicht mit einfachen Anführungszeichen zu verwechseln, siehe unten |
‘Zeichenkette’ |
einen Zeichenkettenwert, achten Sie darauf, es nicht mit doppelten Anführungszeichen zu verwechseln, siehe oben |
NULL | ein Nullwert |
a IS NULL | a hat keinen Wert |
a IS NOT NULL | a hat einen Wert |
a IN (value[,value]) | a ist unter den gelistet Werten |
a NOT IN (value[,value]) | a ist nicht unter den gelisteten Werten |
Einige Beispiele:
Verbindet eine Zeichenkette und einen Wert von einem Spaltennamen:
'My feature''s id is: ' || "gid"
Testen Sie ob das “description” Attributfeld mit einer ‘Hello’ Zeichenfolge im Wert startet (beachten Sie die Position des % Zeichens):
"description" LIKE 'Hello%'
Diese Gruppe enthält Funktionen um bedingte Prüfungen in Ausdrücken zu handhaben.
Funktion |
Beschreibung |
---|---|
CASE WHEN ... THEN ... END | Wertet einen Ausdruck aus und liefert ein Ergebnis, wenn es wahr ist. Sie können mehrere Bedingungen testen |
CASE WHEN ... THEN ... ELSE ... END | Wertet einen Ausdruck aus und gibt ein anderes Ergebnis zurück, je nachdem es wahr oder falsch ist. Sie können mehrere Bedingungen testen |
coalesce | Liefert den ersten Nicht-NULL-Wert aus der Ausdrucksliste |
if | Prüft eine Bedingung und liefert unterschiedliche Ergebnisse je nach deren Ausgang |
regexp_match | Liefert wahr, wenn eine Zeichenkette zum gegebenen regulären Ausdruck passt |
Einige Beispiele:
Sende einen Wert zurück wenn die erste Bedingung wahr ist, sonst einen anderen Wert:
CASE WHEN "software" LIKE '%QGIS%' THEN 'QGIS' ELSE 'Other' END
Diese Gruppe enthält mathematische Funktionen (z.B. sqrt, sin und cos).
Funktion |
Beschreibung |
---|---|
abs | Liefert den Betrag einer Zahl |
acos | Liefert den inversen Kosinus eines Wert im Bogenmaß |
asin | Liefert den inversen Sinus eines Wert im Bogenmaß |
atan | Liefert den inversen Kosinus eines Wert im Bogenmaß |
atan2(y,x) | Liefert den inversen Tangens von y/x durch Verwendung des Vorzeichens der beiden Argumente um den Quadranten des Ergebnisses festzustellen |
azimuth(a,b) | Liefert auf Norden bezogenen Azimuth als Winkel im Bogenmaß im Uhrzeigersinn gemessen von der Vertikalen von punkt a zu punkt b |
ceil | Rundet eine Zahl auf |
clamp | Beschränke eine Eingabenwert auf einen gegebenen Bereichen |
cos | Liefert den inversen Kosinus eines Wert im Bogenmaß |
degrees | Wandelt Bogenmaß in Grad um |
exp | Liefert den Exponential eines Wert |
floor | Rundet eine Zahl ab |
ln | Liefert den natürlichen Logarithmus des übergebenen Ausdruck |
log | Liefert den Wert des Logarithmus des gegebenen Werts und der Basis |
log10 | Liefert den 10er-Logarithmus des gegebenen Ausdrucks |
max | Liefert den größten Wert einer Wertemenge |
min | Liefert den kleinsten Wert einer Wertemenge |
pi | Liefert den Wert von pi für Berechnungen |
radians | Wandelt Grad in Bogenmaß um |
rand | Liefert eine zufällige Zahl aus dem durch Minimum und Maximum festgegelegten Bereichs (inklusiv) |
randf | Liefert eine zufällige Fließkommazahl aus einem durch Minimum und Maximum gegebenen Bereichs (inklusiv) |
round | Rundet auf eine bestimmte Stellenzahl |
scale_exp | Wandelt einen bestimmten Wert aus einer Eingangsdomäne zu einem Leistungsbereich einer exponentielle Kurve |
scale_linear | Wandelt einen gegebenen Wert des Eingabe- mit linearer Interpolation in einen Ausgabebereich |
sin | Liefert den Sinus eines Winkels |
sqrt | Liefert die Quadratwurzel eines Werts |
tan | Liefert den Tangens eines Winkels |
Diese Gruppe enthält Funktionen zur Farbmanipulation.
Funktion |
Beschreibung |
---|---|
color_cmyk | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb- und Schwarzkomponenten |
color_cmyka | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Cyan-, Magenta-, Gelb-, Schwarz- und Alpha-(Transparenz-)komponenten |
color_hsl | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen |
color_hsla | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen |
color_hsv | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs- und Helligkeitsattributen |
color_hsva | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Farb-, Sättigungs-, Helligkeits- und Alpha-(Transparenz-)Attributen |
color_part | Gibt eine bestimmte Komponente einer Farbzeichenkette zurück, z.B. rote oder Alpha-Komponente |
color_rgb | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün- und Blau-Komponenten |
color_rgba | Liefert die Zeichenkettendarstellung einer Farbe nach ihrem Rot-, Grün-, Blau- und Alpha-(Transparenz-)Komponenten |
darker | Liefert eine dunklere (oder hellere) Farbzeichenkette |
lighter | Liefert eine hellere (oder dunklere) Farbzeichenkette |
project_color | Liefert eine Farbe aus dem Farbschema des Projekts |
ramp_color | Liefert eine Farbe aus einem Verlaufs als Zeichenkette |
set_color_part | Setzt eine bestimmte Komponente einer Farbzeichenkette, z.B. rote oder Alpha-Komponente |
Diese Gruppe enthält Funktionen, um einen Datentypen in einen anderen umzuwandeln (z.B. Zeichenketten zu Ganzzahlen oder umgekehrt).
Funktion |
Beschreibung |
---|---|
to_date | In eine Datumsobjekt umzuwandelnde Zeichenkette |
to_datetime | In eine Zeitpunktobjekt umzuwandelnde Zeichenkette |
to_int | Wandelt eine Zeichenkette in Fließkommazahlen |
to_interval | Wandelt eine Zeichenkette in einen Intervalltyp (kann für Tage, Stunden, Monate usw. eines Datum verwendet werden) |
to_real | Wandelt eine Zeichenkette in Fließkommazahlen |
to_string | Wandelte eine Zahl in eine Zeichenkette |
to_time | Wandelt eine Zeichenkette in ein Zeitobjekt |
Diese Gruppe enthält benutzerdefinierte Funktionen. Siehe function_editor für weitere Informationen.
Diese Gruppe enthält Funktionen die auf Datums- und Zeitdaten angewendet werden können.
Funktion |
Beschreibung |
---|---|
age | Liefert die Differenz zwischen zwei Terminen oder Terminzeiten als Intervall |
day | Bestimmt den Tag aus einem Datum oder die Anzahl der Tage aus einem Intervall. |
day_of_week | Liefert eine Zahl die dem Tag der Woche entspricht, für ein bestimmtes Datum oder eine Datumzeit |
hour | Bestimmt den Stundenteil aus einem Datum oder die Stundenzahl aus einem Intervall |
minute | Bestimmt den Minutenteil aus einem Datum oder die Minutenzahl aus einem Intervall |
month | Bestimmt den Monat aus einem Datum oder die Anzahl der Monate aus einem Intervall |
now() | Bestimmt das aktuelle Datum und die Zeit |
second | Bestimmt den Sekundenteil aus einem Datum oder die Sekundenzahl aus einem Intervall |
week | Bestimmt die Wochennummer aus einem Datum oder die Anzahl der Wochen aus einem Intervall |
year | Bestimmt das Jahr aus einem Datum oder die Anzahl der Jahre aus einem Intervall |
Einige Beispiele:
Lassen Sie sich den Monat und das Jahr von heute im Format “10/2014” herausgeben:
month(now()) || '/' || year(now())
Enthält eine Liste von Feldern des layers.
Im Allgemeinen können Sie die verschiedenen Felder, Werte und Funktionen verwenden, um Berechnungen als Ausdruck zu erstellen oder Sie tragen es einfach in die Box ein.
Um die Werte eines Feldes anzuzeigen, klicken Sie Sie einfach auf das entsprechende Feld und wählen Sie zwischen Die ersten 10 eindeutigen Werte laden und Alle eindeutigen Werte laden. Auf der rechten Seite öffnet sich die Feldwerte Liste mit eindeutigen Werten. Oben an der Liste, hilft ein Suchfeld, die Werte zu filtern. Um dem Ausdruck einen Wert hinzuzufügen, doppelklicken Sie einfach den Namen in der Liste.
Beispielwert können auch über Rechtsklick erreicht werden. Einen Feldnamen aus der Liste wählen und dann rechtsklicken, um über das Kontextmenü Beispielwerten aus dem gewählten Felds zu laden.
Feldnamen sollten, in dem Ausdruck, in doppelte Anführungsstriche gesetzt werden. Werte oder Zeichenketten sollten in einfache Anführungsstriche gesetzt werden.
Diese Gruppe enthält unscharfe Vergleichsfunktionen zwischen Werten.
Funktion |
Beschreibung |
---|---|
hamming_distance | Liefert der Anzahl von Zeichen an korrespondieren Positionen innerhalb der Eingabezeichenketten an dem die Zeichen unterschiedliche sind. |
levensheim | Liefert die minimale Anzahl von Zeichenbearbeitungen (Einfügen, Löschen oder Substitutionen) die erforderlich, sind um eine Zeichenkette zu einer anderen zu ändern. Misst die Ähnlichkeit zwischen zwei Zeichenketten |
longest_common_substring | Liefert die längste gemeinsame Teilzeichenkette zwischen zwei Zeichenketten |
soundex | Liefert die Soundex Darstellung einer Zeichenkette |
Diese Gruppe enthält allgemeine Funktionen.
Funktion |
Beschreibung |
---|---|
eval | Werte einen Ausdruck aus, der als Zeichenkette übergeben wird. Nützlich um als Kontextvariablen oder Felder übergebene dynamische Parameter zu expandieren. |
layer_property | Liefert eine Eigenschaft des Layers oder einen Wert seiner Metadaten. Es kann ein Layername sein, KBS, Geometrietyp, Objektanzahl... |
var | Liefert den Wert, gespeichert innerhalb einer bestimmten Variablen. Siehe Variable Fubktionen unten |
Dies Gruppe enthält Funktionen für das Arbeiten mit Geometrieobjekten (z.B. Länge und Flächeninhalt).
Funktion |
Beschreibung |
---|---|
$area | Liefert die Fläche des aktuellen Objekts |
$geometry | Liefert die Geometrie des aktuellen Objekts (kann zur Verarbeitung mit anderen Funktionen verwendet werden) |
$length | Liefert die Länge des aktuellen Objekts |
$perimeter | Liefert die Umfanglänge des aktuellen Objekts. |
$x | Liefert die X-Koordinate des aktuellen Objekts |
$x_at(n) | Liefert die X-Koordinate des n-ten Knotens der aktuellen Objektgeometrie |
$y | Liefert die Y-Koordinate des aktuellen Objekts |
$y_at(n) | Liefert die Y-Koordinate des n-ten Knotens der aktuellen Objektgeometrie |
area | Liefert die Fläche eines Polygonobjekts. Berechnung erfolgen im Bezugssystem der Geometrie |
bounds | Liefert die Geometrie der Ausmaße einer Eingabegeometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie |
bounds_height | Liefert die Höhe der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie |
bounds_width | Liefert die Breite der Abmessung einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie |
buffer | Liefert eine Geometrie, die alle Punkte enthält deren Abstand von dieser Geometrie kleiner oder gleich dem gegeben Wert ist. Berechnungen im Bezugssystem der Geometrie |
centroid | Liefert das geometrische Zentrum einer Geometrie |
closest_point | Liefert einen Punkt in einer Geometrie, der der zweiten Geometrie am nächsten liegt. |
combine | Liefert die Kombination von zwei Geometrien |
contains(a,b) | Liefert true dann und nur dann, wenn kein Punkt von b außerhalb von a liegt und mindestens ein Punkt von b in a liegt. |
convex_hull | Liefert die konvexe Hülle einer Geometrie es stellt die minimale konvexe Geometrie dar, die alle Geometrien der Menge enthält) |
crosses | Liefert 1 (wahr), wenn die gelieferte Geometrien einige, aber nicht alle inneren Punkte gemeinsam haben |
difference(a,b) | Liefert die Geometrie, die den Teil der Geometrie a darstellt, der sich nicht mit Geometrie b scheidet |
disjoint | Liefert 1 (true), wenn die Geometrie keinen Raum teilen |
distance | Liefert den kleinsten Abstand zwischen zwei Geometrien in projizierten Einheiten |
end_point | Liefert den letzten Knoten einer Geometrie |
exterior_ring | Liefert den äußeren Ring eines Polygons als Linestring. Wenn die Geometrie kein Polygon ist, ist das Ergebnis null |
extrude(geom,x,y) | Liefert eine extruierte Version der Eingabe (Multi-)Kurven- oder (Multi-)Liniengeometrie mit einer durch x und y angegebenen Erweiterung |
geom_from_gml | Liefert eine Geometrie erstellt aus einer GML-Darstellung der Geometrie |
geom_from_wkt | Liefert eine Geometrie aus einer Well-Known-Text (WKT)-Darstellung |
geom_to_wkt | Liefert eine Well-Known-Text (WKT)-Darstellung einer Geometrie ohne SRID-Metadaten |
geometry | Liefert die Geometrie eines Objekts |
geometry_n | Liefert die nth Geometrie aus einer Geometriecollection oder NULL wenn die Eingabe keine Collection ist |
interior_ring_n | Liefert die Geometrie des n-ten inneren Rings aus einer Polygongeometrie oder null, wenn die Geometrie kein Polygon ist |
intersection | Liefert eine Geometrie, die die gemeinsamen Teile von zwei Geometrien repräsentiert |
intersects | Prüft, ob sich zwei Geometrien schneiden. Liefert 1 (wahr,) wenn sich die Geometrien räumlich schneiden (einen beliebigen gemeinsamen Raum haben) und 0, wenn nicht. |
intersects_bbox | Prüft ob sich der Geometrierahmen sich mit dem Rahmen einer anderen Geometrie überlappt. Liefert 1 (wahr), wenn die Geometrierahmen sich überschneiden (einen Teil des Raums teilen) und 0, wenn nicht |
is_closed | Liefert wahr, wenn ein Linestring geschlossen ist (Start- und Endpunkt sind gleich) oder falsch, wenn er nicht geschlossen ist oder null wenn eine Geometrie kein Linestring ist. |
length | Liefert die Länge eines Liniengeometrie Objekts (oder Länge einer Zeichenkette) |
m | Liefert die M-Koordinate einer Punktgeometrie |
make_line | Liefert eine Liniengeometrie aus einer Reihe von Punktgeometrien |
make_point(x,y,z,m) | Liefert eine Punktgeometrie von X- und Y-Werten (und optional Z- und M-Werte) |
make_point_m(x,y,m) | Liefert eine Punktgeometrie von X- und Y-Koordinaten und die M-Werte |
make_polygon | Liefert eine Polygongeometrie aus einem äußeren Ring und einer optionalen Liste von inneren Ringen |
nodes_to_points | Liefert eine aus allen Punkte der Eingabegeometrie bestehende Multipunktgeometrie |
num_geometries | Liefert die Anzahl von Geometrien in Geometrycollections, oder null, wenn die Eingabegeometrie keine Collection ist |
num_interior_rings | Liefert die Anzahl innerer Ringe eines Polygons oder einer Geometrycollection oder null, falls die Geometrie kein Polygon und keine Collection ist |
num_points | Liefert die Anzahl von Stützpunkten einer Geometrie |
num_rings | Liefert die Ringanzahl (ohne äußere Ringe) in einem Polygon oder einer Geometrycollection oder null, wenn die Eingabegeometrie weder Polygon noch Collection ist |
order_parts | Sortiert die Teile eine Multigeometrie nach gegebenem Kriterium |
overlaps | Prüft, ob sich zwei Geometrien überlappen. Liefert wahr, wenn sich die Geometrien Raum teilen, die gleiche Dimension haben, aber nicht komplett ineinander enthalten sind |
perimeter | Liefert den Perimeter eines Polygonobjekts. Berechnung erfolgen im Bezugssystem der Geometrie |
point_n | Liefert einen bestimmten Knoten einer Geometrie |
point_on_surface | Liefert einen Punkt der Sicht in der Fläche der Geometrie liegt |
relate | Liefert die Dimensional Extended 9 Intersection Model (DE-9IM) Darstellung der Beziehungen zwischen zwei Geometrien |
reverse | Kehrt die Richtung einer Linien durch die Umkehrung der Stützpunktreihenfolge um |
segments_to_lines | Liefert einen Multilinegeometry bestehend aus eine Linie für jedes Segment der Eingabegeometrie |
shortest_line | Liefert die kürzeste Linie, die zwei Geometrien verbindet. Die resultierende Linie beginnt bei Geometrie 1 und endet bei Geometrie 2 |
start_point | Liefert den ersten Knoten einer Geometrie |
sym_difference | Liefert eine Geometrie, die die Teile von zwei Geometrien enthält, die sich nicht überschneiden |
touches | Prüft, ob sich zwei Geometrien berühren. Liefert 1 (wahr), wenn sich die Geometrien mindestens einen Punkt gemeinsam haben, aber deren Inneres sich nicht überschneidet |
transform | Liefert die vom Quell-KBS in das Ziel-KBS transformierte Geometrie |
translate | Liefert die verschobenen Version einer Geometrie. Berechnungen erfolgen im Bezugssystem dieser Geometrie |
union | Liefert eine Geometrie die alle Punkte der Geometrien umfasst |
within (a,b) | Prüft, ob eine Geometrie in einer anderen enthalten ist. Liefert 1 (true), wenn die Geometrie komplett innerhalb der Geometrie b liegt |
x | Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien |
x_min | Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie |
x_max | Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie |
y | Liefert die X-Koordinate einer Punktgeometrie oder das Zentrum anderer Geometrien |
y_min | Liefert die minimale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie |
y_max | Liefert die maximale X-Koordinate einer Geometrie. Berechnet im Bezugssystem der Geometrie |
z | Liefert die Z-Koordinate einer Punktgeometrie |
Einige Beispiele:
Liefert die X-Koordinate des Zentroiden des aktuellen Objekts
x($geometry)
Sendet einen Wert zur zugehörigen Objektfläche zurück:
CASE WHEN $area > 10 000 THEN 'Larger' ELSE 'Smaller' END
Diese Gruppe enthält Funktionen die sich auf datensatzbezeichner beziehen.
Funktion |
Beschreibung |
---|---|
$currentfeature | Liefert das aktuellen Objekt. Dies kann mit der Funktion ‘attribute’ verwendet werde um Attributwerte des aktuellen Objekts zu bestimmen. |
$id | Liefert die Objektkennung der aktuellen Zeile |
$map | Liefert die Kennung des aktuellen Kartenelements, wenn die Karte in einer Zusammenstellung oder “canvas”, wenn die Karte im QGIS-Kartenfenster gezeichnet wird |
$rownum | Liefert die aktuelle Zeilennummer |
$scale | Liefert den aktuellen Kartenmaßstab |
attribute | Liefert das angegeben Attribut eines Objekts |
get_feature | Liefert das erste Objekts eines Layers eines gegebenen Attributwert |
uuid | Erzeuge einen Universally Unique Identifier (UUID) für jede Zeile. Jeder UUID ist 38 Zeichen lang. |
Einige Beispiele:
Liefert das erste Objekt in Layer “LayerA” dessen Feld “id” die selben Werte wie das Feld “name” des aktuellen Objekts, hat (eine Art Jointure):
get_feature( 'layerA', 'id', attribute( $currentfeature, 'name') )
Berechnen Sie die Fläche des verbundenen Objekts aus dem vorherigen Beispiel:
area( geometry( get_feature( 'layerA', 'id', attribute( $currentfeature, 'name') ) ) )
Diese Gruppe enthält Funktionen für Zeichenketten (z.B. Ersetzen und in Großbuchstaben umwandeln).
Funktion |
Beschreibung |
---|---|
concat | Verketten mehrerer Zeichenkette zu einem |
format | Formatiert eine Zeichenkette mit den gegebenen Argumenten |
format_date | Formatiert einen Dateityp oder eine Zeichenkette in einen benutzerdefinierten Zeichenketten Formatstyp. |
format_number | Liefert eine Zahl formatiert mit den lokalen Tausendertrennern (schneidet die Zahl auch auf die angegebene Stellenanzahl) |
left(string, n) | Liefert einen Teilstring mit den ersten n Zeichen der Zeichenkette |
length | Liefert die Länge einer Zeichenkette (oder Länge eines Liniengeometrie Objekts) |
lower | wandelt eine Zeichenkette in Kleinbuchstaben um |
lpad | Liefert eine bis zur gegebenen Breite mit dem Füllzeichen aufgefüllte Zeichenkette. |
regexp_replace | Liefert eine Zeichenkette in der ein regulärer Ausdruck ersetzt wurde |
regexp_substr | Liefert den Teil der Zeichenkette, die dem gegebenen regulären Ausdrucks entspricht |
replace | Liefert eine Zeichenkette in der die angegebene Zeichenkette ersetzt ist |
right(string, n) | Liefert einen Teilstring mit den ersten n Zeichen der Zeichenkette |
rpad | Liefert eine bis zur gegebenen Breite mit dem Füllzeichen aufgefüllte Zeichenkette. |
strpos | Liefert den Index eines regulären Ausdrucks in einer Zeichenkette |
substr | Liefert eine Teilzeichenkette |
title | Wandelt alle Wörter einer Zeilenkette ins Titelformat (alle Wörter in Kleinbuchstaben bis auf die Anfangsbuchstaben in Großbuchstaben) |
trim | Entfernt Leerzeichen am Anfang und Ende einer Zeichenkette (Leerzeichen, Tabulatoren usw) |
upper | Wandelt eine Zeichenkette in Großbuchstaben. |
wordwrap | Liefert eine auf eine maximale/minimale Zeichenanzahl umgebrochene Zeichenkette |
Diese Gruppe enthält kürzlich verwendete Funktionen. Jeder Ausdruck. der in dem Ausdruck Dialog verwendet wird, wird in die Liste aufgenommen, sortiert von kürzlich verwendet bis zu den weniger verwendeten. Dies hilft, schnell alle vorherigen Ausdrücke abzurufen.
Diese Gruppe enthält dynamische Variablen im Zusammenhang mit der Anwendung, Projektdatei und anderen Einstellungen. Es bedeutet, dass einige Funktionen nicht verfügbar sind, je nach Kontext:
von dem Layereigenschaften Dialog
von den Druckzusammenstellung
Um diese Funktionen in einem Ausdruck zu verwenden, sollte ein @ -Zeichen vorangestellt sein (z.B. @row_number). Betroffen sind:
Funktion |
Beschreibung |
---|---|
atlas_feature | Liefert das aktuelle Atlas-Objekt (als Objekt) |
atlas_featureid | Liefert die ID des aktuellen Atlasobjekts |
atlas_featurenumber | Liefert die Seitenzahl einer Zusammenstellung |
atlas_filename | Liefert den aktuellen Atlas Dateinamen |
atlas_geometry | Liefert die aktuelle Geometrie des Atlas Objektes |
atlas_pagename | Liefert den aktuellen Atlas Seitennamen |
atlas_totalfeatures | Liefert die Gesamtanzahl der Objekte im Atlas |
grid_axis | Liefert die aktuelle Kartenmerkungsachse (z.B. ‘x’ für Längengrad und ‘y’ für Breitengrad) |
grid_number | Liefert den aktuellen Gitteranmerkungswert |
item_id | Liefert die Benutzerkennung des aktuellen Zusammenstellungselement (nicht notwendigerweise eindeutig) |
item_uuid | Liefert die eindeutige ID des Zusammenstellungselements |
layer_id | Liefert die ID des aktuellen Layers |
layer_name | Liefert den aktuellen Layernamen |
layout_dpi | Liefert die Zusammenstellungsauflösung (DPI). |
layout_numpages | Liefert die Seitenzahl einer Zusammenstellung |
layout_pageheight | Liefert die Zusammenstellungsseitenhöhe in mm. |
layout_pagewidth | Liefert die Zusammenstellungsseitenhöhe in mm |
map_id | Liefert die Kennung des aktuellen Kartenziels. ‘canvas’ für Darstellung in der Karte und Kennung der Zusammenstellung bei Druckzusammenstellungen |
map_extent_center | liefert das Punktobjekt in der Mitte der Karte |
map_extent_height | Liefert die aktuelle Höhe der Karte |
map_extent_width | Liefert die aktuelle Breite der Karte |
map_rotation | Liefert die aktuelle Kartendrehung |
map_scale | Liefert den aktuellen Kartenmaßstab |
project_filename | Liefert den aktuellen Projektnamen |
project_folder | Liefert das Verzeichnis des aktuellen Projekts |
project_path | Liefert den vollen Pfad (mit Dateiname) des aktuellen Projekts |
project_title | Liefert den Titel des aktuellen Projekts |
qgis_os_name | Liefert den Betriebssystemnamen, z.B. ‘windows’, ‘linux’ oder ‘osx’ |
qgis_platform | Liefert die QGIS-Plattform, z.B. ‘desktop’ oder ‘server’ |
qgis_release_name | Liefert den aktuellen QGIS-Releasename |
qgis_version | Liefert den aktuellen QGIS-Versionstext |
qgis_version_no | Liefert die aktuelle QGIS-Versionsnummer |
symbol_angle | Liefert den Winkel des Symbols zur Objektdarstellung (nur für Markierungssymbole gültig) |
symbol_color | Liefert die Farbe des Symbols zur Objektdarstellung |
user_account_name | Liefert den Betriebssystemaccountnamen des aktuellen Benutzers |
user_full_name | Liefert den Betriebssystemkontonamen des aktuellen Benutzers |
row_number | Speichert die Zahl der aktuellen Reihe |
Mit dem Funktions Editor, können Sie Ihre eigene Python benutzerdefinierte Funktionen auf komfortable Art und Weise definieren.
Figure Expression 2:
Der Funktionseditor Reiter
Der Funktions Editor erzeugt neue Pythondateien in dem .qgis2\python\expressions Ordner und lädt alle Funktionen automatisch, wenn QGIS startet. Seien Sie sich bewusst, dass neue Funktionen nur in dem expressions Ordner gespeichert werden und nicht in der Projektdatei. Wenn Sie ein neues Projekt haben, welches Ihre benutzerdefinierten Funktionen verwendet, müssen Sie ebenso die .py Datei in dem Ausdrucksordner teilen.
Hier ist ein kurzes Beispiel, wie Sie eine eigene Funktion erzeugen:
@qgsfunction(args="auto", group='Custom')
def myfunc(value1, value2, feature, parent):
pass
Das kurze Beispiel erzeugt eine ‘myfunc’ Funktion, das ist eine Funktion mit zwei Werten. Wenn Sie die args=’auto’ Funktionsargumente verwenden, werden die erforderliche Funktionsargumente berechnet durch die Anzahl der Argumente, die die Funktion in Python festgelegt hat (Minus 2 - Objekte und Eltern).
Diese Funktion kann dann mit dem Ausdruck benutzt werden:
myfunc('test1', 'test2')
Ihre Funktion wird in der Custom Funktionsgruppe des Ausdruck Reiters nach Benutzung des Skript starten Knopfs implementiert.
Weitere Informationen über das Erstellen von Python-Kodes können in PyQGIS-Entwicklerkochbuch gefunden werden.
Der Funktions Editor ist nicht nur auf Arbeiten mit dem Feldrechner beschränkt, er kann immer gefunden werden, wenn Sie mit Ausdrücken arbeiten.