13.2. Lijst van functies

De functies, operatoren en variabelen, die beschikbaar zijn in QGIS, zijn hieronder vermeld, gegroepeerd in categorieën.

13.2.1. Functies Samenvoegen

Deze groep bevat functies die waarden bij elkaar optellen van lagen en velden.

13.2.1.1. aggregate

Geeft een samengestelde waarde terug die is berekend met behulp van objecten uit een andere laag.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • layer - een tekenreeks die ofwel een laagnaam of een laag-ID vertegenwoordigt

  • aggregate - een tekenreeks die overeenkomt met de te berekenen samenstelling. Geldige opties zijn:

    • count

    • count_distinct

    • count_missing

    • min

    • max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: eerste kwartiel

    • q3: derde kwartiel

    • iqr: interkwartiele bereik

    • min_length: minimale lengte tekenreeks

    • max_length: maximale lengte tekenreeks

    • concatenate: tekenreeksen samenvoegen met een teken voor samenvoegen

    • concatenate_unique: unieke tekenreeksen samenvoegen met een teken voor samenvoegen

    • collect: een samengestelde meerdelige geometrie maken

    • array_agg: een array met samengestelde waarden maken

  • expression - subexpressie of veldnaam om samen te stellen

  • filter - optionele filterexpressie om de te gebruiken objecten voor het berekenen van de samenstelling te beperken. Velden en geometrie zijn van de objecten op de samengevoegde laag. Toegang tot het bronobject kan worden verkregen met de variabele @parent.

  • concatenator - optionele tekenreeks om te gebruiken voor het samenstellen van de waarden bij ‘concatenate’ en ‘concatenate_unique’

  • filter - optionele filterexpressie om de te gebruiken objecten voor het berekenen van de samenstelling te sorteren. Velden en geometrie zijn van de objecten op de samengevoegde laag. Standaard zullen de objecten worden teruggegeven in een niet gespecificeerde volgorde.

Voorbeelden

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers") → som van alle waarden uit het veld passengers van de laag rail_stations

  • aggregate('rail_stations','sum', "passengers"/7) → berekent een dagelijks gemiddelde van “passengers” door het veld “passengers” te delen door 7, vóór de waarden bij elkaar op te tellen

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:="class">3) → telt alle waarden van het veld “passengers”, alleen van de objecten waarvan het attribuut “class” groter is dan 3, bij elkaar op

  • aggregate(layer:='rail_stations',aggregate:='concatenate', expression:="name", concatenator:=',') → kommagescheiden lijst van het veld name voor alle objecten van de laag rail_stations

  • aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) ) → De landcode van een kruisend land van de laag ‘countries’

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:=contains( @atlas_geometry, $geometry ) ) → som van alle waarden uit het veld passengers van de laag rail_stations in het huidige object van atlas

  • aggregate(layer:='rail_stations', aggregate:='collect', expression:=centroid($geometry), filter:="region_name" = attribute(@parent,'name') ) → stelt de zwaartepunt geometrieën van de rail_stations uit de huidige regio in als huidig object

13.2.1.2. array_agg

Geeft een array van samengestelde waarden terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

  • filter - optionele filterexpressie om te gebruiken om objecten te sorteren voor het berekenen van de samenstelling. Standaard zullen de objecten worden teruggegeven in een niet gespecificeerde volgorde.

Voorbeelden

  • array_agg("name",group_by:="state") → lijst van waarden van name, gegroepeerd op het veld state

13.2.1.3. collect

Geeft de geometrie met meerdere delen terug uit samengestelde geometrieën uit een expressie

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - geometrie expressie om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • collect( $geometry ) → meerdelige geometrie van samengestelde geometrieën

  • collect( centroid($geometry), group_by:="region", filter:= "use" = 'civilian' ) → samengestelde zwaartepunten van de burgerlijke objecten, gebaseerd op de waarde van hun region

13.2.1.4. concatenate

Geeft alle samengevoegde tekenreeksen terug uit een veld of expressie, verbonden door een scheidingsteken.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

  • concatenator - optionele tekenreeks om waarden samen te voegen. Standaard leeg.

  • filter - optionele filterexpressie om te gebruiken om objecten te sorteren voor het berekenen van de samenstelling. Standaard zullen de objecten worden teruggegeven in een niet gespecificeerde volgorde.

Voorbeelden

  • concatenate("town_name",group_by:="state",concatenator:=',') → kommagescheiden lijst van town_names, gegroepeerd op het veld state

13.2.1.5. concatenate_unique

Geeft alle unieke tekenreeksen terug uit een veld of expressie, verbonden door een scheidingsteken.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

  • concatenator - optionele tekenreeks om waarden samen te voegen. Standaard leeg.

  • filter - optionele filterexpressie om te gebruiken om objecten te sorteren voor het berekenen van de samenstelling. Standaard zullen de objecten worden teruggegeven in een niet gespecificeerde volgorde.

Voorbeelden

  • concatenate_unique("town_name",group_by:="state",concatenator:=',') → kommagescheiden lijst van unieke town_names, gegroepeerd op het veld state

13.2.1.6. count

Geeft de telling van het aantal overeenkomende objecten terug.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • count("stations",group_by:="state") → aantal stations, gegroepeerd op het veld state

13.2.1.7. count_distinct

Geeft de telling van de afzonderlijke waarden terug.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • count_distinct("stations",group_by:="state") → aantal afzonderlijke stations, gegroepeerd op het veld state

13.2.1.8. count_missing

Geeft de telling van de ontbrekende (NULL)-waarden terug.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • count_missing("stations",group_by:="state") → aantal ontbrekende of (NULL)-waarden van station, gegroepeerd op het veld state

13.2.1.9. iqr

Geeft het berekende bereik voor het interkwartiel terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • iqr("population",group_by:="state") → interkwartiel bereik van de waarden van population, gegroepeerd op het veld state

13.2.1.10. majority

Geeft de samengestelde meerderheid van waarden (meest terugkerende waarde) terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • majority("class",group_by:="state") → meest voorkomende waarde voor class, gegroepeerd op het veld state

13.2.1.11. max_length

Geeft de maximale lengte van tekenreeksen terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • max_length("town_name",group_by:="state") → maximale lengte van town_name, gegroepeerd op het veld state

13.2.1.12. maximum

Geeft de samengestelde maximale waarde terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • maximum("population",group_by:="state") → maximale waarde voor population, gegroepeerd op het veld state

13.2.1.13. mean

Geeft de samengestelde gemiddelde waarde terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • mean("population",group_by:="state") → gemiddelde waarde voor population, gegroepeerd op het veld state

13.2.1.14. median

Geeft de samengestelde waarde mediaan terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • median("population",group_by:="state") → mediaan van de waarde population, gegroepeerd op het veld state

13.2.1.15. min_length

Geeft de minimale lengte van tekenreeksen terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • min_length("town_name",group_by:="state") → minimale lengte van town_name, gegroepeerd op het veld state

13.2.1.16. minimum

Geeft de samengestelde minimale waarde terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • minimum("population",group_by:="state") → minimale waarde voor population, gegroepeerd op het veld state

13.2.1.17. minority

Geeft de samengestelde minderheid van waarden (minst terugkerende waarde) terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • minority("class",group_by:="state") → minst voorkomende waarde voor class, gegroepeerd op het veld state

13.2.1.18. q1

Geeft het berekende eerste kwartiel terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • q1("population",group_by:="state") → eerste kwartiel van de waarde population, gegroepeerd op het veld state

13.2.1.19. q3

Geeft het berekende derde kwartiel terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • q3("population",group_by:="state") → derde kwartiel van waarde population, gegroepeerd op het veld state

13.2.1.20. range

Geeft het samengestelde bereik van waarden (maximum - minimum) terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • range("population",group_by:="state") → bereik van waarden van population, gegroepeerd op het veld state

13.2.1.21. relation_aggregate

Geeft een berekende samengestelde waarde terug met behulp van alle overeenkomende kind-objecten uit een laag-relatie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • relation - een tekenreeks die een relatie-ID vertegenwoordigt

  • aggregate - een tekenreeks die overeenkomt met de te berekenen samenstelling. Geldige opties zijn:

    • count

    • count_distinct

    • count_missing

    • min

    • max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: eerste kwartiel

    • q3: derde kwartiel

    • iqr: interkwartiele bereik

    • min_length: minimale lengte tekenreeks

    • max_length: maximale lengte tekenreeks

    • concatenate: tekenreeksen samenvoegen met een teken voor samenvoegen

    • concatenate_unique: unieke tekenreeksen samenvoegen met een teken voor samenvoegen

    • collect: een samengestelde meerdelige geometrie maken

    • array_agg: een array met samengestelde waarden maken

  • expression - subexpressie of veldnaam om samen te stellen

  • concatenator - optionele tekenreeks om te gebruiken voor het samenstellen van de waarden bij ‘concatenate’

  • filter - optionele expressie om de te gebruiken objecten voor het berekenen van de samenstelling te sorteren. Velden en geometrie zijn van de objecten op de samengevoegde laag. Standaard zullen de objecten worden teruggegeven in een niet gespecificeerde volgorde.

Voorbeelden

  • relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers") → gemiddelde waarde van alle overeenkomende kind-objecten met behulp van de relatie ‘my_relation’

  • relation_aggregate('my_relation','sum', "passengers"/7) → som van het veld passengers, gedeeld door 7, voor alle overeenkomende kind-objecten met behulp van de relatie ‘my_relation’

  • relation_aggregate('my_relation','concatenate', "towns", concatenator:=',') → kommagescheiden lijst van het veld towns voor alle overeenkomende kind-objecten met behulp van de relatie ‘my_relation’

  • relation_aggregate('my_relation','array_agg', "id") → array van het veld id van alle overeenkomende kind-objecten met behulp van de relatie ‘my_relation’

Lees verder: Een tot veel- of veel-tot-veel-relaties maken

13.2.1.22. stdev

Geeft de samengestelde waarde voor standaardafwijking terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • stdev("population",group_by:="state") → standaardafwijking van de waarde population, gegroepeerd op het veld state

13.2.1.23. sum

Geeft de samengestelde opgetelde waarde terug uit een veld of expressie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • expression - subexpressie of veld om samen te stellen

  • group_by - optionele expressie om te gebruiken om de berekeningen voor de samenstelling te groeperen

  • filter - optionele expressie om te gebruiken om objecten te filteren bij het berekenen van de samenstelling

Voorbeelden

  • sum("population",group_by:="state") → opgetelde waarde van population, gegroepeerd op het veld state

13.2.2. Functies voor array

Deze groep bevat functies voor expressies voor het maken en manipuleren van arrays (ook wel bekend als de datastructuur ‘list’). De volgorde van waarden binnen de array is belangrijk, in tegenstelling tot de gegevensstructuur van de ‘kaart’, waar de volgorde van paren sleutels-waarden niet relevant is en waarden worden geïdentificeerd door hun sleutels.

13.2.2.1. array

Geeft een array terug die alle waarden bevat die werden doorgegeven als parameter.

Syntaxis

array(value1, value2, …)

Argumenten

  • value - een waarde

Voorbeelden

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

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

13.2.2.2. array_all

Geeft TRUE terug als een array alle waarden van een opgegeven array bevat.

Syntaxis

array_all(array_a, array_b)

Argumenten

  • array_a - een array

  • array_b - de te doorzoeken array met waarden

Voorbeelden

  • 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

Geeft een array terug met de opgegeven waarde toegevoegd aan het einde.

Syntaxis

array_append(array, value)

Argumenten

  • array - een array

  • value - de toe te voegen waarde

Voorbeelden

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

13.2.2.4. array_cat

Geeft een array terug die alle opgegeven arrays samengevoegd bevat.

Syntaxis

array_cat(array1, array2, …)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.5. array_contains

Geeft TRUE terug als een array de opgegeven waarde bevat.

Syntaxis

array_contains(array, value)

Argumenten

  • array - een array

  • value - de op te zoeken waarde

Voorbeelden

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

13.2.2.6. array_count

Telt het aantal keren dat een bepaalde waarde voorkomt in een array.

Syntaxis

array_count(array, value)

Argumenten

  • array - een array

  • value - de te tellen waarde

Voorbeelden

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

13.2.2.7. array_distinct

Geeft een array terug die alle afzonderlijke waarden van de opgegeven array bevat.

Syntaxis

array_distinct(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.8. array_filter

Geeft een array terug met alleen de items waarvoor de expressie naar TRUE evalueert.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • array - een array

  • expression - een voor elk item te evalueren expressie. De variabele @element zal worden vervangen door de huidige waarde.

  • limit - maximaal aantal terug te geven elementen. Gebruik 0 om alle waarden terug te geven.

Voorbeelden

  • 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

Geeft de laagste index terug (0 voor de eerste) van een waarde binnen een array. Geeft -1 terug als de waarde niet wordt gevonden.

Syntaxis

array_find(array, value)

Argumenten

  • array - een array

  • value - de op te zoeken waarde

Voorbeelden

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

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

13.2.2.10. array_first

Geeft de eerste waarde uit een array terug.

Syntaxis

array_first(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.11. array_foreach

Geeft een array terug waar de opgegeven expressie voor elk item is geëvalueerd.

Syntaxis

array_foreach(array, expression)

Argumenten

  • array - een array

  • expression - een voor elk item te evalueren expressie. De variabele @element zal worden vervangen door de huidige waarde.

Voorbeelden

  • 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

Geeft de n-de waarde terug (0 voor de eerste) of de laatste -n-de waarde (-1 voor de laatste) van een array.

Syntaxis

array_get(array, pos)

Argumenten

  • array - een array

  • pos - de op te halen index (0-gebaseerd)

Voorbeelden

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

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

Hint

U kunt ook de index operator ([]) gebruiken om een waarde uit een array te verkrijgen.

13.2.2.13. array_insert

Geeft een array terug met de opgegeven waarde toegevoegd op de opgegeven positie.

Syntaxis

array_insert(array, pos, value)

Argumenten

  • array - een array

  • pos - de positie waarop moet worden toegevoegd (0-gebaseerd)

  • value - de toe te voegen waarde

Voorbeelden

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

13.2.2.14. array_intersect

Geeft TRUE terug als tenminste één element van array1 bestaat in array2.

Syntaxis

array_intersect(array1, array2)

Argumenten

  • array1 - een array

  • array2 - een andere array

Voorbeelden

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

13.2.2.15. array_last

Geeft de laatste waarde uit een array terug.

Syntaxis

array_last(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.16. array_length

Geeft het aantal elementen in een array terug.

Syntaxis

array_length(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.17. array_majority

Geeft de meest voorkomende waarden uit een array terug.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • array - een array

  • option=’all’ - een tekenreeks die de afhandeling van de teruggegeven waarden specificeert. Geldige opties zijn:

    • all: Standaard, alle meest voorkomende waarden worden teruggegeven in een array.

    • any: Geeft een van de meest voorkomende waarden terug.

    • median: Geeft de mediaan van de meest voorkomende waarden terug. Niet-rekenkundige waarden worden genegeerd.

    • real_majority: Geeft de waarde terug die meer voorkomt dan de halve grootte van de array.

Voorbeelden

  • 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 of 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

Geeft de maximumwaarde uit een array terug.

Syntaxis

array_max(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.19. array_mean

Geeft het gemiddelde terug van rekenkundige waarden in een array. Niet-numerieke waarden in de array worden genegeerd.

Syntaxis

array_mean(array)

Argumenten

  • array - een array

Voorbeelden

  • 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

Geeft de mediaan terug van rekenkundige waarden in een array. Niet-rekenkundige waarden in de array worden genegeerd.

Syntaxis

array_median(array)

Argumenten

  • array - een array

Voorbeelden

  • 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

Geeft de minimumwaarde uit een array terug.

Syntaxis

array_min(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.22. array_minority

Geeft de minst voorkomende waarden uit een array terug.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • array - een array

  • option=’all’ - een tekenreeks die de afhandeling van de teruggegeven waarden specificeert. Geldige opties zijn:

    • all: Standaard, alle minst voorkomende waarden worden teruggegeven in een array.

    • any: Geeft een van de minst voorkomende waarden terug.

    • median: Geeft de mediaan van de minst voorkomende waarden terug. Niet-rekenkundige waarden worden genegeerd.

    • real_minority: Geeft de waarde terug die minder voorkomt dan de halve grootte van de array.

Voorbeelden

  • 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 of 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

Geeft een array terug met de opgegeven waarde toegevoegd aan het begin.

Syntaxis

array_prepend(array, value)

Argumenten

  • array - een array

  • value - de toe te voegen waarde

Voorbeelden

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

13.2.2.24. array_prioritize

Geeft een array terug die is gesorteerd op de volgorde die is gespecificeerd in een andere array. Waarden die aanwezig zijn in de eerste array, maar ontbreken in de tweede array zullen worden toegevoegd aan het einde van het resultaat.

Syntaxis

array_prioritize(array, array_prioritize)

Argumenten

  • array - een array

  • array_prioritize - een array met waarden die zijn gesorteerd op prioriteit

Voorbeelden

  • 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

Geeft een array terug waaruit alle items met de opgegeven waarde zijn verwijderd.

Syntaxis

array_remove_all(array, value)

Argumenten

  • array - een array

  • value - de te verwijderen waarde

Voorbeelden

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

13.2.2.26. array_remove_at

Geeft een array terug waaruit het item op de opgegeven index is verwijderd. Ondersteunt positieve (0 voor het eerste element) en negatieve (de laatste -Ne waarde, -1 voor het laatste element) index.

Syntaxis

array_remove_at(array, pos)

Argumenten

  • array - een array

  • pos - de te verwijderen positie (0-gebaseerd)

Voorbeelden

  • 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

Geeft een array terug waarin de opgegeven waarde, array, of kaart met waarden is vervangen.

Variant waarde & array

Geeft een array terug waarin de opgegeven waarde of array van waarden is vervangen door een waarde of een array van waarden.

Syntaxis

array_replace(array, before, after)

Argumenten

  • array - de invoerarray

  • before - de te vervangen waarde of array van waarden

  • after - de waarde of array van waarden die gebruikt moet worden als vervanging

Voorbeelden

  • 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’, ‘-’ ]

Variant kaart

Geeft een array terug waarin de opgegeven kaartsleutels zijn vervangen door hun gepaarde waarden

Syntaxis

array_replace(array, map)

Argumenten

  • array - de invoerarray

  • map - de kaart die de sleutels en waarden bevat

Voorbeelden

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

13.2.2.28. array_reverse

Geeft een array terug van de opgegeven array met de waarden in omgekeerde volgorde.

Syntaxis

array_reverse(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.29. array_slice

Geeft een deel van de array terug. Het deel wordt gedefinieerd door de argumenten start_pos en end_pos.

Syntaxis

array_slice(array, start_pos, end_pos)

Argumenten

  • array - een array

  • start_pos - de index van de beginpositie van het deel (0-gebaseerd). De index start_pos is opgenomen in het deel. Wanneer u een negatieve start_pos gebruikt, wordt de index geteld vanaf het einde van de lijst (-1-gebaseerd).

  • end_pos - de index van de eindpositie van het deel (0-gebaseerd). De index end_pos is opgenomen in het deel. Wanneer u een negatieve end_pos gebruikt, wordt de index geteld vanaf het einde van de lijst (-1-gebaseerd).

Voorbeelden

  • 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

Geeft de opgegeven array terug met gesorteerde elementen.

Syntaxis

array_sort(array, [ascending=true])

[] markeert optionele argumenten

Argumenten

  • array - een array

  • ascending - stel deze parameter in op false om de array in aflopende volgorde te sorteren

Voorbeelden

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

13.2.2.31. array_sum

Geeft de som terug van rekenkundige waarden in een array. Niet-numerieke waarden in de array worden genegeerd.

Syntaxis

array_sum(array)

Argumenten

  • array - een array

Voorbeelden

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

13.2.2.32. array_to_string

Voegt elementen van een array samen tot een tekenreeks, gescheiden door een scheidingsteken en een optionele tekenreeks gebruikend voor lege waarden.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • array - de invoerarray

  • delimiter - het tekenreeks scheidingsteken dat moet worden gebruikt voor het scheiden van elementen van de array

  • empty_value - de optionele tekenreeks die moet worden gebruikt als vervanging voor lege (nul lengte) overeenkomsten

Voorbeelden

  • 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

Maakt een array die een reeks nummers bevat.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • start - eerste waarde van de reeks

  • stop - waarde die de reeks beëindigt als die wordt bereikt

  • step - waarde die wordt gebruikt als stap tussen de waarden

Voorbeelden

  • 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

Splitst een geometrie in eenvoudiger geometrieën in een array.

Syntaxis

geometries_to_array(geometry)

Argumenten

  • geometry - de invoergeometrie

Voorbeelden

  • geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))')) → an array of a polygon and a line geometries

  • 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))')) → an array of two polygon geometries

13.2.2.35. regexp_matches

Geeft een array terug van alle opgevangen tekenreeksen die zijn gevangen door vang-groepen, in de volgorde waarin de groepen zelf voorkomen in de opgegeven reguliere expressie voor een tekenreeks.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - de tekenreeks waaruit groepen moeten worden gevangen vanuit een reguliere expressie

  • regex - de reguliere expressie die wordt gebruikt voor het vangen van groepen

  • empty_value - de optionele tekenreeks die moet worden gebruikt als vervanging voor lege (nul lengte) overeenkomsten

Voorbeelden

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

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

13.2.2.36. string_to_array

Splitst een tekenreeks in een array met het opgegeven scheidingsteken en de optionele tekenreeks voor lege waarden.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - de tekenreeks voor de invoer

  • delimiter - het scheidingsteken voor de tekenreeks, gebruikt om de tekenreeks voor de invoer te splitsen

  • empty_value - de optionele tekenreeks die moet worden gebruikt als vervanging voor lege (nul lengte) overeenkomsten

Voorbeelden

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

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

13.2.3. Kleurfuncties

Deze groep bevat functies waarmee u kleuren kunt bewerken.

13.2.3.1. color_cmyk

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de componenten cyan, magenta, yellow en black

Syntaxis

color_cmyk(cyan, magenta, yellow, black)

Argumenten

  • cyan - component cyaan van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • magenta - component magenta van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • yellow - component geel van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • black - component zwart van de kleur, als een percentage waarde integer tussen 0 tot en met 100

Voorbeelden

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

13.2.3.2. color_cmyka

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de componenten cyan, magenta, yellow, black en alfa (transparantie)

Syntaxis

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

Argumenten

  • cyan - component cyaan van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • magenta - component magenta van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • yellow - component geel van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • black - component zwart van de kleur, als een percentage waarde integer tussen 0 tot en met 100

  • alpha - component alfa als een waarde integer tussen 0 (compleet transparant) tot en met 255 (ondoorzichtig).

Voorbeelden

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

13.2.3.3. color_grayscale_average

Past een filter grijswaarden toe en geeft een weergave van een tekenreeks terug uit een opgegeven kleur.

Syntaxis

color_grayscale_average(color)

Argumenten

  • color - een tekenreeks voor een kleur

Voorbeelden

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

13.2.3.4. color_hsl

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de attributen tint, verzadiging en helderheid ervan.

Syntaxis

color_hsl(hue, saturation, lightness)

Argumenten

  • hue - tint van de kleur, als een waarde integer tussen 0 tot en met 360

  • saturation - percentage verzadiging van de kleur, als een waarde integer tussen 0 tot en met 100

  • lightness - percentage helderheid van de kleur, als een waarde integer tussen 0 tot en met 100

Voorbeelden

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

13.2.3.5. color_hsla

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de attributen tint, verzadiging, helderheid en alfa (transparantie)

Syntaxis

color_hsla(hue, saturation, lightness, alpha)

Argumenten

  • hue - tint van de kleur, als een waarde integer tussen 0 tot en met 360

  • saturation - percentage verzadiging van de kleur, als een waarde integer tussen 0 tot en met 100

  • lightness - percentage helderheid van de kleur, als een waarde integer tussen 0 tot en met 100

  • alpha - component alfa als een waarde integer tussen 0 (compleet transparant) tot en met 255 (ondoorzichtig).

Voorbeelden

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

13.2.3.6. color_hsv

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de attributen tint, verzadiging en waarde ervan.

Syntaxis

color_hsv(hue, saturation, value)

Argumenten

  • hue - tint van de kleur, als een waarde integer tussen 0 tot en met 360

  • saturation - percentage verzadiging van de kleur, als een waarde integer tussen 0 tot en met 100

  • value - percentage waarde van de kleur, als een waarde integer tussen 0 tot en met 100

Voorbeelden

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

13.2.3.7. color_hsva

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de attributen tint, verzadiging, waarde en alfa (transparantie) ervan.

Syntaxis

color_hsva(hue, saturation, value, alpha)

Argumenten

  • hue - tint van de kleur, als een waarde integer tussen 0 tot en met 360

  • saturation - percentage verzadiging van de kleur, als een waarde integer tussen 0 tot en met 100

  • value - percentage waarde van de kleur, als een waarde integer tussen 0 tot en met 100

  • alpha - component alfa als een waarde integer tussen 0 (compleet transparant) tot en met 255 (ondoorzichtig)

Voorbeelden

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

13.2.3.8. color_mix_rgb

Geeft een tekenreeks terug die een kleur weergeeft die de waarden rood, groen, blauw en alfa van de twee opgegeven kleuren mengt, gebaseerd op een opgegeven verhouding.

Syntaxis

color_mix_rgb(color1, color2, ratio)

Argumenten

  • color1 - een tekenreeks voor een kleur

  • color2 - een tekenreeks voor een kleur

  • ratio - een verhouding

Voorbeelden

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

13.2.3.9. color_part

Geeft een specifieke component uit een tekenreeks voor een kleur terug, bijv, de rode component of alfa-component

Syntaxis

color_part(color, component)

Argumenten

  • color - een tekenreeks voor een kleur

  • component - een tekenreeks die correspondeert met de terug te geven kleurcomponent. Geldige opties zijn:

    • red: RGB rode component (0-255)

    • green: RGB groene component (0-255)

    • blue: RGB blauwe component (0-255)

    • alpha: alfa (transparantie) waarde (0-255)

    • hue: HSV tint (0-360)

    • saturation: HSV verzadiging (0-100)

    • value: HSV waarde (0-100)

    • hsl_hue: HSL tint (0-360)

    • hsl_saturation: HSL verzadiging (0-100)

    • lightness: HSL helderheid (0-100)

    • cyan: CMYK cyaan component (0-100)

    • magenta: CMYK magenta component (0-100)

    • yellow: CMYK gele component (0-100)

    • black: CMYK zwarte component (0-100)

Voorbeelden

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

13.2.3.10. color_rgb

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de componenten rood, groen en blauw.

Syntaxis

color_rgb(red, green, blue)

Argumenten

  • red - rode component als een waarde integer tussen 0 tot en met 255

  • green - groene component als een waarde integer tussen 0 tot en met 255

  • blue - blauwe component als een waarde integer tussen 0 tot en met 255

Voorbeelden

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

13.2.3.11. color_rgba

Geeft een kleur terug in de weergave van een tekenreeks, gebaseerd op de componenten rood, groen en blauw en alfa (transparantie).

Syntaxis

color_rgba(red, green, blue, alpha)

Argumenten

  • red - rode component als een waarde integer tussen 0 tot en met 255

  • green - groene component als een waarde integer tussen 0 tot en met 255

  • blue - blauwe component als een waarde integer tussen 0 tot en met 255

  • alpha - component alfa als een waarde integer tussen 0 (compleet transparant) tot en met 255 (ondoorzichtig).

Voorbeelden

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

13.2.3.12. create_ramp

Geeft een balk kleurverloop terug uit een kaart met tekenreeksen voor kleur en stappen.

Syntaxis

create_ramp(map, [discrete=false])

[] markeert optionele argumenten

Argumenten

  • map - een kaart met tekenreeksen voor kleur en stappen

  • discrete - stel deze parameter in op true om een balk met afzonderlijke kleuren te maken

Voorbeelden

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

13.2.3.13. darker

Geeft een donkere (of lichtere) kleurenreeks terug

Syntaxis

darker(color, factor)

Argumenten

  • color - een tekenreeks voor een kleur

  • factor - een integer die correspondeert met de factor voor het donkerder maken;

    • als de factor groter is dan 100 geeft deze functie een donkerder kleur terug (bijv., instellen van de factor op 200 geeft een kleur terug die de helft van de helderheid is);

    • als de factor kleiner is dan 100 is de teruggegeven kleur lichter, maar voor dat doel wordt dan het gebruiken van de functie lighter() aanbevolen;

    • als de factor 0 of negatief is, is de teruggegeven waarde niet gespecificeerd.

Voorbeelden

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

Lees verder: lighter

13.2.3.14. lighter

Geeft een lichtere (of donkerder) kleurenreeks terug

Syntaxis

lighter(color, factor)

Argumenten

  • color - een tekenreeks voor een kleur

  • factor - een integer die correspondeert met de factor voor het lichter maken:

    • als de factor groter is dan 100 geeft deze functie een lichtere kleur terug (bijv., instellen van de factor op 150 geeft een kleur terug die 50% helderder is);

    • als de factor kleiner is dan 100 is de teruggegeven kleur donkerder, maar voor dat doel wordt dan het gebruiken van de functie darker() aanbevolen;

    • als de factor 0 of negatief is, is de teruggegeven waarde niet gespecificeerd.

Voorbeelden

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

Lees verder: darker

13.2.3.15. project_color

Geeft een kleur terug uit het kleurenschema van het project.

Syntaxis

project_color(name)

Argumenten

  • name - de naam van een kleur

Voorbeelden

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

Lees verder: setting project colors

13.2.3.16. ramp_color

Geeft een kleur vanuit een kleurenbalk terug in de weergave van een tekenreeks.

Variant Opgeslagen balk

Geeft een kleur vanuit een opgeslagen kleurenbalk terug in de weergave van een tekenreeks.

Syntaxis

ramp_color(ramp_name, value)

Argumenten

  • ramp_name - de naam van de kleurenbalk als een tekenreeks, bijvoorbeeld ‘Spectral’

  • value - de positie op de balk om de kleur te selecteren als een getal real tussen 0 en 1

Voorbeelden

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

Notitie

De beschikbare kleurenbalken variëren tussen installaties van QGIS. Deze functie zou niet het verwachte resultaat kunnen geven als u uw project verplaatst tussen installaties van QGIS.

Variant Expressie gemaakte balk

Geeft een tekenreeks terug vanuit een met een expressie gemaakte balk.

Syntaxis

ramp_color(ramp, value)

Argumenten

  • ramp - de kleurenbalk

  • value - de positie op de balk om de kleur te selecteren als een getal real tussen 0 en 1

Voorbeelden

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

Lees verder: Een kleurverloop instellen, De sneltoets voor keuzelijst Kleurverloop

13.2.3.17. set_color_part

Stelt een specifieke kleurcomponent in voor een tekenreeks voor een kleur, bijv, de rode component of alfa-component.

Syntaxis

set_color_part(color, component, value)

Argumenten

  • color - een tekenreeks voor een kleur

  • component - een tekenreeks die correspondeert met de in te stellen kleurcomponent. Geldige opties zijn:

    • red: RGB rode component (0-255)

    • green: RGB groene component (0-255)

    • blue: RGB blauwe component (0-255)

    • alpha: alfa (transparantie) waarde (0-255)

    • hue: HSV tint (0-360)

    • saturation: HSV verzadiging (0-100)

    • value: HSV waarde (0-100)

    • hsl_hue: HSL tint (0-360)

    • hsl_saturation: HSL verzadiging (0-100)

    • lightness: HSL helderheid (0-100)

    • cyan: CMYK cyaan component (0-100)

    • magenta: CMYK magenta component (0-100)

    • yellow: CMYK gele component (0-100)

    • black: CMYK zwarte component (0-100)

  • value - nieuwe waarde voor de kleurcomponent, rekening houdende met de bovenstaande bereiken

Voorbeelden

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

13.2.4. Functies Voorwaarden

Deze groep bevat functies waarmee controles van voorwaarden kunnen worden opgenomen in een expressie.

13.2.4.1. CASE

CASE wordt gebruikt om een reeks voorwaarden te evalueren en een resultaat terug te geven voor de eerste voorwaarde waaraan wordt voldaan. De voorwaarden worden in een reeks geëvalueerd, en als een voorwaarde waar is, stopt de evaluatie, en het corresponderende resultaat wordt teruggegeven. Als geen van de voorwaarden waar is, wordt de waarde van de clausule ELSE teruggegeven. Verder, als er geen clausule ELSE is ingesteld en er niet aan de voorwaarden wordt voldaan, wordt NULL teruggegeven.

CASE

WHEN voorwaarde THEN resultaat

[ …n ]

[ ELSE resultaat ]

END

[] markeert optionele argumenten

Argumenten

  • WHEN condition - Een expressie voor een voorwaarde om te evalueren

  • THEN result - Als condition evalueert naar True dan wordt result geëvalueerd en teruggegeven.

  • THEN result - Als geen van bovenstaande voorwaarden evalueert naar True dan wordt result geëvalueerd en teruggegeven.

Voorbeelden

  • CASE WHEN "name" IS NULL THEN 'None' END → Geeft de tekenreeks ‘None’ terug als het veld “name” NULL is

  • CASE WHEN $area > 10000 THEN 'Big property' WHEN $area > 5000 THEN 'Medium property' ELSE 'Small property' END → Geeft de tekenreeks ‘Big property’ terug als het gebied groter is dan 10000, ‘Medium property’ als het gebied tussen 5000 en 10000 groot is, en ‘Small property’ voor andere

13.2.4.2. coalesce

Geeft de eerste waarde terug die niet NULL is uit de lijst van de expressie.

Deze functie mag elk aantal argumenten hebben.

Syntaxis

coalesce(expression1, expression2, …)

Argumenten

  • expression - elke geldige expressie of waarde, ongeacht het type.

Voorbeelden

  • coalesce(NULL, 2) → 2

  • coalesce(NULL, 2, 3) → 2

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

  • coalesce("fieldA", "fallbackField", 'ERROR') → waarde van fieldA als die niet NULL is, anders de waarde van “fallbackField” of de tekenreeks ‘ERROR’ als beide NULL zijn

13.2.4.3. if

Test een voorwaarde en geeft een verschillend resultaat terug, afhankelijk van de controle van de voorwaarde.

Syntaxis

if(condition, result_when_true, result_when_false)

Argumenten

  • condition - de voorwaarde die moet worden gecontroleerd

  • result_when_true - het resultaat zal worden teruggegeven als de voorwaarde true is of een andere waarde die niet converteert naar false.

  • result_when_false - het resultaat dat zal worden teruggegeven als de voorwaarde false is of een andere waarde die converteert naar false, zoals 0 of ‘’. NULL zal ook worden geconverteerd naar false.

Voorbeelden

  • 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

Geeft een waarde NULL terug als value1 gelijk is aan value2, anders geeft het value1 terug. Dit kan worden gebruikt om voorwaardelijk waarden door NULL te vervangen.

Syntaxis

nullif(value1, value2)

Argumenten

  • value1 - De waarde die zou moeten worden gebruikt of worden vervangen door NULL.

  • value2 - De controlewaarde die het vervangen van NULL activeert.

Voorbeelden

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

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

  • nullif("name", '') → NULL, als name een lege tekenreeks is (of al NULL), de waarde van name in elke ander geval.

13.2.4.5. regexp_match

Geeft de eerste overeenkomende positie van een reguliere expressie binnen een tekenreeks van Unicode terug, of 0 als de subtekenreeks niet wordt gevonden.

Syntaxis

regexp_match(input_string, regex)

Argumenten

  • input_string - de tekenreeks die moet worden getest tegen de reguliere expressie

  • regex - De reguliere expressie die getest moet worden. Tekens backslash moeten dubbel worden geëscaped (bijv. “\\s” om overeen te komen met een teken voor witruimte of “\\b” om overeen te komen met een woordgrens)

Voorbeelden

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

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

13.2.4.6. try

Probeert een expressie en geeft de waarde ervan terug indien zonder fouten. Als de expressie een fout teruggeeft zal een alternatieve waarde worden teruggegeven, indien opgegeven, anders zal de functie NULL teruggeven.

Syntaxis

try(expression, [alternative])

[] markeert optionele argumenten

Argumenten

  • expression - de expressie die zou moeten worden uitgevoerd

  • alternative - het resultaat dat zal worden teruggegeven als de expressie een fout teruggeeft.

Voorbeelden

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

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

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

13.2.5. Functies Conversies

Deze groep bevat functies om een gegevenstype te converteren naar een ander type (bijv string van/naar integer, binary van/naar string, string naar date, …).

13.2.5.1. from_base64

Decodeert een tekenreeks vanuit de codering Base64 naar een binaire waarde.

Syntaxis

from_base64(string)

Argumenten

  • string - de te decoderen tekenreeks

Voorbeelden

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

13.2.5.2. hash

Maakt een hash vanuit een tekenreeks met een opgegeven methode. Één byte (8 bits) wordt weergegeven door twee hex ‘’getallen’’, dus ‘md4’ (16 bytes) produceert een 16 * 2 = 32 tekens lange teksttekenreeks en ‘keccak_512’ (64 bytes) produceert een 64 * 2 = 128 tekens lange hex-tekenreeks.

Syntaxis

hash(string, method)

Argumenten

  • string - de tekenreeks waaruit de hash moet worden gemaakt

  • method - De methode voor het maken van de hash, waaronder ‘md4’, ‘md5’, ‘sha1’, ‘sha224’, ‘sha384’, ‘sha512’, ‘sha3_224’, ‘sha3_256’, ‘sha3_384’, ‘sha3_512’, ‘keccak_224’, ‘keccak_256’, ‘keccak_384’, ‘keccak_512’

Voorbeelden

  • 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

Maakt een md5-hash uit een tekenreeks.

Syntaxis

md5(string)

Argumenten

  • string - de tekenreeks waaruit de hash moet worden gemaakt

Voorbeelden

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

13.2.5.4. sha256

Maakt een sha256-hash uit een tekenreeks.

Syntaxis

sha256(string)

Argumenten

  • string - de tekenreeks waaruit de hash moet worden gemaakt

Voorbeelden

  • sha256('QGIS') → ‘eb045cba7a797aaa06ac58830846e40c8e8c780bc0676d3393605fae50c05309’

13.2.5.5. to_base64

Codeert een binaire waarde naar een tekenreeks, met behulp van de codering Base64.

Syntaxis

to_base64(value)

Argumenten

  • value - de te coderen binaire waarde

Voorbeelden

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

13.2.5.6. to_date

Converteert een tekenreeks naar een object date. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QDate::fromString of de documentatie van de functie format_date voor aanvullende documentatie over de indeling. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een datumwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een date te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een date te converteren. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

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

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, als de huidige locale de naam ‘June’ gebruikt voor de zesde maand, anders treedt er een fout op

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

13.2.5.7. to_datetime

Converteert een tekenreeks naar een object datetime. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QDate::fromString, QTime::fromString of de documentatie van de functie format_date voor aanvullende documentatie over de indeling. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een datum-/tijdwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een datetime te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een datetime te converteren. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

  • 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, als de huidige locale de naam ‘June’ gebruikt voor de zesde maand, anders treedt er een fout op

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

13.2.5.8. to_decimal

Converteert een coördinaat graden, minuten, seconden naar zijn decimale equivalent.

Syntaxis

to_decimal(value)

Argumenten

  • value - Een tekenreeks graden, minuten, seconden.

Voorbeelden

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

13.2.5.9. to_dm

Converteert een coördinaat naar graden, minuten.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • coordinate - Een waarde latitude of longitude.

  • axis - De as van het coördinaat. Ofwel ‘x’ of ‘y’.

  • precision - Aantal decimalen.

  • formatting - Bepaalt het type indeling. Toegestane waarden zijn NULL (standaard), ‘aligned’ of ‘suffix’.

Voorbeelden

  • 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

Converteert een coördinaat naar graden, minuten, seconden.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • coordinate - Een waarde latitude of longitude.

  • axis - De as van het coördinaat. Ofwel ‘x’ of ‘y’.

  • precision - Aantal decimalen.

  • formatting - Bepaalt het type indeling. Toegestane waarden zijn NULL (standaard), ‘aligned’ of ‘suffix’.

Voorbeelden

  • 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

Converteert een tekenreeks naar een getal integer. Niets wordt teruggegeven als een waarde niet kan worden geconverteerd naar integer (bijv. ‘123asd’ is ongeldig).

Syntaxis

to_int(string)

Argumenten

  • string - tekenreeks die moet worden geconverteerd naar een getal integer

Voorbeelden

  • to_int('123') → 123

13.2.5.12. to_interval

Converteert een tekenreeks naar een type interval. Kan worden gebruikt om dagen, uren, maanden, etc. uit een datum te halen.

Syntaxis

to_interval(string)

Argumenten

  • string - een tekenreeks die een interval weergeeft. Toegestane indelingen omvatten {n} days {n} hours {n} months.

Voorbeelden

  • 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

Converteert een tekenreeks naar een getal real. Niets wordt teruggegeven als een waarde niet kan worden geconverteerd naar real (bijv. ‘123.56asd’ is ongeldig). Getallen worden afgerond na het opslaan van wijzigingen als de precisie kleiner is dan het resultaat van de conversie.

Syntaxis

to_real(string)

Argumenten

  • string - tekenreeks die moet worden geconverteerd naar een getal real

Voorbeelden

  • to_real('123.45') → 123.45

13.2.5.14. to_string

Converteert een getal naar een tekenreeks.

Syntaxis

to_string(number)

Argumenten

  • number - Waarde integer of real. Het getal dat moet worden geconverteerd naar een tekenreeks.

Voorbeelden

  • to_string(123) → ‘123’

13.2.5.15. to_time

Converteert een tekenreeks naar een object time. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QTime::fromString voor aanvullende documentatie over de indeling.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een tijdwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een time te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een time te converteren

Voorbeelden

  • 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. Aangepaste functies

Deze groep bevat functies die door de gebruiker zijn gedefinieerd. Bekijk Functiebewerker voor meer details.

13.2.7. Datum en tijd functies

Deze groep bevat functies voor het afhandelen van datum en tijdgegevens. Deze groep deelt ook verscheidene functies met de groepen Functies Conversies (to_date, to_time, to_datetime, to_interval) en Tekstfuncties (format_date).

Notitie

Datum en datum/tijd en intervallen opslaan in velden

De mogelijkheid om waarden date, time en datetime direct op te slaan in velden is afhankelijk van de provider van de gegevensbron (bijv., Shapefiles accepteren de indeling date, maar niet de indelingen datetime of time). Hieronder volgen enkele suggesties om deze beperking te omzeilen:

  • date, datetime en time kunnen worden geconverteerd en opgeslagen in velden type tekst met de functie format_date().

  • Intervallen kunnen worden opgeslagen in velden type integer of decimal na het gebruiken van een van de functies voor het uitnemen van de datum (bijv. day() om de interval uitgedrukt te krijgen in dagen)

13.2.7.1. age

Geeft het verschil terug tussen twee dates of datetimes.

Het verschil wordt teruggegeven als een Interval en moet worden gebruikt met een van de volgende functies om bruikbare informatie uit te kunnen nemen:

  • year

  • month

  • week

  • day

  • hour

  • minute

  • second

Syntaxis

age(datetime1, datetime2)

Argumenten

  • datetime1 - een tekenreeks, date of datetime die de laatste datum weergeeft

  • datetime2 - een tekenreeks, date of datetime die de eerdere datum weergeeft

Voorbeelden

  • 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

Geeft een datetime terug waarvan de datum en tijd het getal in milliseconden, msecs, is die zijn verstreken sinds 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt.UTC), en geconverteerd naar Qt.LocalTime.

Syntaxis

datetime_from_epoch(int)

Argumenten

  • int - getal (milliseconden)

Voorbeelden

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

13.2.7.3. day

Neemt de dag uit een datum, of het aantal dagen vanaf een interval.

Variant Date

Neemt de dag uit een date of een datetime.

Syntaxis

day(date)

Argumenten

  • date - een waarde date of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in dagen.

Syntaxis

day(interval)

Argumenten

  • interval - waarde interval waarvan het aantal dagen moet worden teruggegeven

Voorbeelden

  • 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

Geeft de dag van de week terug voor een gespecificeerde date of datetime. De teruggegeven waarde ligt tussen 0 tot en met 6, waar 0 correspondeert met een zondag en 6 met een zaterdag.

Syntaxis

day_of_week(date)

Argumenten

  • date - waarde date of datetime

Voorbeelden

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

13.2.7.5. epoch

Geeft de interval in milliseconden terug tussen de unix epoch en een opgegeven waarde date

Syntaxis

epoch(date)

Argumenten

  • date - een waarde date of datetime

Voorbeelden

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

13.2.7.6. format_date

Maakt een type date of tekenreeks op in een aangepaste indeling voor de tekenreeks. Gebruikt Qt date/time-indeling tekenreeksen. Bekijk QDateTime::fromString.

Syntaxis

format_date(datetime, format, [language])

[] markeert optionele argumenten

Argumenten

  • datetime - waarde date, time of datetime

  • format - Tekenreekssjabloon dat moet worden gebruikt voor het indelen van de tekenreeks.

    Expressie

    Uitvoer

    d

    de dag als getal zonder voorloopnul (1 tot en met 31)

    dd

    de dag als getal met voorloopnul (01 tot en met 31)

    ddd

    de verkorte gelokaliseerde naam van de dag (bijv. ‘maa’ tot en met ‘zon’)

    dddd

    de lange gelokaliseerde naam van de dag (bijv. ‘maandag’ tot en met ‘zondag’)

    M

    de maand als getal zonder voorloopnul (1-12)

    MM

    de maand als getal met voorloopnul (01-12)

    MMM

    de verkorte gelokaliseerde naam van de maand (bijv. ‘jan’ tot en met ‘dec’)

    MMMM

    de lange gelokaliseerde naam van de maand (bijv. ‘januari’ tot en met ‘december’)

    yy

    het jaar als een cijfer met twee getallen (00-99)

    yyyy

    het jaar als een cijfer met vier getallen

    Deze expressies kunnen worden gebruikt voor het tijdsgedeelte van de indeling van de tekenreeks:

    Expressie

    Uitvoer

    h

    het uur als getal zonder voorloopnul (0 tot en met 23 of 1 tot en met 12 met weergave AM/PM)

    hh

    het uur als getal met voorloopnul (00 tot en met 23 of 01 tot en met 12 met weergave AM/PM)

    H

    het uur als getal zonder voorloopnul (0 tot en met 23, zelfs met weergave AM/PM)

    HH

    het uur als getal met voorloopnul (00 tot en met 23, zelfs met weergave AM/PM)

    m

    de minuut als getal zonder voorloopnul (0 tot en met 59)

    mm

    de minuut als getal met voorloopnul (00 tot en met 59)

    s

    de seconde als getal zonder voorloopnul (0 tot en met 59)

    ss

    de seconde als getal met voorloopnul (00 tot en met 59)

    z

    de milliseconden zonder achterliggende nullen (0 tot en met 999)

    zzz

    de milliseconden met achterliggende nullen (000 tot en met 999)

    AP or A

    geïnterpreteerd als een tijd AM/PM. AP moet zijn ofwel ‘AM’ of ‘PM’.

    ap or a

    geïnterpreteerd als een tijd AM/PM. ap moet zijn ofwel ‘am’ of ‘pm’.

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`_) gebruikt om de date als een aangepaste tekenreeks op te maken. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

  • 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’, als de huidige locale een Engelse variant is

  • 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

Neemt het gedeelte uur uit een datetime of time, of het aantal uren vanaf een interval

Variant Time

Neemt het gedeelte uur uit een time of datetime.

Syntaxis

hour(datetime)

Argumenten

  • datetime - een waarde time of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in uren.

Syntaxis

hour(interval)

Argumenten

  • interval - waarde interval waarvan het aantal uren moet worden teruggegeven

Voorbeelden

  • 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

Maakt een waarde date uit getallen voor jaar, maand en dag.

Syntaxis

make_date(year, month, day)

Argumenten

  • year - Getal jaar. Jaren 1 tot en met 99 worden geïnterpreteerd zoals zij zijn. Jaar 0 is ongeldig.

  • month - Getald maand, waar 1=januari

  • day - Getal dag, beginnend met 1 voor de eerste dag in de maand

Voorbeelden

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

13.2.7.9. make_datetime

Maakt een waarde datetime uit getallen voor jaar, maand, dag, uur, minuut en seconde.

Syntaxis

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

Argumenten

  • year - Getal jaar. Jaren 1 tot en met 99 worden geïnterpreteerd zoals zij zijn. Jaar 0 is ongeldig.

  • month - Getald maand, waar 1=januari

  • day - Getal dag, beginnend met 1 voor de eerste dag in de maand

  • hour - Getal uur

  • minute - Getal minuut

  • second - Seconden (fractionele waarden bevatten milliseconden)

Voorbeelden

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

13.2.7.10. make_interval

Maakt een waarde interval uit waarden jaren, maanden, weken, dagen, uren, minuten en seconden.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • years - Aantal jaren (gaat uit van 365,25 dagen in een jaar).

  • months - Aantal maanden (gaat uit van 30 dagen in een maand)

  • weeks - Aantal weken

  • days - Aantal dagen

  • hours - Aantal uren

  • minutes - Aantal minuten

  • seconds - Aantal seconden

Voorbeelden

  • make_interval(hours:=3) → interval: 3 hours

  • make_interval(days:=2, hours:=3) → interval: 2.125 days

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

13.2.7.11. make_time

Maakt een waarde time uit getallen voor uur, minuut en seconde.

Syntaxis

make_time(hour, minute, second)

Argumenten

  • hour - Getal uur

  • minute - Getal minuut

  • second - Seconden (fractionele waarden bevatten milliseconden)

Voorbeelden

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

13.2.7.12. minute

Neemt het gedeelte minuten uit een datetime of time, of het aantal minuten vanaf een interval.

Variant Time

Neemt het gedeelte minuten uit een time of datetime.

Syntaxis

minute(datetime)

Argumenten

  • datetime - een waarde time of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in minuten.

Syntaxis

minute(interval)

Argumenten

  • interval - waarde interval waarvan het aantal minuten moet worden teruggegeven

Voorbeelden

  • 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

Neemt het gedeelte maand uit een date, of het aantal maanden vanaf een interval

Variant Date

Neemt het gedeelte maand uit een date of een datetime.

Syntaxis

month(date)

Argumenten

  • date - een waarde date of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in maanden.

Syntaxis

month(interval)

Argumenten

  • interval - waarde interval waarvan het aantal maanden moet worden teruggegeven

Voorbeelden

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

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

13.2.7.14. now

Geeft de huidige datum en tijd terug. De functie is statisch en zal bij het evalueren consistente resultaten teruggeven. De teruggegeven tijd is de tijd waarop de expressie werd voorbereid.

Syntaxis

now()

Voorbeelden

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

13.2.7.15. second

Neemt het gedeelte seconde uit een datetime of time, of het aantal seconden vanaf een interval.

Variant Time

Neemt het gedeelte seconde uit een time of datetime.

Syntaxis

second(datetime)

Argumenten

  • datetime - een waarde time of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in seconden.

Syntaxis

second(interval)

Argumenten

  • interval - waarde interval waarvan het aantal seconden moet worden teruggegeven

Voorbeelden

  • 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

Converteert een tekenreeks naar een object date. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QDate::fromString of de documentatie van de functie format_date voor aanvullende documentatie over de indeling. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een datumwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een date te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een date te converteren. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

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

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, als de huidige locale de naam ‘June’ gebruikt voor de zesde maand, anders treedt er een fout op

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

13.2.7.17. to_datetime

Converteert een tekenreeks naar een object datetime. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QDate::fromString, QTime::fromString of de documentatie van de functie format_date voor aanvullende documentatie over de indeling. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een datum-/tijdwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een datetime te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een datetime te converteren. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

  • 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, als de huidige locale de naam ‘June’ gebruikt voor de zesde maand, anders treedt er een fout op

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

13.2.7.18. to_interval

Converteert een tekenreeks naar een type interval. Kan worden gebruikt om dagen, uren, maanden, etc. uit een datum te halen.

Syntaxis

to_interval(string)

Argumenten

  • string - een tekenreeks die een interval weergeeft. Toegestane indelingen omvatten {n} days {n} hours {n} months.

Voorbeelden

  • 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

Converteert een tekenreeks naar een object time. Een optionele tekenreeks voor de indeling mag worden opgegeven om de tekenreeks te parsen; bekijk QTime::fromString voor aanvullende documentatie over de indeling.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • string - tekenreeks die een tijdwaarde weergeeft

  • format - indeling die moet worden gebruikt om de tekenreeks naar een time te converteren

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode) gebruikt om de tekenreeks naar een time te converteren

Voorbeelden

  • 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

Neemt het weeknummer uit een date, of het aantal weken vanaf een interval

Variant Date

Neemt het weeknummer uit een date of een datetime.

Syntaxis

week(date)

Argumenten

  • date - een waarde date of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in weken.

Syntaxis

week(interval)

Argumenten

  • interval - waarde interval waarvan het aantal maanden moet worden teruggegeven

Voorbeelden

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

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

13.2.7.21. year

Neemt het deel jaar uit een date, of het aantal jaren vanaf een interval

Variant Date

Neemt het gedeelte jaar uit een date of een datetime.

Syntaxis

year(date)

Argumenten

  • date - een waarde date of datetime

Voorbeelden

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

Variant Interval

Berekent de lengte van een interval in jaren.

Syntaxis

year(interval)

Argumenten

  • interval - waarde interval waarvan het aantal jaren moet worden teruggegeven

Voorbeelden

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

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

Enkele voorbeelden:

Naast deze functies, aftrekken van datums, datum/tijden of tijden met behulp van de operator - (minus) zal een interval teruggeven.

Optellen of aftrekken van een interval bij datums, datum/tijden of tijden, met behulp van de operatoren + (plus) en - (minus), zal een datetime teruggeven.

  • Haal het aantal dagen op tot de uitgave van QGIS 3.0:

    to_date('2017-09-29') - to_date(now())
    -- Returns <interval: 203 days>
    
  • Hetzelfde met tijd:

    to_datetime('2017-09-29 12:00:00') - now()
    -- Returns <interval: 202.49 days>
    
  • Haal de datum/tijd op tot 100 dagen vanaf nu:

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

13.2.8. Velden en waarden

Bevat een lijst met velden uit de actieve laag, en speciale waarden. De lijst met velden is inclusief die welke zijn opgeslagen in de gegevensset, virtueel en hulp als ook van joins.

Dubbelklik op de naam van een veld om dat toe te voegen aan uw expressie. U kunt ook de naam van het veld typen (bij voorkeur tussen dubbele aanhalingstekens) of het alias daarvan.

Selecteer, om waarden van velden op te halen om in een expressie te gebruiken, het toepasselijke veld en, in het weergegeven widget, kies tussen 10 voorbeelden en Alle unieke. Gevraagde waarden worden dan weergegeven en u kunt het vak Zoeken aan de bovenkant van de lijst gebruiken om het resultaat te filteren. Toegang tot voorbeeldwaarden kan ook worden gekregen door met rechts te klikken op een veld.

Een waarde toevoegen aan een expressie die u schrijft: dubbelklik erop in de lijst. Als de waarde van het type string is, moet het tussen enkele aanhalingstekens staan, anders zijn geen aanhalingstekens nodig.

13.2.8.1. NULL

Is gelijk aan waarde NULL.

Syntaxis

NULL

Voorbeelden

  • NULL → een waarde NULL

Notitie

Gebruik, om te testen op NULL, een expressie IS NULL of IS NOT NULL.

13.2.9. Functies voor bestanden en paden

Deze groep bevat functies waarmee u bestands- en padnamen kunt bewerken.

13.2.9.1. base_file_name

Geeft de basisnaam terug van het bestand, zonder de map of achtervoegsel voor het bestand (extensie).

Syntaxis

base_file_name(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.2. exif

Haalt tags exif op uit een afbeeldingsbestand.

Syntaxis

exif(path, [tag])

[] markeert optionele argumenten

Argumenten

  • path - een bestandspad voor een afbeelding of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

  • tag - De terug te geven tag. Indien leeg zal een kaart met alle waarden van tags exif worden teruggegeven.

Voorbeelden

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

13.2.9.3. file_exists

Geeft TRUE terug als een bestandspad bestaat.

Syntaxis

file_exists(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.4. file_name

Geeft de naam terug van een bestand, (inclusief de bestandsextensie), maar zonder de map.

Syntaxis

file_name(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.5. file_path

Geeft de component map terug van een bestandspad. Dit bevat niet de bestandsnaam.

Syntaxis

file_path(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.6. file_size

Geeft de grootte (in bytes) terug van een bestand.

Syntaxis

file_size(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.7. file_suffix

Geeft het achtervoegsel (extensie) terug uit een bestandspad.

Syntaxis

file_suffix(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

13.2.9.8. is_directory

Geeft TRUE terug als een pad correspondeert met een map.

Syntaxis

is_directory(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

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

13.2.9.9. is_file

Geeft TRUE terug als een pad correspondeert met een bestand.

Syntaxis

is_file(path)

Argumenten

  • path - een bestandspad of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

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

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

13.2.10. Formulierfuncties

Deze groep bevat functies die exclusief werken op de context van attribuutformulieren. Bijvoorbeeld in instellingen voor veldwidgets.

13.2.10.1. current_parent_value

Alleen te gebruiken in de context van een ingebed formulier geeft deze functie de huidige niet opgeslagen waarde terug van een veld in het ouderformulier dat momenteel wordt bewerkt. Dit zal verschillen van de feitelijke attribuutwaarden van het ouderobject voor objecten die momenteel worden bewerkt of nog niet zijn toegevoegd aan een ouderlaag. Indien gebruikt in een filterexpressie voor een widget waarde-relatie, zou deze functie moeten worden verpakt in een ‘coalesce()’ die het feitelijke ouderobject kan ophalen uit de laag als het formulier niet wordt gebruikt in een ingebedde context.

Syntaxis

current_parent_value(field_name)

Argumenten

  • field_name - een veldnaam in het huidige ouderformulier

Voorbeelden

  • current_parent_value( 'FIELD_NAME' ) → De huidige waarde van het veld ‘FIELD_NAME’ in het ouderformulier.

13.2.10.2. current_value

Geeft de huidige niet opgeslagen waarde terug van een veld in het formulier of tabelrij dat momenteel wordt bewerkt. Dit zal verschillen van de feitelijke attribuutwaarden van het object voor objecten die momenteel worden bewerkt of nog niet zijn toegevoegd aan een laag.

Syntaxis

current_value(field_name)

Argumenten

  • field_name - een veldnaam in het huidige formulier of tabelrij

Voorbeelden

  • current_value( 'FIELD_NAME' ) → De huidige waarde van het veld ‘FIELD_NAME’.

13.2.11. Functies voor fuzzy overeenkomsten

Deze groep bevat functies voor fuzzy vergelijkingen tussen waarden.

13.2.11.1. hamming_distance

Geeft de Hamming-afstand terug voor twee tekenreeksen. Dit komt overeen met het aantal tekens op corresponderende posities in de tekenreeksen voor de invoer waar de tekens van elkaar verschillen. De tekenreeksen voor de invoer moeten van dezelfde lengte zijn, en de vergelijking is hoofdlettergevoelig.

Syntaxis

hamming_distance(string1, string2)

Argumenten

  • string1 - een tekenreeks

  • string2 - een tekenreeks

Voorbeelden

  • 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

Geeft de Levenshtein-bewerkingsafstand terug voor twee tekenreeksen. Dit komt overeen met het minimale aantal bewerkingen van tekens (invoegingen, verwijderingen of vervangingen) vereist om de ene tekenreeks te vervangen door de andere.

De Levenshtein-afstand is een meting van de overeenkomst tussen twee tekenreeksen. Kleinere afstanden betekenen dat de tekenreeksen meer overeenkomen, en grotere afstanden geven meer verschillende tekenreeksen aan. De afstand is hoofdlettergevoelig.

Syntaxis

levenshtein(string1, string2)

Argumenten

  • string1 - een tekenreeks

  • string2 - een tekenreeks

Voorbeelden

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

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

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

13.2.11.3. longest_common_substring

Geeft de langste overeenkomende subtekenreeks tussen twee tekenreeksen terug. Deze subtekenreeks is de langste tekenreeks die een subtekenreeks is van de twee tekenreeksen voor de invoer. De langste overeenkomende subtekenreeks van “ABABC” en “BABCA” is bijvoorbeeld “BABC”. De subtekenreeks is hoofdlettergevoelig.

Syntaxis

longest_common_substring(string1, string2)

Argumenten

  • string1 - een tekenreeks

  • string2 - een tekenreeks

Voorbeelden

  • 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

Geeft de Soundex-weergave van een tekenreeks terug. Soundex is een algoritme voor fonetisch overeenkomen, dus tekenreeksen met een soortgelijke klank zouden moeten worden weergegeven door dezelfde code voor Soundex.

Syntaxis

soundex(string)

Argumenten

  • string - een tekenreeks

Voorbeelden

  • soundex('robert') → ‘R163’

  • soundex('rupert') → ‘R163’

  • soundex('rubin') → ‘R150’

13.2.12. Algemene functies

Deze groep bevat een algemeen assortiment van functies.

13.2.12.1. env

Haalt een omgevingsvariabele op en geeft de inhoud daarvan terug als een tekenreeks Als de variabele niet wordt gevonden, wordt NULL teruggegeven. Dit is handig om systeemspecifieke configuratie, zoals schijfletters of voorvoegsels voor paden in te voeren. Definitie van omgevingsvariabelen is afhankelijk van het besturingssysteem, neem contact op met uw systeembeheerder, of bekijk de documentatie voor het besturingssysteem, hoe deze in te stellen.

Syntaxis

env(name)

Argumenten

  • name - De naam van de omgevingsvariabele die zou moeten worden opgehaald.

Voorbeelden

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

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

  • env( 'I_DO_NOT_EXIST' ) → NULL

13.2.12.2. eval

Evalueert een expressie die in een tekenreeks wordt doorgegeven. Nuttig om dynamische parameters, die zijn doorgegeven als contextvariabelen of velden, uit te breiden.

Syntaxis

eval(expression)

Argumenten

  • expression - een expressie als tekenreeks

Voorbeelden

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

  • eval(@expression_var) → [wat het resultaat van het evalueren van @expression_var ook maar mag zijn…]

13.2.12.3. eval_template

Evalueert een sjabloon dat in een tekenreeks wordt doorgegeven. Nuttig om dynamische parameters, die zijn doorgegeven als contextvariabelen of velden, uit te breiden.

Syntaxis

eval_template(template)

Argumenten

  • template - een tekenreeks voor een sjabloon

Voorbeelden

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

13.2.12.4. is_layer_visible

Geeft TRUE terug als een gespecificeerde laag zichtbaar is.

Syntaxis

is_layer_visible(layer)

Argumenten

  • layer - een tekenreeks die ofwel een laagnaam of een laag-ID vertegenwoordigt

Voorbeelden

  • is_layer_visible('baseraster') → TRUE

13.2.12.5. mime_type

Geeft het type mime van de binaire gegevens terug.

Syntaxis

mime_type(bytes)

Argumenten

  • bytes - de binaire gegevens

Voorbeelden

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

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

13.2.12.6. var

Geeft de opgeslagen waarde uit een gespecificeerde variabele terug.

Syntaxis

var(name)

Argumenten

  • name - de naam van een variabele

Voorbeelden

  • var('qgis_version') → ‘2.12’

Lees verder: Lijst van standaard variabelen

13.2.12.7. with_variable

Maakt en stelt een variabele in voor de code voor een expressie die zal worden verschaft als derde argument. Dit is alleen nuttig voor gecompliceerde expressies waar dezelfde berekende waarde moet worden gebruikt op verschillende plaatsen.

Syntaxis

with_variable(name, value, expression)

Argumenten

  • name - de naam van de in te stellen variabele

  • value - de in te stellen waarde

  • expression - de expressie waarvoor de variabele beschikbaar moet zijn

Voorbeelden

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

13.2.13. Geometrie functies

De groep bevat functies die werken voor geometrie-objecten (bijv. buffer, transform, $area).

13.2.13.1. affine_transform

Geeft de geometrie terug na een affiene transformatie. Berekeningen zijn in het Ruimtelijke ReferentieSysteem van deze geometrie. De bewerkingen worden uitgevoerd in de volgorde schaal, rotatie, vertaling. Als er een Z- of M-verschuiving is, maar het coördinaat is niet aanwezig in de geometrie, zal die worden toegevoegd.

Syntaxis

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])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • delta_x - X-as vertaling

  • delta_y - Y-as vertaling

  • rotation_z - rotatie rondom Z-as in graden tegen de wijzers van de klok in

  • scale_x - X-as schaalfactor

  • scale_y - Y-as schaalfactor

  • delta_z - Z-as vertaling

  • delta_m - M-as vertaling

  • scale_z - Z-as schaalfactor

  • scale_m - M-as schaalfactor

Voorbeelden

  • 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)’

13.2.13.2. angle_at_vertex

Geeft de hoek bisector hoek (gemiddelde hoek) terug van de geometrie voor een gespecificeerd punt op een geometrie lijn. Hoeken zijn in graden vanaf noord met de klok mee.

Syntaxis

angle_at_vertex(geometry, vertex)

Argumenten

  • geometry - een geometrie lijn

  • vertex - index van het punt, beginnend vanaf 0; als de waarde negatief is, zal de geselecteerde index voor het punt zijn totale aantal minus de absolute waarde zijn

Voorbeelden

  • 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

Past een streepjespatroon toe op een geometrie, wat een MultiLineString-geometrie teruggeeft waarvan de invoergeometrie gestreept is langs elke lijn/ring met het gespecificeerde patroon.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie (accepteert (multi)linestrings of (multi)polygonen).

  • pattern - streepjespatroon, als een array van getallen die lengten van streepjes en gaten weergeven. Moet een even aantal elementen bevatten.

  • start_rule - optionele regel voor het beperken van het begin van het patroon. Geldige waarden zijn ‘no_rule’, ‘full_dash’, ‘half_dash’, ‘full_gap’, ‘half_gap’.

  • end_rule - optionele regel voor het beperken van het einde van het patroon. Geldige waarden zijn ‘no_rule’, ‘full_dash’, ‘half_dash’, ‘full_gap’, ‘half_gap’.

  • adjustment - optionele regel voor het specificeren van welk deel van de patronen moeten worden aangepast om te zorgen dat de regels van het gewenste patroon passen. Geldige waarden zijn ‘both’, ‘dash’, ‘gap’.

  • pattern_offset - Optionele afstand die een specifieke afstand specificeert langs het patroon waar het moet beginnen.

Voorbeelden

  • 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

Geeft het gebied van het huidige object terug. Het door deze functie berekende gebied respecteert zowel de instelling van de ellipsoïde voor het huidige project als de instellingen voor eenheden voor het gebied. Als, bijvoorbeeld, een ellipsoïde is ingesteld voor het project, dan zal het berekende gebied ellipsoïde zijn, en als er geen ellipsoïde is ingesteld, dan zal het gebied planimetrisch zijn.

Syntaxis

$area

Voorbeelden

  • $area → 42

13.2.13.5. area

Geeft het gebied terug van een geometrie-object polygoon. Berekeningen zijn altijd in het ruimtelijke referentiesysteem (SRS) van deze geometrie, en de eenheden van het teruggegeven gebied komen overeen met de eenheden voor het SRS. Dit verschilt van de door de functie $area uitgevoerde berekeningen, die ellipsoïde berekeningen zal uitvoeren, gebaseerd op de instellingen voor de ellipsoïde van het project en eenheden voor het gebied.

Syntaxis

area(geometry)

Argumenten

  • geometry - geometrie-object polygoon

Voorbeelden

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

13.2.13.6. azimuth

Geeft de op het noorden gebaseerde azimut terug als de hoek in radialen, met de klok mee gemeten van de verticaal van point_a naar point_b.

Syntaxis

azimuth(point_a, point_b)

Argumenten

  • point_a - geometrie punt

  • point_b - geometrie punt

Voorbeelden

  • 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. boundary

Geeft de omsluiting terug van de gecombineerde grens van de geometrie (d.i. de topologische grens van de geometrie). Een geometrie polygoon zal, bijvoorbeeld, een grens hebben die bestaat uit de lijnen voor elke ring in de polygoon. Sommige typen geometrie hebben geen gedefinieerde grens, bijv. punten of verzamelingen van geometrieën, en zullen NULL teruggeven.

Syntaxis

boundary(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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))’

Lees verder: algoritme Grens

13.2.13.8. bounds

Geeft een geometrie terug die het begrenzingsvak van een invoer-geometrie weergeeft. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

bounds(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • bounds($geometry) → begrenzingsvak van de geometrie van het huidige object

  • 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

Fig. 13.4 Zwarte lijnen geven de begrenzingsvakken van elk object polygoon weer

Lees verder: algoritme Begrenzingsvakken

13.2.13.9. bounds_height

Geeft de hoogte van het begrenzingsvak van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

bounds_height(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • bounds_height($geometry) → height of bounding box of the current feature’s geometry

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

13.2.13.10. bounds_width

Geeft de breedte van het begrenzingsvak van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

bounds_width(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • bounds_width($geometry) → width of bounding box of the current feature’s geometry

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

13.2.13.11. buffer

Geeft een geometrie terug die alle punten weergeeft waarvan de afstand vanaf deze geometrie kleiner is dan of gelijk is aan afstand. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • distance - bufferafstand in laageenheden

  • segments - aantal te gebruiken segmenten om een kwartcirkel weer te geven als een afgeronde stijl voor samenvoegen wordt gebruikt. Een groter aantal resulteert in een gladdere buffer met meer knopen.

  • cap - stijl voor einde voor buffer. Geldige waarden zijn ‘round’, ‘flat’ of ‘square’

  • join - stijl voor samenvoegen voor buffer. Geldige waarden zijn ‘round’, ‘bevel’ of ‘miter’.

  • miter_limit - grens voor afstand van miter, te gebruiken als de stijl voor samenvoegen is ingesteld op ‘miter’

Voorbeelden

  • buffer($geometry, 10.5) → polygoon van de geometrie van het huidige object, gebufferd op 10.5 eenheden

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

Fig. 13.5 Buffer (in geel) van punten, lijn, polygoon met positieve buffer, en polygoon met negatieve buffer

Lees verder: algoritme Buffer

13.2.13.12. buffer_by_m

Maakt een buffer langs een geometrie lijn waarbij de diameter van de buffer varieert, overeenkomstig de waarden M van de punten van de lijn.

Syntaxis

buffer_by_m(geometry, [segments=8])

[] markeert optionele argumenten

Argumenten

  • geometry - invoergeometrie. Moet een geometrie (multi)lijn zijn met waarden M.

  • segments - aantal segmenten om bogen van een kwartcirkel te benaderen in de buffer.

Voorbeelden

  • buffer_by_m(geometry:=geom_from_wkt('LINESTRINGM(1 2 0.5, 4 2 0.2)'),segments:=8) → Een buffer met variabele breedte, beginnend met een diameter van 0.5 en eindigend met een diameter van 0.2 langs de geometrie lijn.

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

Fig. 13.6 Objecten Lijn bufferen met de M-waarde op de punten

Lees verder: algoritme Variabele breedte buffer (op M-waarde)

13.2.13.13. centroid

Geeft het geometrische midden van een geometrie terug.

Syntaxis

centroid(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • centroid($geometry) → een geometrie punt

Lees verder: algoritme Zwaartepunten

13.2.13.14. close_line

Geeft een gesloten lijn voor de lijn voor invoer terug door het eerste punt toe te voegen aan het einde van de lijn, als die nog niet gesloten is. Als de geometrie geen lijn of multi-lijn is, dan zal het resultaat NULL zijn.

Syntaxis

close_line(geometry)

Argumenten

  • geometry - een geometrie lijn

Voorbeelden

  • 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.15. closest_point

Geeft het punt terug op geometry1 dat het dichtst bij geometry2 ligt

Syntaxis

closest_point(geometry1, geometry2)

Argumenten

  • geometry1 - geometrie waarop het dichtstbijzijnde punt moet worden gezocht

  • geometry2 - geometrie waarvan het dichtstbijzijnde punt moet worden gevonden

Voorbeelden

  • 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.16. collect_geometries

Verzamelt een set geometrieën in een meerdelig object geometrie.

Variant Lijst met argumenten

Delen van geometrieën worden als afzonderlijke argumenten gespecificeerd voor de functie.

Syntaxis

collect_geometries(geometry1, geometry2, …)

Argumenten

  • geometry - een geometrie

Voorbeelden

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

Variant Array

Delen van geometrieën worden als een array van delen van geometrieën gespecificeerd.

Syntaxis

collect_geometries(array)

Argumenten

  • array - array van geometrie-objecten

Voorbeelden

  • 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))’

Lees verder: algoritme Geometrieën verzamelen

13.2.13.17. combine

Geeft de combinatie van twee geometrieën terug.

Syntaxis

combine(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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.18. concave_hull

Geeft een mogelijke bolle polygoon die alle punten in de geometrie bevat

Syntaxis

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

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • target_percent - het percentage gebied dat de oplossing voor de convex hull probeert te benaderen. Een target_percent van 1 geeft hetzelfde resultaat als de convex hull. Een target_percent tussen 0 en 0.99 produceert een resultaat dat een kleiner gebied zou moeten hebben dan de convex hull.

  • allow_holes - optioneel argument dat specificeert of gaten zijn toegestaan in de uitvoergeometrie. Standaard is FALSE, stel in op TRUE om opnemen van gaten in de uitvoergeometrie te vermijden.

Voorbeelden

  • 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))’

Lees verder: convex_hull

13.2.13.19. contains

Test of een geometrie een andere bevat. Geeft TRUE terug als, en alleen als, er geen punten van geometry2 in het exterieur van geometry1 liggen, en tenminste één punt van het interieur van geometry2 in het interieur van geometry1 ligt.

Syntaxis

contains(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_contains

13.2.13.20. convex_hull

Geeft de convex hull van een geometrie terug. Dit vertegenwoordigt de minimale convex-geometrie die alle geometrieën binnen de verzameling omsluit.

Syntaxis

convex_hull(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

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

Lees verder: concave_hull, algoritme Convex hull (Bolle schil)

13.2.13.21. crosses

Test of een geometrie kruist met een andere. Geeft TRUE terug als de opgegeven geometrieën enkele, maar niet alle, punten in het interieur gemeenschappelijk hebben.

Syntaxis

crosses(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_crosses

13.2.13.22. densify_by_count

Neemt een geometrie van een polygonen-laag of lijn-laag en maakt een nieuwe waarin de geometrieën een groter aantal punten hebben dan de originele.

Syntaxis

densify_by_count(geometry, vertices)

Argumenten

  • geometry - een geometrie (accepteert (multi)linestrings of (multi)polygonen).

  • vertices - aantal toe te voegen punten (per segment)

Voorbeelden

  • 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)

Lees verder: algoritme Verdichten op aantal

13.2.13.23. densify_by_distance

Neemt een geometrie van een polygoon- of lijnlaag en maakt een nieuwe waarin de geometrieën zijn verdicht door aanvullende punten toe te voegen op randen die een maximale afstand hebben ten opzichte van de gespecificeerde interval voor de afstand.

Syntaxis

densify_by_distance(geometry, distance)

Argumenten

  • geometry - een geometrie (accepteert (multi)linestrings of (multi)polygonen).

  • distance - maximale interval afstand tussen punten in de uitvoergeometrie

Voorbeelden

  • geom_to_wkt(densify_by_distance(geom_from_wkt('LINESTRING(1 1, 10 1)'), 4)) → LineString (1 1, 4 1, 7 1, 10 1)

Lees verder: Verdichten op interval algorithm

13.2.13.24. difference

Geeft een geometrie terug die dat deel van geometry1 weergeeft dat niet kruist met geometry2.

Syntaxis

difference(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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)’

Lees verder: algoritme Verschil

13.2.13.25. disjoint

Test of geometrieën elkaar niet ruimtelijk kruisen. Geeft TRUE terug als de geometrieën geen enkele ruimte met elkaar delen.

Syntaxis

disjoint(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_disjoint

13.2.13.26. distance

Geeft de minimum afstand (gebaseerd op ruimtelijke verwijzing) tussen twee geometrieën in geprojecteerde eenheden terug.

Syntaxis

distance(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • distance( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(4 8)' ) ) → 4

13.2.13.27. distance_to_vertex

Geeft de afstand terug langs de geometrie tot een gespecificeerd punt.

Syntaxis

distance_to_vertex(geometry, vertex)

Argumenten

  • geometry - een geometrie lijn

  • vertex - index van het punt, beginnend vanaf 0; als de waarde negatief is, zal de geselecteerde index voor het punt zijn totale aantal minus de absolute waarde zijn

Voorbeelden

  • distance_to_vertex(geometry:=geom_from_wkt('LineString(0 0, 10 0, 10 10)'),vertex:=1) → 10.0

13.2.13.28. end_point

Geeft de laatste knoop van een geometrie terug.

Syntaxis

end_point(geometry)

Argumenten

  • geometry - object geometrie

Voorbeelden

  • geom_to_wkt(end_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)'))) → ‘Point (0 2)’

Lees verder: algoritme Specifieke punten uitnemen

13.2.13.29. exif_geotag

Maakt een geometrie punt uit de exif geotags van een afbeeldingsbestand.

Syntaxis

exif_geotag(path)

Argumenten

  • path - een bestandspad voor een afbeelding of een waarde van een kaartlaag. Als een waarde van een kaartlaag is gespecificeerd dan zal de bestandsbron van de laag worden gebruikt.

Voorbeelden

  • geom_to_wkt(exif_geotag('/my/photo.jpg')) → ‘Point (2 4)’

13.2.13.30. extend

Verlengt het begin en einde van een geometrie lijn met een gespecificeerde afstand. Lijnen worden verlengd met behulp van de richting van het eerste en laatste segment in de lijn. Voor een multi-lijn worden alle delen verlengd. Afstanden zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

extend(geometry, start_distance, end_distance)

Argumenten

  • geometry - een geometrie (multi)lijn

  • start_distance - afstand waarmee het begin van de lijn moet worden verlengd

  • end_distance - afstand waarmee het einde van de lijn moet worden verlengd.

Voorbeelden

  • 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))’

Lees verder: algoritme Lijnen verlengen

13.2.13.31. exterior_ring

Geeft een lijn terug die de buitenste ring voorstelt van een geometrie polygoon. Als de geometrie geen polygoon is zal het resultaat NULL zijn.

Syntaxis

exterior_ring(geometry)

Argumenten

  • geometry - een geometrie polygoon

Voorbeelden

  • 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)’

13.2.13.32. extrude

Geeft een uitgetrokken versie terug van de invoergeometrie (Multi-)Curve of (Multi-)Lijn met een uitbreiding die wordt gespecificeerd door x en y.

Syntaxis

extrude(geometry, x, y)

Argumenten

  • geometry - een geometrie boog of lijn

  • x - uitbreiding x, numerieke waarde

  • y - uitbreiding y, numerieke waarde

Voorbeelden

  • 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)))’

13.2.13.33. flip_coordinates

Geeft een kopie terug van de geometrie waarin de X- en Y-coördinaten zijn verwisseld. Nuttig om geometrieën te repareren waarvan de waarden voor breedte- en lengtegraad zijn omgedraaid.

Syntaxis

flip_coordinates(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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)’

Lees verder: algoritme X- en Y-coördinaten wisselen

13.2.13.34. force_polygon_ccw

Forceert een geometrie om de conventie te respecteren waar buitenste ringen tegen de wijzers van de klok in gaan, binnenste ringen gaan met de wijzers van de klok mee.

Syntaxis

force_polygon_ccw(geometry)

Argumenten

  • geometry - een geometrie. Elke geometrie die geen polygoon is wordt ongewijzigd teruggegeven.

Voorbeelden

  • 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))’

Lees verder: force_polygon_cw, force_rhr

13.2.13.35. force_polygon_cw

Forceert een geometrie om de conventie te respecteren waar buitenste ringen met de wijzers van de klok mee gaan, binnenste ringen tegen de wijzers van de klok in gaan.

Syntaxis

force_polygon_cw(geometry)

Argumenten

  • geometry - een geometrie. Elke geometrie die geen polygoon is wordt ongewijzigd teruggegeven.

Voorbeelden

  • 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))’

Lees verder: force_polygon_ccw, force_rhr

13.2.13.36. force_rhr

Forceert een geometrie polygoon om de rechterhandregel te respecteren, waarin het gebied, dat is gebonden aan een polygoon, aan de rechterkant van de grens ligt. In het bijzonder, de buitenste ring is georiënteerd in een richting met de klok mee en de binnenste ringen in een richting tegen de wijzers van de klok in. Vanwege de inconsistentie in de definitie van de rechterhandregel in sommige contexten wordt aanbevolen om in plaats daarvan de expliciete functie force_polygon_cw te gebruiken.

Syntaxis

force_rhr(geometry)

Argumenten

  • geometry - een geometrie. Elke geometrie die geen polygoon is wordt ongewijzigd teruggegeven.

Voorbeelden

  • 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))’

Lees verder: algoritme Rechterhandregel forceren, force_polygon_ccw, force_polygon_cw

13.2.13.37. geom_from_gml

Geeft een geometrie terug uit een GML-weergave van geometrie.

Syntaxis

geom_from_gml(gml)

Argumenten

  • gml - GML-weergave van een geometrie als een tekenreeks

Voorbeelden

  • geom_from_gml('<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>') → een object lijngeometrie

13.2.13.38. geom_from_wkb

Geeft een geometrie terug, gemaakt uit een weergave Well-Known Text (WKT).

Syntaxis

geom_from_wkb(binary)

Argumenten

  • binary - weergave in Well-Known Binary (WKB) van een geometrie (als een binaire blob)

Voorbeelden

  • geom_from_wkb( geom_to_wkb( make_point(4,5) ) ) → een geometrie-object punt

13.2.13.39. geom_from_wkt

Geeft een geometrie terug, gemaakt uit een weergave Well-Known Text (WKT)-

Syntaxis

geom_from_wkt(text)

Argumenten

  • text - weergave in Well-Known Text (WKT) van een geometrie

Voorbeelden

  • geom_from_wkt( 'POINT(4 5)' ) → een geometrie-object

13.2.13.40. geom_to_wkb

Geeft de weergave in Well-Known Binary (WKB) van een geometrie terug.

Syntaxis

geom_to_wkb(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • geom_to_wkb( $geometry ) → binaire blob die een geometrie-object bevat

13.2.13.41. geom_to_wkt

Geeft de weergave in Well-Known Text (WKT) van de geometrie terug zonder de metadata voor het SRID.

Syntaxis

geom_to_wkt(geometry, [precision=8])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • precision - numerieke precisie

Voorbeelden

  • 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.42. $geometry

Geeft de geometrie terug van het huidige object. Kan worden gebruikt voor het verwerken met andere functies. WAARSCHUWING: Deze functie is vervallen. Aanbevolen wordt om de vervanging, de variabele @geometry in plaats daarvan te gebruiken.

Syntaxis

$geometry

Voorbeelden

  • geom_to_wkt( $geometry ) → ‘POINT(6 50)’

13.2.13.43. geometry

Geeft de geometrie van een object terug.

Syntaxis

geometry(feature)

Argumenten

  • feature - een object

Voorbeelden

  • `` geometry( $currentfeature )`` → de geometrie van het huidige object. Voorkeur voor gebruiken van $geometry.

  • geom_to_wkt( geometry( get_feature_by_id( 'streets', 1 ) ) ) → de geometrie in WKT van het object met de ID 1 op de laag “streets”, bijv. ‘POINT(6 50)’

  • intersects( $geometry, geometry( get_feature( 'streets', 'name', 'Main St.' ) ) ) → TRUE als het huidige object ruimtelijk kruist met het benoemde object ‘Main St.’ op de laag “streets”

13.2.13.44. geometry_n

Geeft een specifieke geometrie terug uit een verzameling geometrieën, of NULL als de invoergeometrie geen verzameling is. Geeft ook een deel van een meerdelige geometrie terug.

Syntaxis

geometry_n(geometry, index)

Argumenten

  • geometry - verzameling geometrieën

  • index - index van de terug te geven geometrie, waar 1 de eerste geometrie in de verzameling is

Voorbeelden

  • 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.45. geometry_type

Geeft een waarde tekenreeks terug die het type van een geometrie beschrijft (Punt, Lijn of Polygoon)

Syntaxis

geometry_type(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • geometry_type( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → ‘Lijn’

  • geometry_type( geom_from_wkt( 'MULTILINESTRING((2 5, 3 6, 4 8), (1 1, 0 0))') ) → ‘Lijn’

  • geometry_type( geom_from_wkt( 'POINT(2 5)') ) → ‘Punt’

  • geometry_type( geom_from_wkt( 'POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))') ) → ‘Polygoon’

13.2.13.46. hausdorff_distance

Geeft de Hausdorff-afstand tussen twee geometrieën terug. Geeft in de basis een meting terug van hoe soortgelijk of niet soortgelijk 2 geometrieën zijn, met een lagere afstand die meer soortgelijke geometrieën aangeeft.

De functie mag worden uitgevoerd met een optioneel argument voor de fractiedichtheid. Indien niet gespecificeerd wordt een benadering van de standaard Hausdorff-afstand gebruikt. Deze benadering is exact of dichtbij genoeg voor een grote subset van nuttige gevallen. Voorbeelden hiervan zijn:

  • berekenen van de afstand tussen lijnen die ruwweg parallel aan elkaar zijn, en ruwweg van gelijke lengte. Dit komt voor in overeenkomende lineaire netwerken.

  • Testen van de soortgelijkheid van geometrieën.

Als de standaard gegeven benadering voor deze methode niet voldoende is, specificeer dan het argument voor de fractiedichtheid. Specificeren van dit argument voert een verdichting van segmenten uit voordat de afzonderlijk Hausdorff-afstand wordt berekend. De parameter stelt de fractie in waarmee elk segment wordt verdicht. Elk segment zal worden gesplitst in een aantal subsegmenten van gelijke lengte, waarvan de fractie van de totale lengte het dichtst bij de opgegeven fractie ligt. Verlagen van de parameter fractiedichtheid zal er voor zorgen dat de teruggegeven afstand de ware Hausdorff-afstand voor de geometrieën benadert.

Syntaxis

hausdorff_distance(geometry1, geometry2, [densify_fraction])

[] markeert optionele argumenten

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

  • densify_fraction - hoeveelheid frachtiedichtheid

Voorbeelden

  • 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.47. inclination

Geeft de hoek terug die wordt gemeten tussen de zenith (0) en de nadir (180) van point_a naar point_b.

Syntaxis

inclination(point_a, point_b)

Argumenten

  • point_a - geometrie punt

  • point_b - geometrie punt

Voorbeelden

  • 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.48. interior_ring_n

Geeft een specifieke binnenste ring terug uit een geometrie polygoon, of NULL als de invoergeometrie geen polygoon is.

Syntaxis

interior_ring_n(geometry, index)

Argumenten

  • geometry - geometrie polygoon

  • index - index van de terug te geven binnenste ring, waar 1 de eerste binnenste ring is

Voorbeelden

  • 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.49. intersection

Geeft een geometrie terug die het gedeelde deel weergeeft van twee geometrieën.

Syntaxis

intersection(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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)’

Lees verder: algoritme Kruising

13.2.13.50. intersects

Test of een geometrie een andere kruist. Geeft TRUE terug als de geometrieën elkaar ruimtelijk kruisen (een stukje ruimte met elkaar delen) en FALSE als zij dat niet doen.

Syntaxis

intersects(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_intersects

13.2.13.51. intersects_bbox

Test of een begrenzingsvak van een geometrie het begrenzingsvak van een andere geometrie overlapt. Geeft TRUE terug als de geometrieën ruimtelijk kruisen met het gedefinieerde begrenzingsvak en FALSE als zij dat niet doen.

Syntaxis

intersects_bbox(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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.52. is_closed

Geeft TRUE terug als een lijn gesloten is (begin- en eindpunt zijn hetzelfde), of FALSE als een lijn niet gesloten is. Als de geometrie geen lijn is, zal het resultaat NULL zijn.

Syntaxis

is_closed(geometry)

Argumenten

  • geometry - een geometrie lijn

Voorbeelden

  • 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.53. is_empty

Geeft TRUE terug als een geometrie leeg is (zonder coördinaten), FALSE als de geometrie niet leeg is en NULL als er geen geometrie is. Bekijk ook is_empty_or_null.

Syntaxis

is_empty(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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

Lees verder: is_empty_or_null

13.2.13.54. is_empty_or_null

Geeft TRUE terug als een geometrie NULL of leeg is (zonder coördinaten), anders FALSE. Deze functie is hetzelfde als de expressie ‘$geometry IS NULL or is_empty($geometry)’

Syntaxis

is_empty_or_null(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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

Lees verder: is_empty, NULL

13.2.13.55. is_multipart

Geeft TRUE terug als de geometrie van het type Multi is.

Syntaxis

is_multipart(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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.56. is_valid

Geeft TRUE terug als een geometrie geldig is; of het goed gevormd is in 2D, overeenkomstig de regels van OGC.

Syntaxis

is_valid(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • is_valid(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2, 0 0)')) → TRUE

  • is_valid(geom_from_wkt('LINESTRING(0 0)')) → FALSE

Lees verder: make_valid, Geldigheid controleren algorithm

13.2.13.57. $length

Geeft de lengte van een lijn terug. Als u de lengte van een rand van een polygoon nodig hebt, gebruik dan in plaats hiervan $perimeter. De door deze functie berekende lengte respecteert zowel de instelling van de ellipsoïde voor het huidige project als de instellingen voor eenheden voor afstanden. Als, bijvoorbeeld, een ellipsoïde is ingesteld voor het project, dan zal de berekende lengte ellipsoïde zijn, en als er geen ellipsoïde is ingesteld, dan zal de lengte planimetrisch zijn.

Syntaxis

$length

Voorbeelden

  • $length → 42.4711

13.2.13.58. length

Geeft het aantal tekens in een tekenreeks terug of de lengte van een geometrie lijn.

Variant Tekenreeks

Geeft het aantal tekens in een tekenreeks terug.

Syntaxis

length(string)

Argumenten

  • string - tekenreeks waarvan de lengte moet worden geteld

Voorbeelden

  • length('hello') → 5

Variant Geometrie

Geeft de lengte terug van een geometrie-object lijn. Berekeningen zijn altijd planimetrisch in het ruimtelijke referentiesysteem (SRS) van deze geometrie, en de eenheden van de teruggegeven lengte komen overeen met de eenheden voor het SRS. Dit verschilt van de door de functie $length uitgevoerde berekeningen, die ellipsoïde berekeningen zal uitvoeren, gebaseerd op de instellingen voor de ellipsoïde van het project en eenheden voor afstanden.

Syntaxis

length(geometry)

Argumenten

  • geometry - geometrie-object lijn

Voorbeelden

  • length(geom_from_wkt('LINESTRING(0 0, 4 0)')) → 4.0

Lees verder: straight_distance_2d

13.2.13.59. length3D

Berekent de 3D-lengte van een geometrie-object lijn. Als de geometrie geen 3D-lijnobject is, geeft het de 2D-lengte ervan terug. Berekeningen zijn altijd planimetrisch in het ruimtelijke referentiesysteem (SRS) van deze geometrie, en de eenheden van de teruggegeven lengte komen overeen met de eenheden voor het SRS. Dit verschilt van de door de functie $length uitgevoerde berekeningen, die ellipsoïde berekeningen zal uitvoeren, gebaseerd op de instellingen voor de ellipsoïde van het project en eenheden voor afstanden.

Syntaxis

length3D(geometry)

Argumenten

  • geometry - geometrie-object lijn

Voorbeelden

  • length3D(geom_from_wkt('LINESTRINGZ(0 0 0, 3 0 4)')) → 5.0

13.2.13.60. line_interpolate_angle

Geeft de hoek terug parallel aan de geometrie op een gespecificeerde afstand langs een geometrie lijnstring. Hoeken zijn in graden vanaf Noord met de klok mee.

Syntaxis

line_interpolate_angle(geometry, distance)

Argumenten

  • geometry - een geometrie lijn

  • distance - afstand langs de lijn waarop de hoek moet worden geïnterpoleerd

Voorbeelden

  • line_interpolate_angle(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5) → 90.0

13.2.13.61. line_interpolate_point

Geeft het geïnterpoleerde punt terug van een gespecificeerde afstand langs een geometrie lijn.

Syntaxis

line_interpolate_point(geometry, distance)

Argumenten

  • geometry - een geometrie lijn

  • distance - afstand langs de lijn waarop moet worden geïnterpoleerd

Voorbeelden

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 8 0)'), distance:=5)) → ‘Punt (5 0)’

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 1 1, 2 0)'), distance:=2.1)) → ‘Punt (1.48492424 0.51507576)’

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 1 0)'), distance:=2)) → NULL

Lees verder: algoritme Punt op lijn interpoleren

13.2.13.62. line_locate_point

Geeft de afstand langs een lijnstring terug die overeenkomt met het dichtstbijzijnde punt die de lijnstring komt tot nabij een gespecificeerde geometrie punt.

Syntaxis

line_locate_point(geometry, point)

Argumenten

  • geometry - een geometrie lijn

  • point - geometrie punt waarvan het dichtstbijzijnde punt op de lijn moet worden gevonden

Voorbeelden

  • line_locate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),point:=geom_from_wkt('Point(5 0)')) → 5.0

13.2.13.63. line_merge

Geeft een geometrie LineString of MultiLineString terug, waar enige verbonden LineStrings van de geometrie voor de invoer is samengevoegd naar één enkele lijn. Deze functie zal NULL teruggeven als een geometrie wordt doorgegeven die geen LineString/MultiLineString is.

Syntaxis

line_merge(geometry)

Argumenten

  • geometry - een geometrie LineString/MultiLineString

Voorbeelden

  • 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.64. line_substring

Geeft het gedeelte van een geometrie lijn (of boog) terug dat valt tussen de gespecificeerde begin- en eindafstanden (gemeten vanaf het begin van de lijn). Waarden Z en M worden lineair geïnterpoleerd vanuit bestaande waarden.

Syntaxis

line_substring(geometry, start_distance, end_distance)

Argumenten

  • geometry - een geometrie lijn of boog

  • start_distance - afstand tot begin subtekenreeks

  • end_distance - afstand tot einde substring

Voorbeelden

  • 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)’

Lees verder: algoritme Lijn subdeel

13.2.13.65. m

Geeft de waarde M (meting) van een geometrie punt terug.

Syntaxis

m(geometry)

Argumenten

  • geometry - een geometrie punt

Voorbeelden

  • m( geom_from_wkt( 'POINTM(2 5 4)' ) ) → 4

13.2.13.66. m_max

Geeft de maximale waarde M (measure) van een geometrie terug.

Syntaxis

m_max(geometry)

Argumenten

  • geometry - een geometrie die waarden M bevat

Voorbeelden

  • 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.67. m_min

Geeft de minimale waarde M (measure) van een geometrie terug.

Syntaxis

m_min(geometry)

Argumenten

  • geometry - een geometrie die waarden M bevat

Voorbeelden

  • 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.68. main_angle

Geeft de hoek van de lange as terug (met de wijzers van de klok mee, in graden vanaf Noord) van de georiënteerde minimale rechthoek voor de begrenzing, die de geometrie volledig bedekt.

Syntaxis

main_angle(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • main_angle(geom_from_wkt('Polygon ((321577 129614, 321581 129618, 321585 129615, 321581 129610, 321577 129614))')) → 38.66

13.2.13.69. make_circle

Maakt een cirkelpolygoon.

Syntaxis

make_circle(center, radius, [segments=36])

[] markeert optionele argumenten

Argumenten

  • center - middelpunt van de cirkel

  • radius - straal van de cirkel

  • segments - optioneel argument voor segmenteren van de polygoon. Standaard is deze waarde 36

Voorbeelden

  • 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.70. make_ellipse

Maakt een ellips-polygoon

Syntaxis

make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36])

[] markeert optionele argumenten

Argumenten

  • center - middelpunt van de ellips

  • semi_major_axis - semi-hoofdas van de ellips

  • semi_minor_axis - semi-hulpas van de ellips

  • azimuth - oriëntatie van de ellips

  • segments - optioneel argument voor segmenteren van de polygoon. Standaard is deze waarde 36

Voorbeelden

  • 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.71. make_line

Maakt een lijngeometrie uit een serie van puntgeometrieën.

Variant Lijst met argumenten

Punten van de lijn worden als afzonderlijke argumenten gespecificeerd voor de functie.

Syntaxis

make_line(point1, point2, …)

Argumenten

  • point - een geometrie punt (of array met punten)

Voorbeelden

  • 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)’

Variant Array

Punten van de lijn worden als een array van punten gespecificeerd.

Syntaxis

make_line(array)

Argumenten

  • array - array met punten

Voorbeelden

  • 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.72. make_point

Maakt een geometrie punt van X- en Y-waarden (en optioneel waarden Z of M)

Syntaxis

make_point(x, y, [z], [m])

[] markeert optionele argumenten

Argumenten

  • x - X-coördinaat van punt

  • y - Y-coördinaat van punt

  • z - optioneel Z-coördinaat van punt

  • m - optionele waarde M van punt

Voorbeelden

  • 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.73. make_point_m

Maakt een geometrie punt uit X- en Y-coördinaten en waarde M.

Syntaxis

make_point_m(x, y, m)

Argumenten

  • x - X-coördinaat van punt

  • y - Y-coördinaat van punt

  • m - waarde M van punt

Voorbeelden

  • geom_to_wkt(make_point_m(2,4,6)) → ‘PointM (2 4 6)’

13.2.13.74. make_polygon

Maakt een geometrie polygoon van een buitenste ring en optioneel een verzameling van geometrieën van binnenste ringen

Syntaxis

make_polygon(outerRing, [innerRing1], [innerRing2], …)

[] markeert optionele argumenten

Argumenten

  • outerRing - geometrie gesloten lijn voor de buitenste ring van de polygoon

  • innerRing - optionele geometrie gesloten lijn voor binnenste ring

Voorbeelden

  • 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.75. make_rectangle_3points

Maakt een rechthoek uit 3 punten.

Syntaxis

make_rectangle_3points(point1, point2, point3, [option=0])

[] markeert optionele argumenten

Argumenten

  • point1 - Eerste punt.

  • point2 - Tweede punt.

  • point3 - Derde punt.

  • option - Een optioneel argument om de rechthoek te construeren. Standaard is deze waarde 0. Waarde mag 0 (afstand) of 1 (geprojecteerd) zijn. Optie afstand: Tweede afstand is gelijk aan de afstand tussen het 2e en 3e punt. Optie geprojecteerd: Tweede afstand is gelijk aan de afstand van de loodrechte projectie van het 3e punt op het segment of het verlengde daarvan.

Voorbeelden

  • 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.76. make_regular_polygon

Maakt een normale polygoon.

Syntaxis

make_regular_polygon(center, radius, number_sides, [circle=0])

[] markeert optionele argumenten

Argumenten

  • center - middelpunt van de normale polygoon

  • radius - tweede punt. Het eerste als de normale polygoon wordt ingeschreven. Het middelpunt van de eerste zijde als de normale polygoon wordt omschreven.

  • number_sides - Aantal zijden/randen van de normale polygoon

  • circle - Optioneel argument om de normale polygoon te construeren. Standaard is deze waarde 0. Waarde mag zijn 0 (ingeschreven) of 1 (omschreven)

Voorbeelden

  • 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.77. make_square

Maakt een vierkant uit een diagonaal.

Syntaxis

make_square(point1, point2)

Argumenten

  • point1 - Eerste punt van de diagonaal

  • point2 - Laatste punt van de diagonaal

Voorbeelden

  • 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.78. make_triangle

Maakt een driehoekige polygoon.

Syntaxis

make_triangle(point1, point2, point3)

Argumenten

  • point1 - eerste punt van de driehoek

  • point2 - tweede punt van de driehoek

  • point3 - derde punt van de driehoek

Voorbeelden

  • 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.79. make_valid

Geeft een geldige geometrie terug of een lege geometrie als de geometrie niet geldig gemaakt kon worden.

Syntaxis

make_valid(geometry, [method=structure], [keep_collapsed=false])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • method - algoritme repareren. Ofwel ‘structure’ of ‘linework’. De optie ‘linework’ combineert alle ringen naar een set verbonden lijnen en neemt dan de geldige polygonen uit dat netwerk uit. De methode ‘structure’ maakt eerst alle ringen geldig en voegt dan schillen samen en trekt gaten af van de schillen om een geldig resultaat te maken. Gaat ervan uit dat gaten en schillen correct zijn gecategoriseerd.

  • keep_collapsed - indien ingesteld op TRUE, dan zullen componenten die zijn ingeklapt naar een lagere dimensionaliteit worden behouden. Bijvoorbeeld een ring die is ingeklapt naar een lijn, of een lijn die is ingeklapt naar een punt.

Voorbeelden

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8, 3 2, 4 2))'))) → ‘Polygoon ((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)')) → Een lege geometrie

Lees verder: is_valid, Geometrieën repareren algorithm

13.2.13.80. minimal_circle

Geeft de minimale omsluitende cirkel van een geometrie terug. Dit vertegenwoordigt de minimale cirkel die alle geometrieën binnen de verzameling omsluit.

Syntaxis

minimal_circle(geometry, [segments=36])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • segments - optioneel argument voor segmenteren van de polygoon. Standaard is deze waarde 36

Voorbeelden

  • 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))’

Lees verder: algoritme Minimale omsluitende cirkels

13.2.13.81. nodes_to_points

Geeft een geometrie multipunt terug, bestaande uit elke knoop in de invoergeometrie.

Syntaxis

nodes_to_points(geometry, [ignore_closing_nodes=false])

[] markeert optionele argumenten

Argumenten

  • geometry - object geometrie

  • ignore_closing_nodes - optioneel argument dat specificeert of duplicaat-knopen, die lijnen of ringen van polygonen sluiten, ook moeten worden opgenomen. Standaard is false, stel in op true om te vermijden dat deze duplicaat-knopen worden opgenomen in de verzameling voor de uitvoer.

Voorbeelden

  • 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))’

Lees verder: algoritme Punten uitnemen

13.2.13.82. num_geometries

Geeft het aantal geometrieën terug uit een verzameling geometrieën, of het aantal delen in een meerdelige geometrie. De functie geeft NULL terug als de invoergeometrie geen verzameling is.

Syntaxis

num_geometries(geometry)

Argumenten

  • geometry - verzameling geometrie of meerdelige geometrie

Voorbeelden

  • 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.83. num_interior_rings

Geeft het aantal binnenste ringen terug uit een polygoon of verzameling van geometrie, of NULL als de invoergeometrie geen polygoon of verzameling van geometrie is.

Syntaxis

num_interior_rings(geometry)

Argumenten

  • geometry - invoergeometrie

Voorbeelden

  • 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.84. num_points

Geeft het aantal punten in een geometrie terug.

Syntaxis

num_points(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • num_points($geometry) → aantal punten in de geometrie van het huidige object

13.2.13.85. num_rings

Geeft het aantal ringen (inclusief buitenste ringen) terug uit een polygoon of verzameling van geometrie, of NULL als de invoergeometrie geen polygoon of verzameling is.

Syntaxis

num_rings(geometry)

Argumenten

  • geometry - invoergeometrie

Voorbeelden

  • 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.86. offset_curve

Geeft een geometrie terug die wordt gevormd door de verspringing van een geometrie lijn naar de kant. Afstanden zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie (multi)lijn

  • distance - afstand voor de verschuiving. Positieve waarden zullen links van de lijn worden gebufferd, negatieve waarden aan de rechterkant

  • segments - aantal te gebruiken segmenten om een kwartcirkel weer te geven als een afgeronde stijl voor samenvoegen wordt gebruikt. Een groter aantal resulteert in een gladdere lijn met meer knopen.

  • join - stijl voor samenvoegen van hoeken, waar 1 = rond, 2 = verstek en 3 = afgeschuind

  • miter_limit - limiet voor de verhouding van het verstek, gebruikt voor zeer scherpe hoeken (alleen bij het gebruiken van samenvoegingen in verstek)

Voorbeelden

  • offset_curve($geometry, 10.5) → verschuiving van de lijn naar links met 10.5 eenheden

  • offset_curve($geometry, -10.5) → verschuiving van de lijn naar rechts met 10.5 eenheden

  • offset_curve($geometry, 10.5, segments:=16, join:=1) → lijn verschoven naar links met 10,5 eenheden, meer segmenten gebruikend wat resulteert in een gladdere boog

  • offset_curve($geometry, 10.5, join:=3) → lijn verschoven naar links met 10,5 eenheden, met een schuine samenvoeging

Lees verder: algoritme Verspringing lijnen

13.2.13.87. order_parts

Sorteert de delen van een MultiGeometrie op opgegeven criteria

Syntaxis

order_parts(geometry, orderby, [ascending=true])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie van het type multi

  • orderby - een tekenreeks voor een expressie die de criteria voor de volgorde definieert

  • ascending - Booleaanse waarde, True voor oplopend, False voor aflopend

Voorbeelden

  • 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.88. oriented_bbox

Geeft een geometrie terug die het minimale georiënteerde begrenzingsvak van een invoergeometrie weergeeft.

Syntaxis

oriented_bbox(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • 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))’

Lees verder: algoritme Georiënteerd minimum begrenzingsvak

13.2.13.89. overlaps

Test of een geometrie een andere overlapt. Geeft TRUE terug als de geometrieën ruimte delen, van dezelfde dimensie zijn, maar niet volledig door elkaar worden omvat.

Syntaxis

overlaps(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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.90. overlay_contains

Geeft terug of het huidige object ruimtelijk minstens één object uit een doellaag bevat, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die zijn opgenomen in het huidige object.

Lees meer over het onderliggende predikaat van GEOS “Contains”, zoals beschreven in de functie voor PostGIS ST_Contains.

Syntaxis

overlay_contains(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_contains('regions') → TRUE als het huidige object ruimtelijk een region bevat

  • overlay_contains('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk een region bevat met een population die groter is dan 10000

  • overlay_contains('regions', name) → een array van namen, voor de regions die zijn opgenomen in het huidige object

  • array_to_string(overlay_contains('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die zijn opgenomen in het huidige object

  • array_sort(overlay_contains(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die zijn opgenomen in het huidige object en met een population die groter is dan 10000

  • overlay_contains(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die zijn opgenomen in het huidige object

Lees verder: contains, array bewerken, algoritme Selecteren op plaats

13.2.13.91. overlay_crosses

Geeft terug of het huidige object ruimtelijk kruist met minstens één object uit een doellaag, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die worden gekruist door het huidige object.

Lees meer over het onderliggende predikaat van GEOS “Crosses”, zoals beschreven in de functie voor PostGIS ST_Crosses.

Syntaxis

overlay_crosses(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_crosses('regions') → TRUE als het huidige object ruimtelijk kruist met een region

  • overlay_crosses('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk kruist met een region met een population die groter is dan 10000

  • overlay_crosses('regions', name) → een array van namen, voor de regions die worden gekruist door het huidige object

  • array_to_string(overlay_crosses('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die worden gekruist door het huidige object

  • array_sort(overlay_crosses(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die worden gekruist door het huidige object en met een population die groter is dan 10000

  • overlay_crosses(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die worden gekruist door het huidige object

Lees verder: crosses, array bewerken, algoritme Selecteren op plaats

13.2.13.92. overlay_disjoint

Geeft terug of het huidige object ruimtelijk is losgekoppeld van alle objecten uit een doellaag bevat, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die zijn losgekoppeld van het huidige object.

Lees meer over het onderliggende predikaat van GEOS “Disjoint”, zoals beschreven in de functie voor PostGIS ST_Disjoint.

Syntaxis

overlay_disjoint(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_disjoint('regions') → TRUE als het huidige object ruimtelijk is losgekoppeld van alle regions

  • overlay_disjoint('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk is losgekoppeld van alle regions met een population die groter is dan 10000

  • overlay_disjoint('regions', name) → een array van namen, voor de regions die ruimtelijk zijn losgekoppeld van het huidige object

  • array_to_string(overlay_disjoint('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die ruimtelijk zijn losgekoppeld van het huidige object

  • array_sort(overlay_disjoint(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die ruimtelijk zijn losgekoppeld van het huidige object en met een population die groter is dan 10000

  • overlay_disjoint(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die ruimtelijk zijn losgekoppeld van het huidige object

Lees verder: disjoint, array bewerken, algoritme Selecteren op plaats

13.2.13.93. overlay_equals

Geeft terug of het huidige object ruimtelijk gelijk is aan minstens één object uit een doellaag, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die ruimtelijk gelijk zijn aan het huidige object.

Lees meer over het onderliggende predikaat van GEOS “Equals”, zoals beschreven in de functie voor PostGIS ST_Equals.

Syntaxis

overlay_equals(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_equals('regions') → TRUE als het huidige object ruimtelijk gelijk is aan een region

  • overlay_equals('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk gelijk is aan een region met een population die groter is dan 10000

  • overlay_equals('regions', name) → een array van namen, voor de regions die ruimtelijk gelijk zijn aan het huidige object

  • array_to_string(overlay_equals('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die ruimtelijk gelijk zijn aan het huidige object

  • array_sort(overlay_equals(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die ruimtelijk gelijk zijn aan het huidige object en met een population die groter is dan 10000

  • overlay_equals(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die ruimtelijk gelijk zijn aan het huidige object

Lees verder: array bewerken, algoritme Selecteren op plaats

13.2.13.94. overlay_intersects

Geeft terug of het huidige object ruimtelijk minstens één object uit een doellaag kruist, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die het huidige object kruist.

Lees meer over het onderliggende predikaat van GEOS “Intersects”, zoals beschreven in de functie voor PostGIS ST_Intersects.

Syntaxis

overlay_intersects(layer, [expression], [filter], [limit], [cache=false], [min_overlap], [min_inscribed_circle_radius], [return_details], [sort_by_intersection_size])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

  • min_overlap - definieert een optioneel filter voor uitsluiting:

    • voor polygonen, een minimum gebied in vierkante eenheden van het huidige object voor de kruising. Als de resultaten van de kruising resulteert in meerdere polygonen zal de kruising worden teruggegeven als tenminste één van de polygonen een gebied heeft dat groter of gelijk is aan de waarde.

    • voor lijnen, een minimum gebied in eenheden van het huidige object. Als de resultaten van de kruising resulteert in meerdere lijnen zal de kruising worden teruggegeven als tenminste één van de polygonen een lengte heeft die groter of gelijk is aan de waarde.

  • min_inscribed_circle_radius - definieert een optioneel filter voor uitsluiting (alleen voor polygonen): minimum straal in eenheden voor het huidige object voor de maximale ingesloten cirkel van de kruising. Als de resultaten van de kruising resulteert in meerdere polygonen zal de kruising worden teruggegeven als tenminste één van de polygonen een straal voor de maximale ingesloten cirkel heeft die groter of gelijk is aan de waarde.

    Lees meer over het onderliggende predikaat van GEOS, zoals beschreven in de functie voor PostGIS ST_MaximumInscribedCircle.

    Dit argument vereist GEOS >= 3.9.

  • return_details - Stel dit in op TRUE om een lijst kaarten terug te geven die (sleutel namen tussen aanhalingstekens) het object ‘id’, de expressie ‘result’ en de waarde ‘overlap’ bevatten. De ‘straal’ van de maximale ingesloten cirkel wordt ook teruggegeven als de doellaag een polygoon is. Alleen geldig indien gebruikt met de parameter expression

  • sort_by_intersection_size - alleen geldig indien gebruikt met een expressie, stel dit in op ‘des’ om de resultaten weer te geven in de volgorde van de waarde overlap in aflopende volgorde of stel het in op ‘asc’ voor oplopende volgorde.

Voorbeelden

  • overlay_intersects('regions') → TRUE als het huidige object ruimtelijk een region kruist

  • overlay_intersects('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk een region kruist met een population die groter is dan 10000

  • overlay_intersects('regions', name) → een array van namen, voor de regions gekruist door het huidige object

  • array_to_string(overlay_intersects('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions gekruist door het huidige object

  • array_sort(overlay_intersects(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions gekruist door het huidige object en met een population die groter is dan 10000

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions gekruist door het huidige object

  • overlay_intersects(layer:='regions', min_overlap:=0.54) → TRUE als het huidige object ruimtelijk een region kruist en het gebied van de kruising (of tenminste één van de delen in het geval van multipolygonen) is groter of gelijk aan 0.54

  • overlay_intersects(layer:='regions', min_inscribed_circle_radius:=0.54) → TRUE als het huidige object ruimtelijk een region kruist en de maximale ingesloten cirkel van het gebied van de kruising (of tenminste één van de delen in het geval van multipolygonen) is groter of gelijk aan 0.54

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt($geometry), return_details:=true) → een array van kaarten die ‘id’, ‘result’, ‘overlap’ en ‘radius’ bevatten

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt($geometry), sort_by_intersection_size:='des') → een array van geometrieën (in WKT) op volgorde van de waarde overlap in aflopende volgorde

Lees verder: intersects, array bewerken, algoritme Selecteren op plaats

13.2.13.95. overlay_nearest

Geeft terug of het huidige object binnen een bepaalde afstand object(en) heeft uit een doellaag, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag binnen een bepaalde afstand van het huidige object.

Opmerking: Deze functie kan erg traag zijn en veel geheugen gebruiken voor grote lagen.

Syntaxis

overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de doellaag

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gebruikt.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zal alleen het dichtstbijzijnde object worden teruggegeven. Indien ingesteld op -1, geeft het alle overeenkomende objecten terug.

  • max_distance - een optionele afstand om het zoeken naar overeenkomende objecten te beperken. Indien niet ingesteld zullen alle objecten van de doellaag worden gebruikt.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_nearest('airports') → TRUE als de laag “airports” minstens één object heeft

  • overlay_nearest('airports', max_distance:= 5000) → TRUE als er een vliegveld is binnen een afstand van 5000 kaarteenheden vanaf het huidige object

  • overlay_nearest('airports', name) → de naam van het dichtstbijzijnde vliegveld tot het huidige object, als een array

  • array_to_string(overlay_nearest('airports', name)) → de naam van het dichtstbijzijnde vliegveld tot het huidige object, als een tekenreeks

  • overlay_nearest(layer:='airports', expression:= name, max_distance:= 5000) → de naam van het dichtstbijzijnde vliegveld binnen een afstand van 5000 kaarteenheden vanaf het huidige object, als een array

  • overlay_nearest(layer:='airports', expression:="name", filter:= "Use"='Civilian', limit:=3) → een array van namen, voor ten hoogste drie dichtstbijzijnde burgerlijke vliegvelden, gesorteerd op afstand

  • overlay_nearest(layer:='airports', expression:="name", limit:= -1, max_distance:= 5000) → een array van namen, voor alle vliegvelden binnen een afstand van 5000 kaarteenheden vanaf het huidige object, gesorteerd op afstand

Lees verder: array bewerken, algoritme Koppel attributen op dichtstbijzijnde

13.2.13.96. overlay_touches

Geeft terug of het huidige object ruimtelijk één object uit een doellaag raakt, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die worden geraakt door het huidige object.

Lees meer over het onderliggende predikaat van GEOS “Touches”, zoals beschreven in de functie voor PostGIS ST_Touches.

Syntaxis

overlay_touches(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_touches('regions') → TRUE als het huidige object ruimtelijk een region raakt

  • overlay_touches('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk een region raakt met een population die groter is dan 10000

  • overlay_touches('regions', name) → een array van namen, voor de regions die worden geraakt door het huidige object

  • string_to_array(overlay_touches('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die worden geraakt door het huidige object

  • array_sort(overlay_touches(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die worden geraakt door het huidige object en met een population die groter is dan 10000

  • overlay_touches(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die worden geraakt door het huidige object

Lees verder: touches, array bewerken, algoritme Selecteren op plaats

13.2.13.97. overlay_within

Geeft terug of het huidige object ruimtelijk binnen minstens één object uit een doellaag ligt, of een array van op een expressie gebaseerde resultaten voor de objecten in de doellaag die het huidige object bevatten.

Lees meer over het onderliggende predikaat van GEOS “Within”, zoals beschreven in de functie voor PostGIS ST_Within.

Syntaxis

overlay_within(layer, [expression], [filter], [limit], [cache=false])

[] markeert optionele argumenten

Argumenten

  • layer - de laag waarvan de overleg wordt gecontroleerd

  • expression - een optionele expressie die moet worden geëvalueerd met de objecten van de doellaag. Indien niet ingesteld zal de functie slechts een Booleaanse waarde teruggeven die aangeeft of er tenminste één overeenkomst is.

  • filter - een optionele expressie om de te controleren doelobjecten te filteren. Indien niet ingesteld zullen alle objecten worden gecontroleerd.

  • limit - een optioneel geheel getal (integer) om het aantal overeenkomende objecten te beperken. Indien niet ingesteld zullen alle overeenkomende objecten worden teruggegeven.

  • cache - stel dit in op true om een lokale ruimtelijke index te bouwen (dit is meestal niet gewenst, tenzij u werkt met een bijzonder trage gegevensprovider)

Voorbeelden

  • overlay_within('regions') → TRUE als het huidige object ruimtelijk in een region ligt

  • overlay_within('regions', filter:= population > 10000) → TRUE als het huidige object ruimtelijk in een region ligt met een population die groter is dan 10000

  • overlay_within('regions', name) → een array van namen, voor de regions die het huidige object bevatten

  • array_to_string(overlay_within('regions', name)) → een tekenreeks als een kommagescheiden lijst van namen, voor de regions die het huidige object bevatten

  • array_sort(overlay_within(layer:='regions', expression:="name", filter:= population > 10000)) → een gesorteerde array van namen, voor de regions die het huidige object bevatten en met een population die groter is dan 10000

  • overlay_within(layer:='regions', expression:= geom_to_wkt($geometry), limit:=2) → een array van geometrieën (in WKT), voor maximaal twee regions die het huidige object bevatten

Lees verder: within, array bewerken, algoritme Selecteren op plaats

13.2.13.98. $perimeter

Geeft de lengte van de perimeter van het huidige object terug. De door deze functie berekende perimeter respecteert zowel de instelling van de ellipsoïde voor het huidige project als de instellingen voor eenheden voor afstand. Als, bijvoorbeeld, een ellipsoïde is ingesteld voor het project, dan zal de berekende perimeter ellipsoïde zijn, en als er geen ellipsoïde is ingesteld, dan zal de perimeter planimetrisch zijn.

Syntaxis

$perimeter

Voorbeelden

  • $perimeter → 42

13.2.13.99. perimeter

Geeft de perimeter terug van een geometrie-object polygoon. Berekeningen zijn altijd planimetrisch in het ruimtelijke referentiesysteem (SRS) van deze geometrie, en de eenheden van de teruggegeven perimeter komen overeen met de eenheden voor het SRS. Dit verschilt van de door de functie $perimeter uitgevoerde berekeningen, die ellipsoïde berekeningen zal uitvoeren, gebaseerd op de instellingen voor de ellipsoïde van het project en eenheden voor de afstanden.

Syntaxis

perimeter(geometry)

Argumenten

  • geometry - geometrie-object polygoon

Voorbeelden

  • perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))')) → 12.0

13.2.13.100. point_n

Geeft een specifieke knoop van een geometrie terug.

Syntaxis

point_n(geometry, index)

Argumenten

  • geometry - object geometrie

  • index - index van terug te geven knoop, waar 1 de eerste knoop is; als de waarde negatief is, zal de geselecteerde index voor het punt zijn totale aantal minus de absolute waarde zijn

Voorbeelden

  • geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2)) → ‘Point (4 0)’

Lees verder: algoritme Specifieke punten uitnemen

13.2.13.101. point_on_surface

Geeft een punt terug dat gegarandeerd is gelegen op het oppervlak van een geometrie.

Syntaxis

point_on_surface(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • point_on_surface($geometry) → een geometrie punt

Lees verder: algoritme Punt op oppervlak

13.2.13.102. pole_of_inaccessibility

Berekent de geschatte Pool van Ontoegankelijkheid voor een oppervlak, wat het meest veraf gelegen interne punt is vanaf de grens van het oppervlak. Deze functie gebruikt het algoritme ‘polylabel’ (Vladimir Agafonkin, 2016), wat een iteratieve benadering is die gegarandeerd het ware punt van de Pool van Ontoegankelijkheid vind binnen een gespecificeerde tolerantie. Meer preciezere tolerantie vereist meer doorlopen en zullen langer duren om te berekenen.

Syntaxis

pole_of_inaccessibility(geometry, tolerance)

Argumenten

  • geometry - een geometrie

  • tolerance - maximale afstand tussen het teruggegeven punt en de locatie van de ware pool

Voorbeelden

  • 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)’

Lees verder: algoritme Pool van ontoegankelijkheid

13.2.13.103. project

Geeft een geprojecteerd punt terug vanaf een beginpunt met een afstand, richting (azimut) en een hoogte in radialen.

Syntaxis

project(point, distance, azimuth, [elevation])

[] markeert optionele argumenten

Argumenten

  • point - beginpunt

  • distance - te projecteren afstand

  • azimuth - azimut in radialen, met de wijzers van de klok mee, waar 0 overeenkomt met noord

  • elevation - hoek van de helling in radialen

Voorbeelden

  • geom_to_wkt(project(make_point(1, 2), 3, radians(270))) → ‘Point(-2, 2)’

Lees verder: algoritme Punten projecteren (Cartesiaans)

13.2.13.104. relate

Test de weergave Dimensional Extended 9 Intersection Model (DE-9IM) van de relatie tussen twee geometrieën.

Variant Relatie

Geeft de weergave Dimensional Extended 9 Intersection Model (DE-9IM) van de relatie tussen twee geometrieën weer.

Syntaxis

relate(geometry, geometry)

Argumenten

  • geometry - een geometrie

  • geometry - een geometrie

Voorbeelden

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) ) → ‘FF1F00102’

Variant Overeenkomst patroon

Test of de relatie DE-9IM tussen twee geometrieën overeenkomt met een gespecificeerd patroon.

Syntaxis

relate(geometry, geometry, pattern)

Argumenten

  • geometry - een geometrie

  • geometry - een geometrie

  • pattern - het patroon voor DE-9IM dat overeen moet komen

Voorbeelden

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' ) → TRUE

13.2.13.105. reverse

Draait de richting van een lijn om door de volgorde van zijn punten om te draaien.

Syntaxis

reverse(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ‘LINESTRING(2 2, 1 1, 0 0)’

Lees verder: algoritme Omgekeerde lijnrichting

13.2.13.106. rotate

Geeft de geroteerde versie van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

rotate(geometry, rotation, [center=NULL], [per_part=false])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • rotation - rotatie in graden met de wijzers van de klok mee

  • center - middelpunt van de rotatie. Indien niet gespecificeerd wordt het midden van het begrenzingsvak van de geometrie gebruikt

  • per_part - rotatie per deel toepassen. Indien TRUE, dan zal de rotatie worden toegepast rondom het midden van het begrenzingsvak van elk deel als de invoergeometrie meerdelig is en een expliciet punt voor de rotatie niet is gespecificeerd.

Voorbeelden

  • rotate($geometry, 45, make_point(4, 5)) → geometrie 45 graden geroteerd, met de wijzers van de klok mee, rond het punt (4, 5)

  • rotate($geometry, 45) → geometrie 45 graden geroteerd, met de wijzers van de klok mee, rond het middelpunt van zijn begrenzingsvak

../../../_images/rotate.gif

Fig. 13.7 Objecten roteren

13.2.13.107. roundness

Berekent hoe dichtbij de vorm van een polygoon is bij een cirkel. De functie geeft TRUE terug als de vorm van de polygoon een perfecte cirkel is en 0 als hij volledig vlak is.

Syntaxis

roundness(geometry)

Argumenten

  • geometry - een polygoon

Voorbeelden

  • 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

Lees verder: algoritme Rondheid

13.2.13.108. scale

Geeft een geschaalde versie van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

scale(geometry, x_scale, y_scale, [center])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • x_scale - schaalfactor X-as

  • y_scale - schaalfactor Y-as

  • center - middelpunt van het op schaal brengen. Indien niet gespecificeerd wordt het midden van het begrenzingsvak van de geometrie gebruikt

Voorbeelden

  • scale($geometry, 2, 0.5, make_point(4, 5)) → geometrie tweemaal horizontaal geschaald en verticaal gehalveerd, rond het punt (4, 5)

  • scale($geometry, 2, 0.5, make_point(4, 5)) → geometrie tweemaal horizontaal geschaald en verticaal gehalveerd, rond het middelpunt van zijn begrenzingsvak

13.2.13.109. segments_to_lines

Geeft een geometrie multilijn terug, bestaande uit een lijn voor elk segment in de invoergeometrie.

Syntaxis

segments_to_lines(geometry)

Argumenten

  • geometry - object geometrie

Voorbeelden

  • 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))’

Lees verder: algoritme Lijnen uitvergroten

13.2.13.110. shared_paths

Geeft een verzameling terug die paden bevat die worden gedeeld door de twee invoergeometrieën. Die welke in dezelfde richting gaan staan in het eerste element van de verzameling, die welke in tegengestelde richting gaan staan in het tweede element. De paden zelf worden gegeven in de richting van de eerste geometrie.

Syntaxis

shared_paths(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie LineString/MultiLineString

  • geometry2 - een geometrie LineString/MultiLineString

Voorbeelden

  • 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)'))) → ‘GeometrieVerzameling (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))'))) → ‘GeometrieVerzameling (MultiLineString EMPTY,MultiLineString ((76 175, 90 161),(90 161, 101 150),(126 125, 126 156.25)))’

13.2.13.111. shortest_line

Geeft de kortste lijn terug die geometry1 en geometry2 met elkaar verbindt. De resulterende lijn zal beginnen op geometry1 en eindigen op geometry2.

Syntaxis

shortest_line(geometry1, geometry2)

Argumenten

  • geometry1 - geometrie waar vandaan de kortste lijn moet worden gezocht

  • geometry2 - geometrie waarnaar de kortste lijn moet worden gevonden

Voorbeelden

  • 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.112. simplify

Vereenvoudigt een geometrie door knopen te verwijderen vanaf een afstand die is gebaseerd op een drempelwaarde (d.i, het algoritme Douglas Peucker). Het algoritme behoudt grote afwijkingen in geometrieën en verkleint het aantal punten op nagenoeg rechte segmenten.

Syntaxis

simplify(geometry, tolerance)

Argumenten

  • geometry - een geometrie

  • tolerance - maximale afwijking van rechte segmenten voor de te verwijderen punten

Voorbeelden

  • geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5)) → ‘LineString(0 0, 10 0)’

Lees verder: algoritme Vereenvoudigen

13.2.13.113. simplify_vw

Vereenvoudigt een geometrie door knopen te verwijderen op een op een gebied gebaseerde drempelwaarde (d.i, het algoritme Visvalingam-Whyatt). Het algoritme verwijdert punten die kleine gebieden vormen in geometrieën, bijv. kleine uitsteeksels of nagenoeg rechte segmenten.

Syntaxis

simplify_vw(geometry, tolerance)

Argumenten

  • geometry - een geometrie

  • tolerance - een meting van het maximale gebied dat door een knoop wordt gemaakt voor de te verwijderen knoop

Voorbeelden

  • 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)’

Lees verder: algoritme Vereenvoudigen

13.2.13.114. single_sided_buffer

Geeft een geometrie terug die wordt gevormd door slechts één zijde van een geometrie lijn te bufferen. Afstanden zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie (multi)lijn

  • distance - bufferafstand. Positieve waarden zullen links van de lijnen worden gebufferd, negatieve waarden aan de rechterkant

  • segments - aantal te gebruiken segmenten om een kwartcirkel weer te geven als een afgeronde stijl voor samenvoegen wordt gebruikt. Een groter aantal resulteert in een gladdere buffer met meer knopen.

  • join - stijl voor samenvoegen van hoeken, waar 1 = rond, 2 = verstek en 3 = afgeschuind

  • miter_limit - limiet voor de verhouding van het verstek, gebruikt voor zeer scherpe hoeken (alleen bij het gebruiken van samenvoegingen in verstek)

Voorbeelden

  • single_sided_buffer($geometry, 10.5) → lijn, gebufferd aan de linkerkant met 10.5 eenheden

  • single_sided_buffer($geometry, -10.5) → lijn, gebufferd aan de rechterkant met 10.5 eenheden

  • single_sided_buffer($geometry, 10.5, segments:=16, join:=1) → lijn gebufferd naar links met 10,5 eenheden, meer segmenten gebruikend wat resulteert in een gladdere buffer

  • single_sided_buffer($geometry, 10.5, join:=3) → lijn gebufferd naar links met 10,5 eenheden, met een schuine samenvoeging

Lees verder: algoritme Enkelzijdige buffer

13.2.13.115. sinuosity

Geeft de bochtigheidscoëfficiënt van een boog terug, wat de verhouding is tussen de lengte van de boog ten opzichte van de rechte (2D) afstand tussen zijn eindpunten.

Syntaxis

sinuosity(geometry)

Argumenten

  • geometry - Invoer boog (circularstring, linestring)

Voorbeelden

  • 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.116. smooth

Maakt een geometrie gladder door het toevoegen van extra knopen die hoeken in de geometrie afronden. Als invoergeometrieën waarden Z of M bevatten, zullen deze ook gladder worden gemaakt en de uitvoergeometrie zal dezelfde dimensie behouden als de invoergeometrie.

Syntaxis

smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • iterations - aantal doorlopen om gladder te maken die moet worden toegepast. Hogere getallen resulteren in gladdere, maar meer complexe geometrieën.

  • offset - waarde tussen 0 en 0.5 die beheert hoe “nauw” de afgevlakte geometrieën de originele geometrieën volgen. Kleinere waarden resulteren in nauwer glad maken, grotere waarden resulteren in losser glad maken.

  • min_length - minimale lengte van segmenten waarop gladder maken moet worden toegepast. Deze parameter kan worden gebruikt om het plaatsen van teveel aanvullende knopen in kortere segmenten van de geometrie te vermijden.

  • max_angle - maximale hoek voor de knoop waarop gladder maken moet worden toegepast (0-180). Door de maximale hoek te verlagen kunnen opzettelijke scherpe hoeken in de geometrie worden behouden. Een waarde van, bijvoorbeeld, 80 graden zal rechte hoeken in de geometrie behouden.

Voorbeelden

  • 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)’

Lees verder: algoritme Glad maken

13.2.13.117. square_wave

Construeert vierkante/rechthoekige golven rondom de grens van een geometrie.

Syntaxis

square_wave(geometry, wavelength, amplitude, [strict=False])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • wavelength - lengte golf van vierkante vorm golf

  • amplitude - grootte van vierkante vorm golf

  • strict - Standaard wordt het argument wavelength behandeld als een “maximum wavelength”, waar de feitelijk golflengte dynamisch zal worden aangepast, zodat een exact aantal vierkante golven wordt gemaakt langs de grenzen van de geometrie. Als het argument strict is ingesteld op true dan zal de golflengte exact worden gebruikt, en een onvolledig patroon kan worden gebruikt voor de uiteindelijke vorm van de golf.

Voorbeelden

  • square_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Vierkante golven met golflengte 3 en grootte 1 langs de lijn

13.2.13.118. square_wave_randomized

Construeert willekeurige vierkante/rechthoekige golven rondom de grens van een geometrie.

Syntaxis

square_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • min_wavelength - minimum golflengte van de golven

  • max_wavelength - maximum golflengte van de golven

  • min_amplitude - minimum grootte van de golven

  • max_amplitude - maximum grootte van de golven

  • seed - specificeert een willekeurig zaad voor het maken van golven. Als zaad 0 is, dan zal een volledig willekeurige set golven worden gemaakt.

Voorbeelden

  • square_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Vierkante golven met willekeurige grootte met golflengten tussen 2 en 3 en groottes tussen 0.1 en 0.2 langs de lijn

13.2.13.119. start_point

Geeft de eerste knoop van een geometrie terug.

Syntaxis

start_point(geometry)

Argumenten

  • geometry - object geometrie

Voorbeelden

  • geom_to_wkt(start_point(geom_from_wkt('LINESTRING(4 0, 4 2, 0 2)'))) → ‘Point (4 0)’

Lees verder: algoritme Specifieke punten uitnemen

13.2.13.120. straight_distance_2d

Geeft de directe/euclidische afstand terug tussen het eerste en laatste punt van een geometrie. De geometrie moet een boog zijn (circularstring, linestring).

Syntaxis

straight_distance_2d(geometry)

Argumenten

  • geometry - De geometrie.

Voorbeelden

  • 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

Lees verder: length

13.2.13.121. sym_difference

Geeft een geometrie terug die het gedeelde deel weergeeft van twee geometrieën die elkaar niet kruisen.

Syntaxis

sym_difference(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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)’

Lees verder: algoritme Symmetrisch verschil

13.2.13.122. tapered_buffer

Maakt een buffer langs een geometrie lijn waarbij de diameter van de buffer gelijkmatig varieert over de lengte van de lijn.

Syntaxis

tapered_buffer(geometry, start_width, end_width, [segments=8])

[] markeert optionele argumenten

Argumenten

  • geometry - invoergeometrie. Moet een geometrie (multi)lijn zijn.

  • start_width - breedte van de buffer aan het begin van de lijn,

  • end_width - breedte van de buffer aan het einde van de lijn.

  • segments - aantal segmenten om bogen van een kwartcirkel te benaderen in de buffer.

Voorbeelden

  • tapered_buffer(geometry:=geom_from_wkt('LINESTRING(1 2, 4 2)'),start_width:=1,end_width:=2,segments:=8) → Een taps toelopende buffer, beginnend met een diameter van 0.5 en eindigend met een diameter van 0.2 langs de geometrie lijn.

../../../_images/tapered_buffer.png

Fig. 13.8 Taps toelopende buffer op objecten Lijn

Lees verder: algoritme Taps toelopende buffers

13.2.13.123. touches

Test of een geometrie een andere raakt. Geeft TRUE terug als de geometrieën tenminste één gemeenschappelijk punt hebben, maar hun interieurs niet kruisen.

Syntaxis

touches(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_touches

13.2.13.124. transform

Geeft de getransformeerde geometrie terug van het bron-CRS naar het doel-CRS.

Syntaxis

transform(geometry, source_auth_id, dest_auth_id)

Argumenten

  • geometry - een geometrie

  • source_auth_id - het ID van het bron-CRS

  • dest_auth_id - het ID van het doel-CRS

Voorbeelden

  • geom_to_wkt( transform( make_point(488995.53240249, 7104473.38600835), 'EPSG:2154', 'EPSG:4326' ) ) → ‘POINT(0 51)’

Lees verder: algoritme Laag opnieuw projecteren

13.2.13.125. translate

Geeft een vertaalde versie van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

translate(geometry, dx, dy)

Argumenten

  • geometry - een geometrie

  • dx - delta X

  • dy - delta Y

Voorbeelden

  • translate($geometry, 5, 10) → een geometrie van hetzelfde type als de originele

../../../_images/translate_geometry.png

Fig. 13.9 Objecten vertalen

Lees verder: algoritme Transleren

13.2.13.126. triangular_wave

Construeert driehoekige golven rondom de grens van een geometrie.

Syntaxis

triangular_wave(geometry, wavelength, amplitude, [strict=False])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • wavelength - lengte golf van driehoekige vorm golf

  • amplitude - grootte van driehoekige vorm golf

  • strict - Standaard wordt het argument wavelength behandeld als een “maximum wavelength”, waar de feitelijk golflengte dynamisch zal worden aangepast, zodat een exact aantal driehoekige golven wordt gemaakt langs de grenzen van de geometrie. Als het argument strict is ingesteld op true dan zal de golflengte exact worden gebruikt, en een onvolledig patroon kan worden gebruikt voor de uiteindelijke vorm van de golf.

Voorbeelden

  • triangular_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Driehoekige golven met golflengte 3 en grootte 1 langs de lijn

13.2.13.127. triangular_wave_randomized

Construeert willekeurige driehoekige golven rondom de grens van een geometrie.

Syntaxis

triangular_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • min_wavelength - minimum golflengte van de golven

  • max_wavelength - maximum golflengte van de golven

  • min_amplitude - minimum grootte van de golven

  • max_amplitude - maximum grootte van de golven

  • seed - specificeert een willekeurig zaad voor het maken van golven. Als zaad 0 is, dan zal een volledig willekeurige set golven worden gemaakt.

Voorbeelden

  • `triangular_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Driehoekige golven met willekeurige grootte met golflengten tussen 2 en 3 en groottes tussen 0.1 en 0.2 langs de lijn

13.2.13.128. union

Geeft een geometrie terug die de verenigde verzameling van punten weergeeft van de geometrieën.

Syntaxis

union(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • geom_to_wkt( union( make_point(4, 4), make_point(5, 5) ) ) → ‘MULTIPOINT(4 4, 5 5)’

13.2.13.129. wave

Construeert afgeronde (sinus-achtige) golven rondom de grens van een geometrie.

Syntaxis

wave(geometry, wavelength, amplitude, [strict=False])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • wavelength - lengte golf van sinus-achtige vorm golf

  • amplitude - grootte van sinus-achtige vorm golf

  • strict - Standaard wordt het argument wavelength behandeld als een “maximum wavelength”, waar de feitelijk golflengte dynamisch zal worden aangepast, zodat een exact aantal golven wordt gemaakt langs de grenzen van de geometrie. Als het argument strict is ingesteld op true dan zal de golflengte exact worden gebruikt, en een onvolledig patroon kan worden gebruikt voor de uiteindelijke vorm van de golf.

Voorbeelden

  • wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Sinus-achtige golven met golflengte 3 en grootte 1 langs de lijn

13.2.13.130. wave_randomized

Construeert willekeurige gebogen (sinus-achtige) golven rondom de grens van een geometrie.

Syntaxis

wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0])

[] markeert optionele argumenten

Argumenten

  • geometry - een geometrie

  • min_wavelength - minimum golflengte van de golven

  • max_wavelength - maximum golflengte van de golven

  • min_amplitude - minimum grootte van de golven

  • max_amplitude - maximum grootte van de golven

  • seed - specificeert een willekeurig zaad voor het maken van golven. Als zaad 0 is, dan zal een volledig willekeurige set golven worden gemaakt.

Voorbeelden

  • wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Gebogen golven met willekeurige grootte met golflengten tussen 2 en 3 en groottes tussen 0.1 en 0.2 langs de lijn

13.2.13.131. wedge_buffer

Geeft een wigvormige buffer terug, afkomstig uit een geometrie punt.

Syntaxis

wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0])

[] markeert optionele argumenten

Argumenten

  • center - middelpunt (origine) van de buffer. Moet een geometrie punt zijn.

  • azimuth - hoek (in graden) voor waar het midden van de wig naartoe moet wijzen.

  • width - breedte buffer (in graden). Onthoud dat de wig zich zal uitstrekken tot de helft van de breedte van de hoek aan elke zijde van de richting van de azimut.

  • outer_radius - buitenste straal voor de buffers

  • inner_radius - optionele binnenste straal voor de buffers

Voorbeelden

  • wedge_buffer(center:=geom_from_wkt('POINT(1 2)'),azimuth:=90,width:=180,outer_radius:=1) → Een wigvormige buffer, gecentreerd op het punt (1,2), gaande in oostelijk richting, met een breedte van 180 graden en een buitenste straal van 1.

Lees verder: algoritme Wigvormige buffers maken

13.2.13.132. within

Test of een geometrie in een andere ligt. Geeft TRUE terug als geometry1 volledig binnen geometry2 ligt.

Syntaxis

within(geometry1, geometry2)

Argumenten

  • geometry1 - een geometrie

  • geometry2 - een geometrie

Voorbeelden

  • 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

Lees verder: overlay_within

13.2.13.133. $x

Geeft de X-coördinaat van het huidige geometrie punt terug. Als het object een object multipunt is, dan zal de X-coördinaat van het eerste punt worden teruggegeven.

Syntaxis

$x

Voorbeelden

  • $x → 42

13.2.13.134. x

Geeft de X-coördinaat van een geometrie punt terug, of de X-coördinaat van het zwaartepunt van een geometrie niet-punt.

Syntaxis

x(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • x( geom_from_wkt( 'POINT(2 5)' ) ) → 2

  • x( $geometry ) → X-coördinaat van het zwaartepunt van het huidige object

13.2.13.135. $x_at

Haalt een X-coördinaat op van de geometrie van het huidige object.

Syntaxis

$x_at(i)

Argumenten

  • i - index van een punt van een lijn (indices beginnen met 0; negatieve waarden zijn van toepassing vanaf de laatste index, beginnend met -1)

Voorbeelden

  • $x_at(1) → 5

13.2.13.136. x_max

Geeft de maximum X-coördinaat van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

x_max(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 4

13.2.13.137. x_min

Geeft de minimum X-coördinaat van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

x_min(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 2

13.2.13.138. $y

Geeft de Y-coördinaat van het huidige geometrie punt terug. Als het object een object multipunt is, dan zal de Y-coördinaat van het eerste punt worden teruggegeven.

Syntaxis

$y

Voorbeelden

  • $y → 42

13.2.13.139. y

Geeft de Y-coördinaat van een geometrie punt terug, of de Y-coördinaat van het zwaartepunt van een geometrie niet-punt.

Syntaxis

y(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • y( geom_from_wkt( 'POINT(2 5)' ) ) → 5

  • y( $geometry ) → Y-coördinaat van het zwaartepunt van het huidige object

13.2.13.140. $y_at

Haalt een Y-coördinaat op van de geometrie van het huidige object.

Syntaxis

$y_at(i)

Argumenten

  • i - index van een punt van een lijn (indices beginnen met 0; negatieve waarden zijn van toepassing vanaf de laatste index, beginnend met -1)

Voorbeelden

  • $y_at(1) → 2

13.2.13.141. y_max

Geeft de maximum Y-coördinaat van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

y_max(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 8

13.2.13.142. y_min

Geeft de minimum Y-coördinaat van een geometrie terug. Berekeningen zijn in het ruimtelijke referentiesysteem van deze geometrie.

Syntaxis

y_min(geometry)

Argumenten

  • geometry - een geometrie

Voorbeelden

  • y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 5

13.2.13.143. $z

Geeft de Z-waarde van het huidige object punt terug als het 3D is. Als het object een object multipunt is, dan zal de Z-waarde van het eerste punt worden teruggegeven.

Syntaxis

$z

Voorbeelden

  • $z → 123

13.2.13.144. z

Geeft de Z-coördinaat van een geometrie punt terug, of NULL als de geometrie geen waarde Z heeft.

Syntaxis

z(geometry)

Argumenten

  • geometry - een geometrie punt

Voorbeelden

  • z( geom_from_wkt( 'POINTZ(2 5 7)' ) ) → 7

13.2.13.145. z_max

Geeft de maximum Z-coördinaat van een geometrie terug, of NULL als de geometrie geen waarde Z heeft.

Syntaxis

z_max(geometry)

Argumenten

  • geometry - een geometrie met een Z-coördinaat

Voorbeelden

  • 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.146. z_min

Geeft de minimum Z-coördinaat van een geometrie terug, of NULL als de geometrie geen waarde Z heeft.

Syntaxis

z_min(geometry)

Argumenten

  • geometry - een geometrie met een Z-coördinaat

Voorbeelden

  • 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. Functies voor lay-out

Deze groep bevat functies waarmee u eigenschappen voor items van lay-out kunt bewerken.

13.2.14.1. item_variables

Geeft een kaart van variabelen terug uit een item van lay-out binnen deze afdruklay-out.

Syntaxis

item_variables(id)

Argumenten

  • id - ID van het item van afdruklay-out

Voorbeelden

  • map_get( item_variables('Map 0'), 'map_scale') → schaal van het item ‘Map 0’ in de huidige afdruyklay-out

Lees verder: Lijst van standaard variabelen

13.2.14.2. map_credits

Geeft een lijst tekenreeksen met naamsvermelding (gebruiksrechten) terug voor de lagen die worden weergegeven in een lay-outitem Kaart.

Syntaxis

map_credits(id, [include_layer_names=false], [layer_name_separator=’: ‘])

[] markeert optionele argumenten

Argumenten

  • id - kaartitem ID

  • include_layer_names - Stel in op true om de laagnamen op te nemen vóór hun tekenreeksen met naamsvermelding

  • layer_name_separator - Tekenreeks om in te voegen tussen laagnamen en hun tekenreeksen voor naamsvermelding, als include_layer_names is ingesteld op true

Voorbeelden

  • array_to_string( map_credits( 'Main Map' ) ) → kommagescheiden lijst met naamsvermeldingen voor de lagen die worden weergegeven in het lay-outitem ‘Main Map’, bijv. ‘CC-BY-NC, CC-BY-SA’

  • array_to_string( map_credits( 'Main Map', include_layer_names := true, layer_name_separator := ': ' ) ) → kommagescheiden lijst met laagnamen en hun naamsvermeldingen voor de lagen die worden weergegeven in het lay-outitem ‘Main Map’,, bijv. ‘Spoorwegen: CC-BY-NC, Basiskaart: CC-BY-SA’

Deze functie vereist dat de Access metadata properties van de lagen zijn gevuld.

13.2.15. Lagen

Deze groep bevat een lijst van de beschikbare lagen in het huidige project en, voor elke laag, hun velden (opgeslagen in de gegevensset, virtueel of die van de hulpopslag, als ook van samenvoegingen). De velden kunnen op dezelfde manier worden bewerkt als vermeld in Velden en waarden, behalve dat een dubbelklik de naam als een tekenreeks zal toevoegen (enkele aanhalingstekens) voor de expressie in plaats van als een opgegeven verwijzing naar een veld dat zij niet behoren tot de actieve laag. Dit biedt een handige manier om expressies te schrijven die verwijzen naar andere lagen, zoals bij het uitvoeren van query’s samenvoegen, attributen of ruimtelijk.

Het verschaft ook enkele handige functies om lagen te bewerken.

13.2.15.1. decode_uri

Neemt een laag en decodeert de URI van de onderliggende gegevensprovider. Beschikbare informatie is afhankelijk van de gegevensprovider.

Syntaxis

decode_uri(layer, [part])

[] markeert optionele argumenten

Argumenten

  • layer - De laag waarvan de URI moet worden gedecodeerd.

  • part - Het terug te geven gedeelte van de URI. Indien niet gespecificeerd zal een kaart met alle URI-gedeelten worden teruggegeven.

Voorbeelden

  • 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

Geeft een overeenkomende laageigenschap of waarde voor metadata terug.

Syntaxis

layer_property(layer, property)

Argumenten

  • layer - een tekenreeks die ofwel een laagnaam of een laag-ID vertegenwoordigt

  • property - een tekenreeks die correspondeert met de terug te geven eigenschap. Geldige opties zijn:

    • name: naam van de laag

    • id: laag-ID

    • title: tekenreeks voor de titel van de metadata

    • abstract: tekenreeks voor abstract van de metadata

    • keywords: sleutelwoorden voor metadata

    • data_url: URL voor metadata

    • attribution: tekenreeks voor de toekenning van de metadata

    • attribution_url: URL voor de toekenning van de metadata

    • source: laagbron

    • min_scale: minimale schaal voor weergave van de laag

    • max_scale: maximale schaal voor weergave van de laag

    • is_editable: als de laag in modus Bewerken staat

    • crs: laag-CRS

    • crs_definition: volledige definitie van laag-CRS

    • crs_description: beschrijving laag-CRS

    • extent: bereik van de laag (als een geometrie-object)

    • distance_units: eenheden voor afstanden op de laag

    • type: type laag, bijv. Vector of Raster

    • storage_type: indeling voor opslaan (alleen voor vectorlagen)

    • geometry_type: type geometrie type, bijv. Punt (alleen vectorlagen)

    • feature_count: geschatte aantal objecten voor de laag (alleen vectorlagen)

    • path: Bestandspad naar de databron van de laag. Alleen beschikbaar voor op bestanden gebaseerde lagen.

Voorbeelden

  • layer_property('streets','title') → ‘Basemap Streets’

  • layer_property('airports','feature_count') → 120

  • layer_property('landsat','crs') → ‘EPSG:4326’

Lees verder: vector, raster en mesh laageigenschappen

13.2.16. Functies Kaartobjecten

Deze groep bevat functies voor expressies voor het creëren en bewerken van gegevensstructuren ‘map’ (ook wel bekend als het datatype dictionary, paren sleutel-waarde of associatieve arrays). Anders dan de gegevensstructuur lijst waar de volgorde van de waarden van belang is, is de volgorde van de paren sleutel-waarde in het kaartobject niet relevant en worden waarden geïdentificeerd met hun sleutels.

13.2.16.1. from_json

Laadt een als JSON opgemaakte tekenreeks.

Syntaxis

from_json(string)

Argumenten

  • string - tekenreeks JSON

Voorbeelden

  • from_json('{"qgis":"rocks"}') → { ‘qgis’: ‘rocks’ }

  • from_json('[1,2,3]') → [1,2,3]

13.2.16.2. hstore_to_map

Maakt een kaart uit een als hstore opgemaakte tekenreeks.

Syntaxis

hstore_to_map(string)

Argumenten

  • string - de tekenreeks voor de invoer

Voorbeelden

  • hstore_to_map('qgis=>rocks') → { ‘qgis’: ‘rocks’ }

13.2.16.3. map

Geeft een kaart terug die alle sleutels en waarden bevat die als parameters voor het paar werden doorgegeven.

Syntaxis

map(key1, value1, key2, value2, …)

Argumenten

  • key - een sleutel (tekenreeks)

  • value - een waarde

Voorbeelden

  • map('1','one','2', 'two') → { ‘1’: ‘one’, ‘2’: ‘two’ }

  • map('1','one','2', 'two')['1'] → ‘one’

13.2.16.4. map_akeys

Geeft alle sleutels van een kaart terug als een array.

Syntaxis

map_akeys(map)

Argumenten

  • map - een kaart

Voorbeelden

  • map_akeys(map('1','one','2','two')) → [ ‘1’, ‘2’ ]

13.2.16.5. map_avals

Geeft alle waarden van een kaart terug als een array.

Syntaxis

map_avals(map)

Argumenten

  • map - een kaart

Voorbeelden

  • map_avals(map('1','one','2','two')) → [ ‘one’, ‘two’ ]

13.2.16.6. map_concat

Geeft een kaart terug die alle items van de opgegeven kaarten bevat. Als twee kaarten dezelfde sleutel bevatten, wordt de waarde van de tweede kaart genomen.

Syntaxis

map_concat(map1, map2, …)

Argumenten

  • map - een kaart

Voorbeelden

  • map_concat(map('1','one', '2','overridden'),map('2','two', '3','three')) → { ‘1’: ‘one’, ‘2’: ‘two’, ‘3’: ‘three’ }

13.2.16.7. map_delete

Geeft een kaart terug waaruit de opgegeven sleutel en de bijbehorende waarde zijn verwijderd.

Syntaxis

map_delete(map, key)

Argumenten

  • map - een kaart

  • key - de te verwijderen sleutel

Voorbeelden

  • map_delete(map('1','one','2','two'),'2') → { ‘1’: ‘one’ }

13.2.16.8. map_exist

Geeft TRUE terug als de opgegeven sleutel bestaat in de kaart.

Syntaxis

map_exist(map, key)

Argumenten

  • map - een kaart

  • key - de sleutel die moet worden gezocht

Voorbeelden

  • map_exist(map('1','one','2','two'),'3') → FALSE

13.2.16.9. map_get

Geeft de waarde van een kaart terug, opgegeven als zijn sleutel. Geeft NULL terug als de sleutel niet bestaat.

Syntaxis

map_get(map, key)

Argumenten

  • map - een kaart

  • key - de sleutel die moet worden gezocht

Voorbeelden

  • map_get(map('1','one','2','two'),'2') → ‘two’

  • map_get( item_variables('Map 0'), 'map_scale') → schaal van het item ‘Map 0’ (als die bestaat) in de huidige afdruklay-out

Hint

U kunt ook de index operator ([]) gebruiken om een waarde uit een kaart te verkrijgen.

13.2.16.10. map_insert

Geeft een kaart terug met een toegevoegde sleutel/waarde. Als de sleutel al bestaat wordt de waarde daarvan overschreven.

Syntaxis

map_insert(map, key, value)

Argumenten

  • map - een kaart

  • key - de toe te voegen sleutel

  • value - de toe te voegen waarde

Voorbeelden

  • 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

Geeft een kaart terug waarin alle sleutels worden voorafgegaan door een opgegeven tekenreeks.

Syntaxis

map_prefix_keys(map, prefix)

Argumenten

  • map - een kaart

  • prefix - een tekenreeks

Voorbeelden

  • map_prefix_keys(map('1','one','2','two'), 'prefix-') → { ‘prefix-1’: ‘one’, ‘prefix-2’: ‘two’ }

13.2.16.12. map_to_hstore

Voeg kaartelementen samen tot een als hstore opgemaakte tekenreeks.

Syntaxis

map_to_hstore(map)

Argumenten

  • map - de kaart voor de invoer

Voorbeelden

  • map_to_hstore(map('qgis','rocks')) → ‘“qgis”=>”rocks”’

13.2.16.13. to_json

Maak een als JSON opgemaakte tekenreeks uit een kaart, een array of een andere waarde.

Syntaxis

to_json(value)

Argumenten

  • value - De waarde voor de invoer

Voorbeelden

  • to_json(map('qgis','rocks')) → {“qgis”:”rocks”}

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

13.2.16.14. url_encode

Geeft een URL-gecodeerde tekenreeks terug uit een kaart. Transformeert alle tekens naar hun correct gecodeerde vorm een volledig conforme tekenreeks voor de query producerend.

Onthoud dat het plusteken ‘+’ niet wordt geconverteerd.

Syntaxis

url_encode(map)

Argumenten

  • map - een kaart.

Voorbeelden

  • 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. Wiskundige functies

Deze groep bevat wiskundige functies (bijv. vierkantswortel, sin en cos).

13.2.17.1. abs

Geeft de absolute waarde van een getal terug.

Syntaxis

abs(value)

Argumenten

  • value - een getal

Voorbeelden

  • abs(-2) → 2

13.2.17.2. acos

Geeft de inverse cosinus van een waarde in radialen terug.

Syntaxis

acos(value)

Argumenten

  • value - cosinus van een hoek in radialen

Voorbeelden

  • acos(0.5) → 1.0471975511966

13.2.17.3. asin

Geeft de inverse sinus van een waarde in radialen terug.

Syntaxis

asin(value)

Argumenten

  • value - sinus van een hoek in radialen

Voorbeelden

  • asin(1.0) → 1.5707963267949

13.2.17.4. atan

Geeft de inverse tangens van een waarde in radialen terug.

Syntaxis

atan(value)

Argumenten

  • value - tangens van een hoek in radialen

Voorbeelden

  • atan(0.5) → 0.463647609000806

13.2.17.5. atan2

Geeft de inverse tangens van dy/dx terug door de twee tekens van de twee argumenten te gebruiken om het kwadrant van het resultaat te bepalen

Syntaxis

atan2(dy, dx)

Argumenten

  • dy - verschil Y-coördinaat

  • dx - verschil X-coördinaat

Voorbeelden

  • atan2(1.0, 1.732) → 0.523611477769969

13.2.17.6. ceil

Rondt een getal naar boven af.

Syntaxis

ceil(value)

Argumenten

  • value - een getal

Voorbeelden

  • ceil(4.9) → 5

  • ceil(-4.9) → -4

13.2.17.7. clamp

Beperkt een invoerwaarde tot een gespecificeerd bereik.

Syntaxis

clamp(minimum, input, maximum)

Argumenten

  • minimum - de kleinste waarde voor invoer die is toegestaan.

  • input - een waarde die zal worden beperkt tot het bereik dat wordt gespecificeerd door minimum en maximum

  • maximum - de grootste waarde voor invoer die is toegestaan.

Voorbeelden

  • clamp(1,5,10) → 5

    input ligt tussen 1 en 10 en wordt dus ongewijzigd teruggegeven

  • clamp(1,0,10) → 1

    input is kleiner dan de minimum waarde van 1, dus geeft de functie 1 terug

  • clamp(1,11,10) → 10

    input is groter dan de maximum waarde van 10, dus geeft de functie 10 terug

13.2.17.8. cos

Geeft de cosinus van een hoek terug.

Syntaxis

cos(angle)

Argumenten

  • angle - hoek in radialen

Voorbeelden

  • cos(1.571) → 0.000796326710733263

13.2.17.9. degrees

Converteert van radialen naar graden.

Syntaxis

degrees(radians)

Argumenten

  • radians - numerieke waarde

Voorbeelden

  • degrees(3.14159) → 180

  • degrees(1) → 57.2958

13.2.17.10. exp

Geeft de exponentieel van een waarde terug.

Syntaxis

exp(value)

Argumenten

  • value - getal waarvan de exponentieel moet worden teruggegeven

Voorbeelden

  • exp(1.0) → 2.71828182845905

13.2.17.11. floor

Rondt een getal naar beneden af.

Syntaxis

floor(value)

Argumenten

  • value - een getal

Voorbeelden

  • floor(4.9) → 4

  • floor(-4.9) → -5

13.2.17.12. ln

Geeft de natuurlijke logaritme van een waarde terug.

Syntaxis

ln(value)

Argumenten

  • value - numerieke waarde

Voorbeelden

  • ln(1) → 0

  • ln(2.7182818284590452354) → 1

13.2.17.13. log

Geeft de waarde van de logaritme van de opgegeven waarde en basis terug.

Syntaxis

log(base, value)

Argumenten

  • base - elkpositief getal

  • value - elk positief getal

Voorbeelden

  • log(2, 32) → 5

  • log(0.5, 32) → -5

13.2.17.14. log10

Geeft de waarde van de logaritme basis 10 van de opgegeven expressie terug.

Syntaxis

log10(value)

Argumenten

  • value - elk positief getal

Voorbeelden

  • log10(1) → 0

  • log10(100) → 2

13.2.17.15. max

Geeft de grootste waarde uit een verzameling waarden terug.

Syntaxis

max(value1, value2, …)

Argumenten

  • value - een getal

Voorbeelden

  • max(2,10.2,5.5) → 10.2

  • max(20.5,NULL,6.2) → 20.5

13.2.17.16. min

Geeft de kleinste waarde uit een verzameling waarden terug.

Syntaxis

min(value1, value2, …)

Argumenten

  • value - een getal

Voorbeelden

  • min(20.5,10,6.2) → 6.2

  • min(2,-10.3,NULL) → -10.3

13.2.17.17. pi

Geeft de waarde Pi terug voor berekeningen.

Syntaxis

pi()

Voorbeelden

  • pi() → 3.14159265358979

13.2.17.18. radians

Converteert van graden naar radialen.

Syntaxis

radians(degrees)

Argumenten

  • degrees - numerieke waarde

Voorbeelden

  • radians(180) → 3.14159

  • radians(57.2958) → 1

13.2.17.19. rand

Geeft een willekeurig geheel getal terug binnen het bereik dat is gespecificeerd door de argumenten minimum en maximum (inclusief). Als zaad wordt opgegeven zal het teruggegeven altijd hetzelfde zijn, afhankelijk van het zaad.

Syntaxis

rand(min, max, [seed=NULL])

[] markeert optionele argumenten

Argumenten

  • min - een integer (geheel getal) dat het gewenste kleinst mogelijke willekeurige getal weergeeft

  • max - een integer (geheel getal) dat het gewenste grootst mogelijke willekeurige getal weergeeft

  • seed - elke waarde die als zaad moet worden gebruikt

Voorbeelden

  • rand(1, 10) → 8

13.2.17.20. randf

Geeft een willekeurig getal float terug binnen het bereik dat is gespecificeerd door de argumenten minimum en maximum (inclusief). Als zaad wordt opgegeven zal het teruggegeven altijd hetzelfde zijn, afhankelijk van het zaad.

Syntaxis

randf([min=0.0], [max=1.0], [seed=NULL])

[] markeert optionele argumenten

Argumenten

  • min - een getal float dat het gewenste kleinst mogelijke willekeurige getal weergeeft

  • max - een getal float dat het gewenste grootst mogelijke willekeurige getal weergeeft

  • seed - elke waarde die als zaad moet worden gebruikt

Voorbeelden

  • randf(1, 10) → 4.59258286403147

13.2.17.21. round

Rondt een getal af naar het aantal plaatsen achter de komma.

Syntaxis

round(value, [places=0])

[] markeert optionele argumenten

Argumenten

  • value - decimale getal dat moet worden afgerond

  • places - Optionele integer die het aantal plaatsen achter de komma weergeeft voor het afronden van decimalen. Mag negatief zijn.

Voorbeelden

  • round(1234.567, 2) → 1234.57

  • round(1234.567) → 1235

  • round(1234.567, -1) → 1230

13.2.17.22. scale_exp

Transformeert een opgegeven waarde uit een invoerdomein naar een uitvoerbereik met behulp van een exponentiële boog. Deze functie kan worden gebruikt om het gemakkelijker te maken waarden in of uit het gespecificeerde uitvoerbereik te plaatsen.

Syntaxis

scale_exp(value, domain_min, domain_max, range_min, range_max, exponent)

Argumenten

  • value - Een waarde in het invoerdomein. De functie zal een overeenkomende geschaalde waarde in het uitvoerbereik teruggeven.

  • domain_min - Specificeert de minimum waarde in het invoerdomein, de kleinste waarde die de invoerwaarde zou mogen hebben.

  • domain_max - Specificeert de maximum waarde in het invoerdomein, de grootste waarde die de invoerwaarde zou mogen hebben.

  • range_min - Specificeert de minimum waarde in het uitvoerbereik, de kleinste waarde die door de functie zou mogen worden uitgevoerd.

  • range_min - Specificeert de maximum waarde in het uitvoerbereik, de grootste waarde die door de functie zou mogen worden uitgevoerd.

  • exponent - Een positieve waarde (groter dan 0), die de manier bepaalt waarop invoerwaarden in kaart worden gebracht in het uitvoerbereik. Grote exponenten zullen r voor zorgen dat de uitvoerwaarden ‘gemakkelijk instromen’, langzaam beginnend voordat zij accelereren als de invoerwaarden het maximum van het domein bereiken. Kleinere exponenten (kleiner dan 1) zullen er voor zorgen dat uitvoerwaarden ‘gemakkelijk uitstromen’, waarbij het in kaart brengen snel begint maar vertraagt als het het maximum van het domein nadert.

Voorbeelden

  • scale_exp(5,0,10,0,100,2) → 25

    gemakkelijk instromend, met een exponent 2

  • scale_exp(3,0,10,0,100,0.5) → 54.772

    gemakkelijk uitstromend, met een exponent 0.5

13.2.17.23. scale_linear

Transformeert een opgegeven waarde uit een invoerdomein naar een uitvoerbereik met behulp van lineaire interpolatie.

Syntaxis

scale_linear(value, domain_min, domain_max, range_min, range_max)

Argumenten

  • value - Een waarde in het invoerdomein. De functie zal een overeenkomende geschaalde waarde in het uitvoerbereik teruggeven.

  • domain_min - Specificeert de minimum waarde in het invoerdomein, de kleinste waarde die de invoerwaarde zou mogen hebben.

  • domain_max - Specificeert de maximum waarde in het invoerdomein, de grootste waarde die de invoerwaarde zou mogen hebben.

  • range_min - Specificeert de minimum waarde in het uitvoerbereik, de kleinste waarde die door de functie zou mogen worden uitgevoerd.

  • range_min - Specificeert de maximum waarde in het uitvoerbereik, de grootste waarde die door de functie zou mogen worden uitgevoerd.

Voorbeelden

  • scale_linear(5,0,10,0,100) → 50

  • scale_linear(0.2,0,1,0,360) → 72

    op schaal brengen van een waarde tussen 0 en 1 naar een hoek tussen 0 en 360

  • scale_linear(1500,1000,10000,9,20) → 9.6111111

    op schaal brengen van een populatie die varieert tussen 1000 en 10000 naar een grootte van het lettertype tussen 9 en 20

13.2.17.24. sin

Geeft de sinus van een hoek terug.

Syntaxis

sin(angle)

Argumenten

  • angle - hoek in radialen

Voorbeelden

  • sin(1.571) → 0.999999682931835

13.2.17.25. sqrt

Geeft de vierkantswortel van een waarde terug.

Syntaxis

sqrt(value)

Argumenten

  • value - een getal

Voorbeelden

  • sqrt(9) → 3

13.2.17.26. tan

Geeft de tangens van een hoek terug.

Syntaxis

tan(angle)

Argumenten

  • angle - hoek in radialen

Voorbeelden

  • tan(1.0) → 1.5574077246549

13.2.18. Functies voor mazen

Deze groep bevat functies die aan mazen gerelateerde waarden kunnen berekenen of teruggeven.

13.2.18.1. $face_area

Geeft het gebied van het huidige zijde van mazen terug. Het door deze functie berekende gebied respecteert zowel de instelling van de ellipsoïde voor het huidige project als de instellingen voor eenheden voor het gebied. Als, bijvoorbeeld, een ellipsoïde is ingesteld voor het project, dan zal het berekende gebied ellipsoïde zijn, en als er geen ellipsoïde is ingesteld, dan zal het gebied planimetrisch zijn.

Syntaxis

$face_area

Voorbeelden

  • $face_area → 42

13.2.18.2. $face_index

Geeft de index van de huidige zijde van mazen.

Syntaxis

$face_index

Voorbeelden

  • $face_index → 4581

13.2.18.3. $vertex_as_point

Geeft het huidige punt als een geometrie punt terug.

Syntaxis

$vertex_as_point

Voorbeelden

  • geom_to_wkt( $vertex_as_point ) → ‘POINT(800 1500 41)’

13.2.18.4. $vertex_index

Geeft de index van het huidige punt van mazen terug.

Syntaxis

$vertex_index

Voorbeelden

  • $vertex_index → 9874

13.2.18.5. $vertex_x

Geeft de X-coördinaat van het huidige punt van mazen terug.

Syntaxis

$vertex_x

Voorbeelden

  • $vertex_x → 42.12

13.2.18.6. $vertex_y

Geeft de Y-coördinaat van het huidige punt van mazen terug.

Syntaxis

$vertex_y

Voorbeelden

  • $vertex_y → 12.24

13.2.18.7. $vertex_z

Geeft de Z-waarde van het huidige punt van mazen terug.

Syntaxis

$vertex_z

Voorbeelden

  • $vertex_z → 42

13.2.19. Operatoren

Deze groep bevat operatoren (bijv. +, -, *). Onthoud dat voor de meeste wiskundige functies hieronder, als één van de invoeren NULL is, het resultaat NULL is.

13.2.19.1. %

Restant van de deling. Neemt het teken van de deler.

Syntaxis

a % b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 9 % 2 → 1

  • 9 % -2 → 1

  • -9 % 2 → -1

  • 5 % NULL → NULL

13.2.19.2. *

Vermenigvuldigen van twee waarden

Syntaxis

a * b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 * 4 → 20

  • 5 * NULL → NULL

13.2.19.3. +

Optellen van twee waarden, Als één van de waarden NULL is, zal het resultaat NULL zijn.

Syntaxis

a + b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 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

Lees verder: concat, ||

13.2.19.4. -

Aftrekken van twee waarden, Als één van de waarden NULL is, zal het resultaat NULL zijn.

Syntaxis

a - b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 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. /

Delen van twee waarden

Syntaxis

a / b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 / 4 → 1.25

  • 5 / NULL → NULL

13.2.19.6. <

Vergelijkt twee waarden en evalueert naar 1 als de waarde links kleiner is dan de waarde rechts.

Syntaxis

a < b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 < 4 → FALSE

  • 5 < 5 → FALSE

  • 4 < 5 → TRUE

13.2.19.7. <=

Vergelijkt twee waarden en evalueert naar 1 als de waarde links kleiner is dan of gelijk is aan de waarde rechts.

Syntaxis

a <= b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 <= 4 → FALSE

  • 5 <= 5 → TRUE

  • 4 <= 5 → TRUE

13.2.19.8. <>

Vergelijkt twee waarden en evalueert naar 1 als zij niet gelijk zijn.

Syntaxis

a <> b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 <> 4 → TRUE

  • 4 <> 4 → FALSE

  • 5 <> NULL → NULL

  • NULL <> NULL → NULL

13.2.19.9. =

Vergelijkt twee waarden en evalueert naar 1 als zij gelijk zijn.

Syntaxis

a = b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 = 4 → FALSE

  • 4 = 4 → TRUE

  • 5 = NULL → NULL

  • NULL = NULL → NULL

13.2.19.10. >

Vergelijkt twee waarden en evalueert naar 1 als de waarde links groter is dan de waarde rechts.

Syntaxis

a > b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 > 4 → TRUE

  • 5 > 5 → FALSE

  • 4 > 5 → FALSE

13.2.19.11. >=

Vergelijkt twee waarden en evalueert naar 1 als de waarde links groter is dan of gelijk is aan de waarde rechts.

Syntaxis

a >= b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 >= 4 → TRUE

  • 5 >= 5 → TRUE

  • 4 >= 5 → FALSE

13.2.19.12. AND

Geeft TRUE terug als voorwaarden a en b waar zijn.

Syntaxis

a AND b

Argumenten

  • a - voorwaarde

  • b - voorwaarde

Voorbeelden

  • 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.13. BETWEEN

Geeft TRUE terug als de waarde binnen het gespecificeerde bereik ligt. Het bereik wordt beschouwd inclusief de begrenzingen. Voor het testen van uitsluiting kan NOT BETWEEN worden gebruikt.

Syntaxis

value BETWEEN lower_bound AND higher_bound

Argumenten

  • value - de te verwachten waarde om te vergelijken met een bereik. Het mag een tekenreeks, een getal of een datum zijn.

  • lower_bound AND higher_bound - grenzen van bereik

Voorbeelden

  • '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

Notitie

value BETWEEN lower_bound AND higher_bound is hetzelfde als “value >= lower_bound AND value <= higher_bound”.

Lees verder: NOT BETWEEN

13.2.19.14. ILIKE

Geeft TRUE terug als de eerste parameter, niet hoofdlettergevoelig, overeenkomt met het opgegeven patroon. LIKE kan worden gebruikt in plaats van ILIKE om de overeenkomst hoofdlettergevoelig te maken. Werkt ook met getallen.

Syntaxis

string/number ILIKE pattern

Argumenten

  • string/number - tekenreeks die moet worden gezocht

  • pattern - te vinden patroon, u kunt ‘%’ als een jokerteken gebruiken, ‘_’ als één enkel teken en ‘\\’ om deze speciale teken te escapen.

Voorbeelden

  • '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.15. IN

Geeft TRUE terug als de waarde is gevonden in een lijst met waarden.

Syntaxis

a IN b

Argumenten

  • a - waarde

  • b - lijst met waarden

Voorbeelden

  • 'A' IN ('A','B') → TRUE

  • 'A' IN ('C','B') → FALSE

13.2.19.16. IS

Geeft TRUE terug als a hetzelfde is als b.

Syntaxis

a IS b

Argumenten

  • a - elke waarde

  • b - elke waarde

Voorbeelden

  • '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, als uw geometrie niet NULL is

13.2.19.17. IS NOT

Geeft TRUE terug als a niet hetzelfde is als b.

Syntaxis

a IS NOT b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 'a' IS NOT 'b' → TRUE

  • 'a' IS NOT 'a' → FALSE

  • 4 IS NOT 2+2 → FALSE

13.2.19.18. LIKE

Geeft TRUE terug als de eerste parameter overeenkomt met het opgegeven patroon. Werkt ook met getallen.

Syntaxis

string/number LIKE pattern

Argumenten

  • string/number - waarde

  • pattern - patroon waarmee de waarde moet worden vergeleken, u kunt ‘%’ als een jokerteken gebruiken, ‘_’ als één enkel teken en ‘\\’ om deze speciale teken te escapen.

Voorbeelden

  • '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.19. NOT

Draait een voorwaarde om.

Syntaxis

NOT a

Argumenten

  • a - voorwaarde

Voorbeelden

  • NOT 1 → FALSE

  • NOT 0 → TRUE

13.2.19.20. NOT BETWEEN

Geeft TRUE terug als de waarde niet binnen het gespecificeerde bereik ligt. Het bereik wordt beschouwd inclusief de begrenzingen.

Syntaxis

value NOT BETWEEN lower_bound AND higher_bound

Argumenten

  • value - de te verwachten waarde om te vergelijken met een bereik. Het mag een tekenreeks, een getal of een datum zijn.

  • lower_bound AND higher_bound - grenzen van bereik

Voorbeelden

  • '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

Notitie

value NOT BETWEEN lower_bound AND higher_bound is hetzelfde als “value < lower_bound OR value > higher_bound”.

Lees verder: BETWEEN

13.2.19.21. OR

Geeft TRUE terug als voorwaarde a of b waar is.

Syntaxis

a OR b

Argumenten

  • a - voorwaarde

  • b - voorwaarde

Voorbeelden

  • 4 = 2+2 OR 1 = 1 → TRUE

  • 4 = 2+2 OR 1 = 2 → TRUE

  • 4 = 2   OR 1 = 2 → FALSE

13.2.19.22. []

Index-operator. Geeft een element terug uit een array of kaartwaarde.

Syntaxis

[index]

Argumenten

  • index - array-index of waarde sleutel kaart

Voorbeelden

  • 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

Lees verder: array_get, map_get

13.2.19.23. ^

Macht van twee waarden.

Syntaxis

a ^ b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 5 ^ 4 → 625

  • 5 ^ NULL → NULL

13.2.19.24. ||

Voegt twee waarden samen tot een tekenreeks.

Als één van de waarden NULL is, zal het resultaat NULL zijn. Bekijk de functie CONCAT voor ander gedrag.

Syntaxis

a || b

Argumenten

  • a - waarde

  • b - waarde

Voorbeelden

  • 'Hier' || ' en ' || 'daar' → ‘Hier en daar’

  • 'Nothing' || NULL → NULL

  • 'Dia: ' || "Diameter" → ‘Dia: 25’

  • 1 || 2 → ‘12’

Lees verder: concat, +

13.2.19.25. ~

Voert een reguliere expressie voor overeenkomsten uit op een waarde tekenreeks. Tekens backslash moeten dubbel worden geëscaped (bijv. “\\s” om overeen te komen met een teken voor witruimte).

Syntaxis

string ~ regex

Argumenten

  • string - Een waarde tekenreeks

  • regex - Een reguliere expressie. Backslashes moeten worden geëscapet, bijv. \\d.

Voorbeelden

  • 'hello' ~ 'll' → TRUE

  • 'hello' ~ '^ll' → FALSE

  • 'hello' ~ 'llo$' → TRUE

  • 'abc123' ~ '\\d+' → TRUE

Lees verder: regexp_match

13.2.20. Functies voor Processing

Deze groep bevat functies die werken op algoritmes van Processing.

13.2.20.1. parameter

Geeft de waarde van een parameter voor de invoer voor een algoritme van Processing terug.

Syntaxis

parameter(name)

Argumenten

  • name - naam van de corresponderende parameter voor de invoer

Voorbeelden

  • parameter('BUFFER_SIZE') → 5.6

13.2.21. Functies voor rasters

Deze groep bevat functies voor bewerkingen van rasterlagen.

13.2.21.1. raster_statistic

Geeft statistieken uit een rasterlaag terug.

Syntaxis

raster_statistic(layer, band, property)

Argumenten

  • layer - een tekenreeks die ofwel een laagnaam of een laag-ID vertegenwoordigt

  • band - integer die het bandnummer van de rasterlaag weergeeft, beginnend met 1

  • property - een tekenreeks die correspondeert met de terug te geven eigenschap. Geldige opties zijn:

    • min: minimum waarde

    • max: maximum waarde

    • avg: gemiddelde (gemiddeld) waarde

    • stdev: standaardafwijking van waarden

    • range: bereik van waarden (max - min)

    • sum: som van alle waarden uit het raster

Voorbeelden

  • raster_statistic('lc',1,'avg') → Gemniddelde waarde uit band 1 van rasterlaag ‘lc’

  • raster_statistic('ac2010',3,'min') → Minimum waarde uit band 3 van rasterlaag ‘ac2010’

13.2.21.2. raster_value

Geeft de rasterwaarde terug voor het opgegeven punt.

Syntaxis

raster_value(layer, band, point)

Argumenten

  • layer - de naam of ID van een rasterlaag

  • band - het bandnummer waaruit de waarde moet worden genomen.

  • point - geometrie punt (voor meerdelige geometrieën die meer dan één deel hebben zal een waarde NULL worden teruggegeven)

Voorbeelden

  • raster_value('dem', 1, make_point(1,1)) → 25

13.2.22. Functies Records en attributen

Deze groep bevat functies voor het bewerken van unieke record-ID’s.

13.2.22.1. attribute

Geeft een attribuut uit een object terug.

Variant 1

Geeft de waarde van een attribuut van het huidige object terug.

Syntaxis

attribute(attribute_name)

Argumenten

  • attribute_name - naam van het terug te geven attribuut

Voorbeelden

  • attribute( 'name' ) → waarde die is opgeslagen in het attribuut ‘name’ voor het huidige object

Variant 2

Maakt het mogelijk het doelobject en de naam van het attribuut te specificeren.

Syntaxis

attribute(feature, attribute_name)

Argumenten

  • feature - een object

  • attribute_name - naam van het terug te geven attribuut

Voorbeelden

  • attribute( @atlas_feature, 'name' ) → waarde die is opgeslagen in het attribuut ‘name’ voor het huidige object van atlas

13.2.22.2. attributes

Geeft een kaart terug van alle attributen van een object, met veldnamen als sleutels voor de kaart.

Variant 1

Geeft een kaart van alle attributen van het huidige object terug.

Syntaxis

attributes()

Voorbeelden

  • attributes()['name'] → waarde die is opgeslagen in het attribuut ‘name’ voor het huidige object

Variant 2

Maakt het mogelijk het doelobject te specificeren.

Syntaxis

attributes(feature)

Argumenten

  • feature - een object

Voorbeelden

  • attributes( @atlas_feature )['name'] → waarde die is opgeslagen in het attribuut ‘name’ voor het huidige object van atlas

Lees verder: Functies Kaartobjecten

13.2.22.3. $currentfeature

Geeft het huidige object terug dat wordt geëvalueerd. Dit kan wordnegebruikt met de functie ‘attribute’ om waarden attributen te evalueren van het huidige object. WAARSCHUWING: Deze functie is vervallen. Aanbevolen wordt de vervanging, de variabele @feature, in plaats daarvan te gebruiken.

Syntaxis

$currentfeature

Voorbeelden

  • attribute( $currentfeature, 'name' ) → waarde die is opgeslagen in het attribuut ‘name’ voor het huidige object

13.2.22.4. display_expression

Geeft de weergave-expressie terug voor een opgegeven object op een laag. De expressie wordt standaard geëvalueerd. Kan worden gebruikt met nul, een of meer argumenten, bekijk de details hieronder.

Geen parameters

Indien aangeroepen zonder parameters, zal de functie de weergave-expressie van het huidige object op de huidige laag evalueren.

Syntaxis

display_expression()

Voorbeelden

  • display_expression() → De weergave-expressie van het huidige object op de huidige laag.

Ëén parameter ‘feature’

Indien aangeroepen met een parameter ‘feature’ zal de functie de weergave-expressie van het gespecificeerde object op de huidige laag evalueren.

Syntaxis

display_expression(feature)

Argumenten

  • feature - Het object dat zou moeten worden geëvalueerd.

Voorbeelden

  • display_expression(@atlas_feature) → De weergave-expressie van het huidige object van atlas.

Parameters voor laag en object

Indien aangeroepen met een parameter voor zowel de laag als een object zal de functie het gespecificeerde object op de gespecificeerde laag evalueren.

Syntaxis

display_expression(layer, feature, [evaluate=true])

[] markeert optionele argumenten

Argumenten

  • layer - De laag (of diens ID of naam)

  • feature - Het object dat zou moeten worden geëvalueerd.

  • evaluate - Of de expressie moet worden geëvalueerd. Indien false zal de expressie worden teruggegeven als alleen een letterlijke tekenreeks (die potentieel later zou kunnen worden geëvalueerd met de functie ‘eval’).

Voorbeelden

  • display_expression( 'streets', get_feature_by_id('streets', 1)) → De weergave-expressie van het object met de ID 1 op de laag ‘streets’.

  • display_expression('a_layer_id', $currentfeature, 'False') → De weergave-expressie van het huidige object niet geëvalueerd.

13.2.22.5. get_feature

Geeft het eerste object uit een laag terug dat voldoet aan een bepaalde opgegeven waarde voor een attribuut.

Variant enkele waarde

Naast de laag-ID worden een enkele kolom en waarde gespecificeerd.

Syntaxis

get_feature(layer, attribute, value)

Argumenten

  • layer - laagnaam of ID

  • attribute - naam van het te gebruiken attribuut voor d eovereenkomst

  • value - waarde van het attribuut die overeen moet komen

Voorbeelden

  • get_feature('streets','name','main st') → feeste gevonden object op de laag “streets” met de waarde “main st” in het veld “name”

Variant kaart

Naast de laag-ID wordt een kaart, die de kolommen (sleutel) en hun respectievelijk waarde bevatten, gebruikt.

Syntaxis

get_feature(layer, attribute)

Argumenten

  • layer - laagnaam of ID

  • attribute - Kaart die de te gebruiken paren kolom en waarde bevat

Voorbeelden

  • get_feature('streets','name','main st') → eerste gevonden object op de laag “streets” met de waarde “main st” in het veld “name” en waarde “4” in het veld “lane_num”

13.2.22.6. get_feature_by_id

Geeft het object met een ID op een laag terug.

Syntaxis

get_feature_by_id(layer, feature_id)

Argumenten

  • layer - laag, laagnaam of laag-ID

  • feature_id - het ID van het object dat zou moeten worden teruggegeven

Voorbeelden

  • get_feature_by_id('streets', 1) → het object met de ID 1 op de laag “streets”

Lees verder: $id

13.2.22.7. $id

Geeft de object-ID terug van de huidige rij. WAARSCHUWING: Deze functie is vervallen. Aanbevolen wordt om de vervanging, de variabele @id, in plaats daarvan te gebruiken.

Syntaxis

$id

Voorbeelden

  • $id → 42

13.2.22.8. is_selected

Geeft TRUE terug als een object is geselecteerd. Kan worden gebruikt met nul, een of twee argumenten, bekijk de details hieronder.

Geen parameters

Indien aangeroepen zonder parameters, zal de functie TRUE teruggeven als het huidige object op de huidige laag is geselecteerd.

Syntaxis

is_selected()

Voorbeelden

  • is_selected() → TRUE als het huidige object op de huidige laag is geselecteerd.

Ëén parameter ‘feature’

Indien aangeroepen met alleen een parameter ‘feature’ zal de functie TRUE teruggeven als het gespecificeerde object op de huidige laag is geselecteerd.

Syntaxis

is_selected(feature)

Argumenten

  • feature - Het object dat zou moeten worden gecontroleerd of het geselecteerd is.

Voorbeelden

  • is_selected(@atlas_feature) → TRUE als het huidige object van atlas is geselecteerd.

  • is_selected(get_feature('streets', 'name', 'Main St.'))) → TRUE als het unieke benoemde object “Main St.” op de actieve laag “streets” is geselecteerd.

  • is_selected(get_feature_by_id('streets', 1)) → TRUE als het object met de ID 1 op de actieve laag “streets” is geselecteerd.

Twee parameters

Als de functie wordt aangeroepen met zowel een laag als een object zal de functie TRUE teruggeven als het gespecificeerde object op de gespecificeerde laag is geselecteerd.

Syntaxis

is_selected(layer, feature)

Argumenten

  • layer - De laag (zijn ID of naam) waarop de selectie zal worden gecontroleerd.

  • feature - Het object dat zou moeten worden gecontroleerd of het geselecteerd is.

Voorbeelden

  • is_selected( 'streets', get_feature('streets', 'name', "street_name")) → TRUE als de huidige straat van het gebouw is geselecteerd (er van uitgaande dat de laag met gebouwen een veld, genaamd ‘street_name’, heeft en de laag ‘streets’ een veld, genaamd ‘name’, met unieke waarden heeft).

  • is_selected( 'streets', get_feature_by_id('streets', 1)) → TRUE als het object met de ID 1 op de laag “streets” is geselecteerd.

13.2.22.9. maptip

Geeft de kaarttip terug voor een opgegeven object op een laag. De expressie wordt standaard geëvalueerd. Kan worden gebruikt met nul, een of meer argumenten, bekijk de details hieronder.

Geen parameters

Indien aangeroepen zonder parameters, zal de functie de kaarttip van het huidige object op de huidige laag evalueren.

Syntaxis

maptip()

Voorbeelden

  • maptip() → De kaarttip van het huidige object op de huidige laag.

Ëén parameter ‘feature’

Indien aangeroepen met een parameter ‘feature’ zal de functie de weergave-expressie van het gespecificeerde object op de huidige laag evalueren.

Syntaxis

maptip(feature)

Argumenten

  • feature - Het object dat zou moeten worden geëvalueerd.

Voorbeelden

  • maptip(@atlas_feature) → De kaarttip van het huidige object van atlas.

Parameters voor laag en object

Indien aangeroepen met een parameter voor zowel de laag als een object zal de functie het gespecificeerde object op de gespecificeerde laag evalueren.

Syntaxis

maptip(layer, feature, [evaluate=true])

[] markeert optionele argumenten

Argumenten

  • layer - De laag (of diens ID of naam)

  • feature - Het object dat zou moeten worden geëvalueerd.

  • evaluate - Of de expressie moet worden geëvalueerd. Indien false zal de expressie worden teruggegeven als alleen een letterlijke tekenreeks (die potentieel later zou kunnen worden geëvalueerd met de functie ‘eval_template’).

Voorbeelden

  • maptip('streets', get_feature_by_id('streets', 1)) → De kaarttip van het object met de ID 1 op de laag ‘streets’.

  • maptip('a_layer_id', $currentfeature, 'False') → De kaarttip van het huidige object niet geëvalueerd.

13.2.22.10. num_selected

Geeft het aantal geselecteerde objecten op een opgegeven laag terug. Werkt standaard op de laag waarop de expressie wordt geëvalueerd.

Syntaxis

num_selected([layer=current layer])

[] markeert optionele argumenten

Argumenten

  • layer - De laag (of zijn ID of naam) waarvan gecontroleerd moet worden of die is geselecteerd.

Voorbeelden

  • num_selected() → Het aantal geselecteerde objecten op de huidige laag.

  • num_selected('streets') → Het aantal geselecteerde objecten op de laag ‘streets’

13.2.22.11. represent_attributes

Geeft een kaart terug met de namen van de attributen als sleutels en de geconfigureerde weergaven voor waarden als waarden. De weergegeven waarde voor de attributen is afhankelijk van het geconfigureerde type widget voor elk attribuut. Mag worden gebruikt met nul, een of meer argumenten, kijk hieronder voor de details.

Geen parameters

Indien aangeroepen zonder parameters, zal de functie de weergave van de attributen van het huidige object op de huidige laag teruggeven.

Syntaxis

represent_attributes()

Voorbeelden

  • represent_attributes() → De weergave van de attributen voor het huidige object.

Ëén parameter ‘feature’

Indien aangeroepen met alleen een parameter ‘feature’ zal de functie de weergave van de attributen van het gespecificeerde object op de huidige laag teruggeven.

Syntaxis

represent_attributes(feature)

Argumenten

  • feature - Het object dat zou moeten worden geëvalueerd.

Voorbeelden

  • represent_attributes(@atlas_feature) → De weergave van de attributen voor het gespecificeerde object van de huidige laag.

Parameters voor laag en object

Indien aangeroepen met de parameters ‘layer’ en ‘feature’ zal de functie de weergave van de attributen van het gespecificeerde object op de gespecificeerde laag teruggeven.

Syntaxis

represent_attributes(layer, feature)

Argumenten

  • layer - De laag (of zijn ID of naam).

  • feature - Het object dat zou moeten worden geëvalueerd.

Voorbeelden

  • represent_attributes(@atlas_layer, @atlas_feature) → De weergave van de attributen voor het gespecificeerde object van de gespecificeerde laag.

Lees verder: represent_value

13.2.22.12. represent_value

Geeft de geconfigureerde waarde voor weergave terug voor een veldwaarde. Het is afhankelijk van het geconfigureerde type widget. Dit is vaak nuttig met de widgets ‘Waardenkaart’.

Syntaxis

represent_value(value, [fieldName])

[] markeert optionele argumenten

Argumenten

  • value - De waarde die zou moeten worden opgelost. Meestal een veld.

  • fieldName - De veldnaam waarvoor de configuratie van de widget zou moeten worden geladen.

Voorbeelden

  • represent_value("field_with_value_map") → Omschrijving voor waarde

  • represent_value('static value', 'field_name') → Omschrijving voor statische waarde

Lees verder: typen widget, represent_attributes

13.2.22.13. sqlite_fetch_and_increment

Beheren van automatisch verhogende waarden in databases van SQLite.

Standaardwaarden voor SQLite kunnen alleen worden toegepast met invoegen en niet vooraf worden opgehaald.

Dit maakt het onmogelijk om een automatisch verhogende primaire sleutel op te halen via AUTO_INCREMENT voordat de rij in de database wordt gemaakt. Opmerking terzijde: met PostgreSQL werkt dit via de optie evaluate default values.

Bij het toevoegen van nieuwe objecten met relaties, is het echt fijn om in staat te zijn om reeds kinderen toe te voegen voor een ouder, terwijl het ouder-formulier nog steeds geopend is, maar het ouder-object nog niet is ingediend.

Deze functie kan worden gebruikt om, teneinde deze beperking te omzeilen, reeksen waarden te beheren in een afzonderlijke tabel met op SQL gebaseerde indelingen, zoals gpkg.

De tabel met de reeks zal worden gefilterd op een ID voor de reeks (filter_attribute en filter_value) en de huidige waarde van het id_field zal worden verhoogd met 1 en de verhoogde waarde wordt teruggegeven.

Als aanvullende kolommen waarden vereisen die zijn gespecificeerd, kan de kaart default_values voor dit doel worden gebruikt.

Opmerking

Deze functie past de doel-SQLitetabel aan. Het is bedoeld om te gebruiken met configuraties voor standaardwaarde voor attributen.

Wanneer de parameter voor de database een laag is en de laag staat in de modus Transactie, zal de waarde slechts eenmaal worden opgehaald gedurende de levenscyclus van een transactie en gecachet en verhoogd. Dit maakt het niet veilig om parallel vanuit verschillende processen te werken met dezelfde database.

Syntaxis

sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values])

[] markeert optionele argumenten

Argumenten

  • database - Pad naar het bestand van SQLite of laag van Geopackage

  • table - Naam van de tabel die de reeksen beheert

  • id_field - Naam van het veld dat de huidige waarde bevat

  • filter_attribute - Naam van het veld dat een unieke identificatie voor deze reeks bevat. Moet een index UNIQUE hebben.

  • filter_value - Naam van de te gebruiken reeks.

  • default_values - Kaart met aanvullende standaardwaarden voor aanvullende kolommen in de tabel. De waarden moeten zijn omsloten door aanhalingstekens. Functies zijn toegestaan.

Voorbeelden

  • 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

Lees verder: Eigenschappen Databronnen, Een tot veel- of veel-tot-veel-relaties maken

13.2.22.14. uuid

Maakt een Universally Unique Identifier (UUID) voor elke rij met de methode Qt QUuid::createUuid.

Syntaxis

uuid([format=’WithBraces’])

[] markeert optionele argumenten

Argumenten

  • format - De indeling, omdat de UUID zal worden opgemaakt. ‘WithBraces’, ‘WithoutBraces’ of ‘Id128’.

Voorbeelden

  • uuid() → ‘{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}’

  • uuid('WithoutBraces') → ‘0bd2f60f-f157-4a6d-96af-d4ba4cb366a1’

  • uuid('Id128') → ‘0bd2f60ff1574a6d96afd4ba4cb366a1’

13.2.23. Relaties

Deze groep bevat de lijst met relaties die beschikbaar zijn in het huidige project, met hun beschrijvingen. Het verschaft een snelle toegang tot de ID van de relatie voor het schrijven van een expressie (met bijv. de functie relation_aggregate) of het aanpassen van een formulier.

13.2.24. Tekstfuncties

Deze groep bevat functies die werken op tekst (bijv. vervangen, omzetten naar hoofdletters).

13.2.24.1. ascii

Geeft de code voor Unicode terug dat is geassocieerd met het eerste teken uit een tekenreeks.

Syntaxis

ascii(string)

Argumenten

  • string - de naar Unicode te decoderen tekenreeks

Voorbeelden

  • ascii('Q') → 81

13.2.24.2. char

Geeft het teken terug dat is geassocieerd met een code voor Unicode.

Syntaxis

char(code)

Argumenten

  • code - een getal voor Unicode

Voorbeelden

  • char(81) → ‘Q’

13.2.24.3. concat

Voegt verscheidene tekenreeksen samen tot een. Waarden NULL worden geconverteerd naar lege tekenreeksen. Andere waarden (zoals getallen) worden geconverteerd naar tekenreeksen.

Syntaxis

concat(string1, string2, …)

Argumenten

  • string - een waarde tekenreeks

Voorbeelden

  • concat('sun', 'set') → ‘sunset’

  • concat('a','b','c','d','e') → ‘abcde’

  • concat('Anno ', 1984) → ‘Anno 1984’

  • concat('The Wall', NULL) → ‘The Wall’

Over het samenvoegen van velden

U kunt ook tekenreeksen of veldwaarden samenvoegen met ofwel de operatoren || of +, met enkele speciale karakteristieken:

  • De operator + betekent ook het optellen van de expressie, dus als u een integer deel hebt (veld of numerieke waarde), kan dit gevoelig zijn voor fouten en kunt u beter de andere gebruiken:

    'My feature id is: ' + "gid" => triggers an error as gid returns an integer
    
  • Wanneer een van de argumenten een waarde NULL is, zullen || of + een waarde NULL teruggeven. U zou misschien de functie concat willen gebruiken om de andere argumenten, ongeacht de waarde NULL, terug te geven:

    'My feature id is: ' + NULL ==> NULL
    'My feature id is: ' || NULL => NULL
    concat('My feature id is: ', NULL) => 'My feature id is: '
    

Lees verder: ||, +

13.2.24.4. format

Maakt een tekenreeks op met behulp van de opgegeven argumenten.

Syntaxis

format(string, arg1, arg2, …)

Argumenten

  • string - Een tekenreeks met de plaatsvervangers %1, %2, etc., voor de argumenten. Plaatsvervangers mogen worden herhaald. De laagste genummerde plaatsvervanger zal worden vervangen door arg1, de volgende door arg2, etc.

  • arg - elk type. Elk aantal argumenten.

Voorbeelden

  • format('Dit %1 een %2','is', 'test') → ‘Dit is een 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.24.5. format_date

Maakt een type date of tekenreeks op in een aangepaste indeling voor de tekenreeks. Gebruikt Qt date/time-indeling tekenreeksen. Bekijk QDateTime::fromString.

Syntaxis

format_date(datetime, format, [language])

[] markeert optionele argumenten

Argumenten

  • datetime - waarde date, time of datetime

  • format - Tekenreekssjabloon dat moet worden gebruikt voor het indelen van de tekenreeks.

    Expressie

    Uitvoer

    d

    de dag als getal zonder voorloopnul (1 tot en met 31)

    dd

    de dag als getal met voorloopnul (01 tot en met 31)

    ddd

    de verkorte gelokaliseerde naam van de dag (bijv. ‘maa’ tot en met ‘zon’)

    dddd

    de lange gelokaliseerde naam van de dag (bijv. ‘maandag’ tot en met ‘zondag’)

    M

    de maand als getal zonder voorloopnul (1-12)

    MM

    de maand als getal met voorloopnul (01-12)

    MMM

    de verkorte gelokaliseerde naam van de maand (bijv. ‘jan’ tot en met ‘dec’)

    MMMM

    de lange gelokaliseerde naam van de maand (bijv. ‘januari’ tot en met ‘december’)

    yy

    het jaar als een cijfer met twee getallen (00-99)

    yyyy

    het jaar als een cijfer met vier getallen

    Deze expressies kunnen worden gebruikt voor het tijdsgedeelte van de indeling van de tekenreeks:

    Expressie

    Uitvoer

    h

    het uur als getal zonder voorloopnul (0 tot en met 23 of 1 tot en met 12 met weergave AM/PM)

    hh

    het uur als getal met voorloopnul (00 tot en met 23 of 01 tot en met 12 met weergave AM/PM)

    H

    het uur als getal zonder voorloopnul (0 tot en met 23, zelfs met weergave AM/PM)

    HH

    het uur als getal met voorloopnul (00 tot en met 23, zelfs met weergave AM/PM)

    m

    de minuut als getal zonder voorloopnul (0 tot en met 59)

    mm

    de minuut als getal met voorloopnul (00 tot en met 59)

    s

    de seconde als getal zonder voorloopnul (0 tot en met 59)

    ss

    de seconde als getal met voorloopnul (00 tot en met 59)

    z

    de milliseconden zonder achterliggende nullen (0 tot en met 999)

    zzz

    de milliseconden met achterliggende nullen (000 tot en met 999)

    AP or A

    geïnterpreteerd als een tijd AM/PM. AP moet zijn ofwel ‘AM’ of ‘PM’.

    ap or a

    geïnterpreteerd als een tijd AM/PM. ap moet zijn ofwel ‘am’ of ‘pm’.

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`_) gebruikt om de date als een aangepaste tekenreeks op te maken. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

Voorbeelden

  • 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’, als de huidige locale een Engelse variant is

  • 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.24.6. format_number

Geeft een getal terug dat is opgemaakt met het scheidingsteken voor duizendtallen van de locale. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt. Breekt ook het aantal decimale plaatsen af tot het aantal opgegeven plaatsen.

Syntaxis

format_number(number, [places=0], [language], [omit_group_separators=false], [trim_trailing_zeroes=false])

[] markeert optionele argumenten

Argumenten

  • number - getal dat moet worden opgemaakt

  • places - integer die het aantal plaatsen achter de komma weergeeft voor het afbreken van de tekenreeks.

  • language - taal (kleine letters, twee- of drieletterige ISO 639-taalcode <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`_) gebruikt om het getal als een tekenreeks op te maken. Standaard wordt de locale van de huidige gebruiker van QGIS gebruikt.

  • omit_group_separators - indien ingesteld op TRUE dan zullen scheidingstekens voor groepen niet worden opgenomen in de tekenreeks

  • trim_trailing_zeroes - indien ingesteld op TRUE dan zullen achterliggende nullen, die volgen op de decimale punt, worden weggelaten uit de tekenreeks

Voorbeelden

  • format_number(10000000.332,2) → ‘10,000,000.33’ als bijv. de huidige locale een Engelse variant is

  • format_number(10000000.332,2,'fr') → ‘10 000 000,33’

13.2.24.7. left

Geeft een subtekenreeks terug die de n meest links gelegen tekens van de tekenreeks bevat.

Syntaxis

left(string, length)

Argumenten

  • string - een tekenreeks

  • length - integer. Het aantal tekens, vanaf links, van de tekenreeks die moeten worden teruggegeven.

Voorbeelden

  • left('Hello World',5) → ‘Hello’

13.2.24.8. length

Geeft het aantal tekens in een tekenreeks terug of de lengte van een geometrie lijn.

Variant Tekenreeks

Geeft het aantal tekens in een tekenreeks terug.

Syntaxis

length(string)

Argumenten

  • string - tekenreeks waarvan de lengte moet worden geteld

Voorbeelden

  • length('hello') → 5

Variant Geometrie

Geeft de lengte terug van een geometrie-object lijn. Berekeningen zijn altijd planimetrisch in het ruimtelijke referentiesysteem (SRS) van deze geometrie, en de eenheden van de teruggegeven lengte komen overeen met de eenheden voor het SRS. Dit verschilt van de door de functie $length uitgevoerde berekeningen, die ellipsoïde berekeningen zal uitvoeren, gebaseerd op de instellingen voor de ellipsoïde van het project en eenheden voor afstanden.

Syntaxis

length(geometry)

Argumenten

  • geometry - geometrie-object lijn

Voorbeelden

  • length(geom_from_wkt('LINESTRING(0 0, 4 0)')) → 4.0

13.2.24.9. lower

Converteert een tekenreeks naar kleine letters.

Syntaxis

lower(string)

Argumenten

  • string - de naar kleine letters te converteren tekenreeks

Voorbeelden

  • lower('HELLO World') → ‘hello world’

13.2.24.10. lpad

Geeft een tekenreeks terug van de opgegeven breedte die vanaf links is uitgevuld met een vulteken. Als de doelbreedte smaller is dan de lengte van de tekenreeks, wordt de tekenreeks afgebroken.

Syntaxis

lpad(string, width, fill)

Argumenten

  • string - tekenreeks die moet worden uitgevuld

  • width - lengte van de nieuwe tekenreeks

  • fill - teken waarmee de resterende ruimte moet worden uitgevuld

Voorbeelden

  • lpad('Hello', 10, 'x') → ‘xxxxxHello’

  • lpad('Hello', 3, 'x') → ‘Hel’

13.2.24.11. regexp_match

Geeft de eerste overeenkomende positie van een reguliere expressie binnen een tekenreeks van Unicode terug, of 0 als de subtekenreeks niet wordt gevonden.

Syntaxis

regexp_match(input_string, regex)

Argumenten

  • input_string - de tekenreeks die moet worden getest tegen de reguliere expressie

  • regex - De reguliere expressie die getest moet worden. Tekens backslash moeten dubbel worden geëscaped (bijv. “\\s” om overeen te komen met een teken voor witruimte of “\\b” om overeen te komen met een woordgrens)

Voorbeelden

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

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

13.2.24.12. regexp_replace

Geeft een tekenreeks terug waarin de opgegeven reguliere expressie is vervangen.

Syntaxis

regexp_replace(input_string, regex, replacement)

Argumenten

  • input_string - de tekenreeks waarin de overeenkomsten moeten worden vervangen

  • regex - De reguliere expressie die vervangen moet worden. Tekens backslash moeten dubbel worden geëscaped (bijv. “\\s” om overeen te komen met een teken voor witruimte).

  • replacement - De tekenreeks die alle overeenkomsten van de opgegeven reguliere expressie zal vervangen. Vanggroepen kunnen in de tekenreeks voor vervangen worden ingevoegd met \\1, \\2, etc.

Voorbeelden

  • regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ') → ‘QGIS DOES ROCK’

  • regexp_replace('ABC123','\\d+','') → ‘ABC’

  • regexp_replace('mijn naam is Jan','(.*) is (.*)','\\2 is \\1') → ‘Jan is mijn naam’

13.2.24.13. regexp_substr

Geeft het gedeelte van een tekenreeks terug dat overeenkomt met een opgegeven reguliere expressie.

Syntaxis

regexp_substr(input_string, regex)

Argumenten

  • input_string - de tekenreeks waarin de overeenkomsten moeten worden gevonden

  • regex - De reguliere expressie die getest moet worden. Tekens backslash moeten dubbel worden geëscaped (bijv. “\\s” om overeen te komen met een teken voor witruimte).

Voorbeelden

  • regexp_substr('abc123','(\\d+)') → ‘123’

13.2.24.14. replace

Geeft een tekenreeks terug waarin de opgegeven tekenreeks, array, of kaart met tekenreeksen is vervangen.

Variant tekenreeks & array

Geeft een tekenreeks terug waarin de opgegeven tekenreeks of array van tekenreeksen is vervangen door een tekenreeks of een array van tekenreeksen.

Syntaxis

replace(string, before, after)

Argumenten

  • string - de tekenreeks voor de invoer

  • before - de te vervangen tekenreeks of array van tekenreeksen

  • after - de tekenreeks of array van tekenreeksen die gebruikt moet worden als vervanging

Voorbeelden

  • 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’

Variant kaart

Geeft een tekenreeks terug waarin de opgegeven sleutels voor de kaart zijn vervangen door hun gepaarde waarden. Langere kaartsleutels worden eerst geëvalueerd.

Syntaxis

replace(string, map)

Argumenten

  • string - de tekenreeks voor de invoer

  • map - de kaart die de sleutels en waarden bevat

Voorbeelden

  • 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.24.16. rpad

Geeft een tekenreeks terug van de opgegeven breedte die vanaf rechts is uitgevuld met een vulteken. Als de doelbreedte smaller is dan de lengte van de tekenreeks, wordt de tekenreeks afgebroken.

Syntaxis

rpad(string, width, fill)

Argumenten

  • string - tekenreeks die moet worden uitgevuld

  • width - lengte van de nieuwe tekenreeks

  • fill - teken waarmee de resterende ruimte moet worden uitgevuld

Voorbeelden

  • rpad('Hello', 10, 'x') → ‘Helloxxxxx’

  • rpad('Hello', 3, 'x') → ‘Hel’

13.2.24.17. strpos

Geeft de eerste overeenkomende positie van een subtekenreeks binnen een andere tekenreeks terug, of 0 als de subtekenreeks niet wordt gevonden.

Syntaxis

strpos(haystack, needle)

Argumenten

  • haystack - tekenreeks waarin moet worden gezocht

  • needle - tekenreeks waarnaar moet worden gezocht

Voorbeelden

  • strpos('HELLO WORLD','WORLD') → 7

  • strpos('HELLO WORLD','GOODBYE') → 0

13.2.24.18. substr

Geeft een deel van een tekenreeks terug.

Syntaxis

substr(string, start, [length])

[] markeert optionele argumenten

Argumenten

  • string - de volledige tekenreeks voor de invoer

  • start - integer die de beginpositie weergeeft vanaf waar moet worden uitgenomen, beginnend met 1; als start negatief is, zal de teruggegeven tekenreeks beginnen aan het einde van de tekenreeks minus de waarde van start

  • length - integer die de lengte van de terug te geven tekenreeks weergeeft; als length negatief is, zal de teruggegeven tekenreeks de opgegeven lengte van tekens weglaten vanaf het einde van de tekenreeks

Voorbeelden

  • 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.24.19. title

Converteert alle woorden van een tekenreeks naar titels (alle woorden in kleine letters met hoofdletter aan het begin).

Syntaxis

title(string)

Argumenten

  • string - de naar titels te converteren tekenreeks

Voorbeelden

  • title('hello WOrld') → ‘Hello World’

13.2.24.20. to_string

Converteert een getal naar een tekenreeks.

Syntaxis

to_string(number)

Argumenten

  • number - Waarde integer of real. Het getal dat moet worden geconverteerd naar een tekenreeks.

Voorbeelden

  • to_string(123) → ‘123’

13.2.24.21. trim

Verwijdert alle voor- en achterliggende witruimte (spaties, tabs, etc) uit een tekenreeks.

Syntaxis

trim(string)

Argumenten

  • string - tekenreeks die moet worden getrimd

Voorbeelden

  • trim('   hello world  ') → ‘hello world’

13.2.24.22. upper

Converteert een tekenreeks naar hoofdletters.

Syntaxis

upper(string)

Argumenten

  • string - de naar hoofdletters te converteren tekenreeks

Voorbeelden

  • upper('hello WOrld') → ‘HELLO WORLD’

13.2.24.23. wordwrap

Geeft een tekenreeks terug, verpakt in een maximum/minimum aantal tekens.

Syntaxis

wordwrap(string, wrap_length, [delimiter_string])

[] markeert optionele argumenten

Argumenten

  • string - de te verpakken tekenreeks

  • wrap_length - een integer. Als wrap_length positief is dan geeft het getal het ideale maximale aantal te verpakken tekens weer; indien negatief, geeft het getal het minimale aantal te verpakken tekens weer.

  • delimiter_string - Optionele tekenreeks als scheidingsteken om naar een nieuwe regel te verpakken.

Voorbeelden

  • wordwrap('UNIVERSITY OF QGIS',13) → ‘UNIVERSITY OF<br>QGIS’

  • wordwrap('UNIVERSITY OF QGIS',-3) → ‘UNIVERSITY<br>OF QGIS’

13.2.25. Gebruikersexpressies

Deze groep bevat de expressies die zijn opgeslagen als gebruikersexpressies.

13.2.26. Variabelen

Deze groep bevat dynamische variabelen gerelateerd aan de toepassing, het projectbestand en andere instellingen. De beschikbaarheid van variabelen is afhankelijk van de context:

  • in het dialoogvenster expressionSelect Objecten selecteren met een expressie

  • in het dialoogvenster calculateField Veldberekening

  • in het dialoogvenster Laageigenschappen

  • uit de afdruklay-out

Deze variabelen zouden, om te kunnen worden gebruikt in een expressie, moeten worden voorafgegaan door het teken @ (bijv. @row_number).

Variabele

Omschrijving

algorithm_id

De unieke ID van een algoritme

animation_end_time

Einde van de tijdsperiode van Tijdbeheer voor de gehele animatie (als een waarde datetime)

animation_interval

Duur van de tijdsperiode van Tijdbeheer voor de gehele animatie (als een waarde interval)

animation_start_time

Begin van de tijdsperiode van Tijdbeheer voor de gehele animatie (als een waarde datetime)

atlas_feature

Het huidige object in atlas (als object object)

atlas_featureid

Het huidige atlas object-ID

atlas_featurenumber

Het huidige nummer voor het object van atlas in de lay-out

atlas_filename

De huidige bestandsnaam voor atlas

atlas_geometry

De geometrie voor het huidige atlas-object

atlas_layerid

De huidige ID voor de bedekkingslaag van atlas

atlas_layername

De naam van de huidige bedekkingslaag van atlas

atlas_pagename

De huidige paginanaam voor atlas

atlas_totalfeatures

Het totale aantal objecten in de atlas

canvas_cursor_point

De laatste cursorpositie in het kaartvenster in de geografische coördinaten van het project

cluster_color

De kleur van symbolen binnen een cluster, of NULL als symbolen gemixte kleuren hebben

cluster_size

Het aantal opgenomen symbolen binnen een cluster

current_feature

Het object dat momenteel wordt bewerkt in het attributenformulier of n de tabelrij

current_geometry

De geometrie van het object dat momenteel wordt bewerkt in het attributenformulier of in de tabelrij

current_parent_feature

geeft het object terug dat momenteel wordt bewerkt in het ouderformulier. Alleen te gebruiken in de context van een ingebed formulier.

current_parent_geometry

geeft de geometrie van het object terug dat momenteel wordt bewerkt in het ouderformulier. Alleen te gebruiken in de context van een ingebed formulier.

form_mode

Waar het formulier voor gebruikt wordt, zoals AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode of IdentifyMode als tekenreeks.

feature NEW in 3.28

Geeft het huidige object weer dat wordt geëvalueerd. Dit kan worden gebruikt met de functie ‘attribute’ om waarden van attributen van het huidige object te evalueren.

frame_duration

Duur voor Tijdbeheer van elk frame voor de animatie (als een waarde interval)

frame_number

Huidige framenummer gedurende terugspelen van de animatie

frame_rate

Aantal frames per seconde gedurende terugspelen van de animatie

fullextent_maxx

Maximumwaarde X uit volledig bereik kaartvenster (inclusief alle lagen)

fullextent_maxy

Maximumwaarde Y uit volledig bereik kaartvenster (inclusief alle lagen)

fullextent_minx

Minimumwaarde X uit volledig bereik kaartvenster (inclusief alle lagen)

fullextent_miny

Minimumwaarde Y uit volledig bereik kaartvenster (inclusief alle lagen)

geometry NEW in 3.28

De geometrie van het huidige object dat wordt geëvalueerd

geometry_part_count

Het aantal delen in de geometrie van het gerenderde object

geometry_part_num

Het huidige nummer van het deel van de geometrie voor het object dat wordt gerenderd

geometry_point_count

Het aantal punten in het gerenderde deel van een geometrie

geometry_point_num

Het nummer van het huidige punt in het gerenderde deel van een geometrie

geometry_ring_num

Ringnummer voor huidige geometrie van het object dat momenteel wordt gerenderd (alleen voor objecten polygoon). De buitenste ring heeft de waarde 0.

grid_axis

De huidige as voor het annotatieraster (bijv, ‘x’ voor longitude, ‘y’ voor latitude).

grid_number

De huidige waarde annotatieraster

id NEW in 3.28

De ID van het huidige object dat wordt geëvalueerd

item_id

Het huidige gebruikers-ID van item afdruklay-out (niet noodzakelijkerwijze uniek)

item_uuid

Het unieke ID van item afdruklay-out

layer

De huidige laag

layer_crs

De ID van de autoriteit van het coördinaten referentiesysteem van de huidige laag

layer_id

Het ID van de huidige laag

layer_ids

De ID’s van alle kaartlagen in het huidige project, als een lijst

layer_name

De naam van de huidige laag

layers

Alle kaartlagen in het huidige project, als een lijst

layout_dpi

De resolutie van de lay-out (DPI)

layout_name

De naam van de lay-out

layout_numpages

Het aantal pagina’s in de lay-out

layout_page

Het paginanummer van het huidige item in de lay-out

layout_pageheight

De actieve paginahoogte in de lay-out (in mm voor standaard papiergrootten, of eender welke eenheid werd gebruikt voor aangepaste papiergrootte)

layout_pageoffsets

Array van Y-coördinaten voor de bovenzijde van elke pagina. Maakt het mogelijk items dynamisch te plaatsen op pagina’s in een context waarin paginagroottes kunnen wijzigen

layout_pagewidth

De actieve paginabreedte in de lay-out (in mm voor standaard papiergrootten, of eender welke eenheid werd gebruikt voor aangepaste papiergrootte)

legend_column_count

Het aantal kolommen in de legenda

legend_filter_by_map

Geeft aan of de inhoud van de legenda is gefilterd op de kaart

legend_filter_out_atlas

Geeft aan of de Atlas is uitgefilterd van de legenda

legend_split_layers

Geeft aan of lagen in de legenda kunnen worden gesplitst

legend_title

De titel van de legenda

legend_wrap_string

Het/de teken(s) die zijn gebruikt om de tekst van de legenda te verpakken

map_crs

De naam van het coördinaten referentiesysteem van de huidige kaart

map_crs_acronym

Het acroniem van het coördinaten referentiesysteem van de huidige kaart

map_crs_definition

De volledige definitie van het coördinaten referentiesysteem van de huidige kaart

map_crs_description

De naam van het coördinaten referentiesysteem van de huidige kaart

map_crs_ellipsoid

Het acroniem van de ellipsoïde van het coördinaten referentiesysteem van de huidige kaart

map_crs_proj4

De definitie voor Proj4 van het coördinaten referentiesysteem van de huidige kaart

map_crs_projection

De beschrijvende naam van projectie-methode die wordt gebruikt door het Coördinaten ReferentieSysteem van de kaart (bijv. ‘Albers Equal Area’)

map_crs_wkt

De definitie voor WKT van het coördinaten referentiesysteem van de huidige kaart

map_end_time

Het einde van de tijdsperiode van Tijdbeheer voor de kaart (als een waarde datetime)

map_extent

De geometrie die het huidige bereik van de kaart weergeeft

map_extent_center

Het puntobject in het midden van het kaartvenster

map_extent_height

De huidige hoogte van de kaart

map_extent_width

De huidige breedte van de kaart

map_id

Het ID van het huidige doel op de kaart. Dit zal ‘canvas’ zijn voor renderers van het kaartvenster, en het item-ID voor renderers van de afdruklay-out

map_interval

De duur van de tijdsperiode van Tijdbeheer voor de kaart (als een waarde interval)

map_layer_ids

De lijst met ID’s van op de kaart zichtbare lagen

map_layers

De lijst van op de kaart zichtbare lagen

map_rotation

De huidige rotatie van de kaart

map_scale

De huidige schaal van de kaart

map_start_time

Het begin van de tijdsperiode van Tijdbeheer voor de kaart (als een waarde datetime)

map_units

De maateenheden voor de kaart

model_path

Het volledige pad (inclusief bestandsnaam) van het huidige model (of pad van het project als het model is ingebed in een project).

model_folder

Map die het huidige model bevat (of map van het project als het model is ingebed in een project).

model_name

Naam van het huidige model

model_group

Groep voor het huidige model

notification_message

Inhoud van het notificatiebericht dat is verzonden door de provider (alleen beschikbaar voor acties die worden geactiveerd door notificaties van de provider).

parent

Verwijst naar het huidige object in de ouderlaag, toegang verschaffend tot de attributen en geometrie bij het filteren met een functie samenvoegen

project_abstract

De abstract van project, afkomstig uit de metadata van het project

project_area_units

De eenheid voor gebied voor het huidige project, gebruikt voor het berekenen van gebieden van geometrieën

project_author

De auteur van het project, afkomstig uit de metadata van het project

project_basename

De basisnaam van de bestandsnaam van het huidige project (zonder pad en extensie)

project_creation_date

De aanmaakdatum van het project, afkomstig uit de metadata van het project

project_crs

Het coördinaten referentiesysteem van het project

project_crs_arconym

Het acroniem van het coördinaten referentiesysteem van het project

project_crs_definition

De volledige definitie van het coördinaten referentiesysteem van het project

project_crs_description

De beschrijving van het coördinaten referentiesysteem van het project

project_crs_ellipsoid

De ellipsoïde van het coördinaten referentiesysteem van het project

project_crs_proj4

De weergave in Proj4 van het coördinaten referentiesysteem van het project

project_crs_wkt

De weergave in WKT (well known text) van het coördinaten referentiesysteem van het project

project_distance_units

De eenheid voor afstand voor het huidige project, gebruikt voor het berekenen van lengten van geometrieën en afstanden

project_ellipsoid

De naam van de ellipsoïde voor het huidige project, gebruikt voor het berekenen van geodetische gebieden of lengten van geometrieën

project_filename

De bestandsnaam van het huidige project

project_folder

De map voor het huidige project

project_home

Het pad naar de map voor het huidige project

project_identifier

De identificatie van het project, afkomstig uit de metadata van het project

project_keywords

De sleutelwoorden van het project, afkomstig uit de metadata van het project

project_last_saved

Datum/tijd van wanneer project voor het laatst werd opgeslagen.

project_path

Het volledige pad (inclusief bestandsnaam) van het huidige project

project_title

De titel van het huidige project

project_units

De eenheden van het CRS van het project

qgis_locale

De huidige taal van QGIS

qgis_os_name

De naam van het huidige besturingssysteem, bijv ‘Windows’, ‘Linux’ of ‘OSX’

qgis_platform

Het platform voor QGIS, bijv. ‘desktop’ of ‘server’

qgis_release_name

De naam van de huidige uitgave voor QGIS

qgis_short_version

De verkorte tekenreeks voor de huidige versie van QGIS

qgis_version

De tekenreeks voor de huidige versie van QGIS

qgis_version_no

Het huidige versienummer voor QGIS

row_number

Slaat het nummer van de huidige rij op

snapping_results

Geeft toegang tot de resultaten voor snappen bij digitaliseren van een object (alleen beschikbaar in Object toevoegen)

scale_value

De huidige waarde voor afstand van de schaalbalk

selected_file_path

Geselecteerde bestandspad uit de widget Bestandsselectie bij het uploaden van een bestand met een extern opslagsysteem

symbol_angle

De hoek van symbool dat is gebruikt om het object te renderen (alleen geldig voor markeringssymbolen)

symbol_color

De kleur van het symbool dat is gebruikt om het object te renderen

symbol_count

Het aantal objecten, weergegeven door het symbool (in de Legenda van lay-out)

symbol_id

Het interne ID van het symbool (in de Legenda van de lay-out)

symbol_label

Het label voor het symbool (ofwel een door de gebruiker gedefinieerd label of het standaard, automatisch gemaakte, label - in de Legenda van de lay-out)

symbol_layer_count

Totaal aantal symboollagen in het symbool

symbol_layer_index

Huidige index voor de symboollaag

symbol_marker_column

Kolomnummer voor markering (alleen geldig voor vullingen van puntpatroon).

symbol_marker_row

Rijnummer voor markering (alleen geldig voor vullingen van puntpatroon).

user_account_name

De accountnaam van de gebruiker voor het huidige besturingssysteem

user_full_name

De gebruikersnaam van de huidige gebruiker voor het besturingssysteem

value

De huidige waarde

vector_tile_zoom

Exacte vectortegel zoomniveau van de kaart die wordt gerenderd (afgeleid van de huidige schaal van de kaart). Normaal gesproken in interval [0, 20]. Anders dan @zoom_level, is deze variabele een waarde floating point die kan worden gebruikt om waarden te interpoleren tussen twee integere zoomniveaus.

with_variable

Maakt instellen van een variabele mogelijk om te gebruiken in een expressie om herhaaldelijk herberekenen van dezelfde waarde te vermijden

zoom_level

Vectortegel zoomniveau van de kaart die wordt gerenderd (afgeleid van de huidige schaal van de huidige kaart). Normaal gesproken in interval [0, 20].

Enkele voorbeelden:

  • Geef het X-coördinaat van het midden van een kaartitem in een lay-out terug:

    x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
    
  • Geef, voor elk object op de huidige laag, het aantal overlappende objecten airports terug:

    aggregate( layer:='airport', aggregate:='count', expression:="code",
                   filter:=intersects( $geometry, geometry( @parent ) ) )
    
  • Haal het object_ID op van het eerste gesnapte punt van een lijn:

    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.27. Functies Recent

Deze groep bevat recent gebruikte functies. Afhankelijk van de context van zijn gebruik (object selecteren, veldberekening, algemeen), worden recent toegepaste expressies toegevoegd aan de corresponderende lijst (tot maximaal tien expressies), gesorteerd van de meest tot de minst recente. Dit maakt het gemakkelijker om snel eerder gebruikte expressies terug te vinden.