Важно

Prevod je zajednički napor :ref:`možete se pridružiti `. Ova stranica je trenutno prevedena na |napredak prevođenja|.

9.2. Lista funkcija

Funkcije, operatori i promenljive dostupni u QGIS-u navedeni su ispod, grupisani po kategorijama.

9.2.1. Agregatne funkcije

Ova grupa sadrži funkcije koje agregiraju vrednosti preko slojeva i polja.

9.2.1.1. aggregate

Vraća agregatnu vrednost izračunatu pomoću objekata sa drugog sloja.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • layer - niska koja predstavlja naziv sloja ili ID sloja

  • aggregate - niska koja odgovara agregatu koji se računa. Važeće opcije su:

    • count

    • count_distinct

    • count_missing

    • minimum ili min

    • maximum ili max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: prvi kvartil

    • q3: treći kvartil

    • iqr: interkvartilni raspon

    • min_length: minimalna dužina niske

    • max_length: maksimalna dužina niske

    • concatenate: spaja niske pomoću spajača

    • concatenate_unique: spaja jedinstvene niske pomoću spajača

    • collect: pravi agregiranu višedelnu geometriju

    • array_agg: pravi niz agregiranih vrednosti

  • expression - podizraz ili naziv polja koje se agregira

  • filter - opcioni izraz filtera za ograničavanje objekata koji se koriste za računanje agregata. Polja i geometrija su sa objekata na spojenom sloju. Izvornom objektu se može pristupiti promenljivom @parent.

  • concatenator - opciona niska za spajanje vrednosti za agregate ’concatenate’ i ’concatenate_unique’

  • order_by - opcioni izraz filtera za uređivanje objekata koji se koriste za računanje agregata. Polja i geometrija su sa objekata na spojenom sloju. Podrazumevano se objekti vraćaju u neodređenom redosledu.

Primeri

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers") → zbir svih vrednosti iz polja passengers na sloju rail_stations

  • aggregate('rail_stations','sum', "passengers"/7) → računa dnevni prosek za „passengers” tako što polje „passengers” deli sa 7 pre sabiranja vrednosti

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:="class">3) → sabira sve vrednosti iz polja „passengers” samo sa objekata kod kojih je atribut „class” veći od 3

  • aggregate(layer:='rail_stations',aggregate:='concatenate', expression:="name", concatenator:=',') → lista polja name razdvojena zarezima za sve objekte na sloju rail_stations

  • aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( @geometry, geometry(@parent) ) ) → Kod države koja se preseca, na sloju ’countries’

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:=contains( @atlas_geometry, @geometry ) ) → zbir svih vrednosti iz polja passengers na sloju rail_stations unutar trenutnog objekta atlasa

  • aggregate(layer:='rail_stations', aggregate:='collect', expression:=centroid(@geometry), filter:="region_name" = attribute(@parent,'name') ) → agregira geometrije centroida objekata rail_stations iz iste regije kao trenutni objekat

9.2.1.2. array_agg

Vraća niz agregiranih vrednosti iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

  • order_by - opcioni izraz za uređivanje objekata koji se koriste za računanje agregata. Podrazumevano se objekti vraćaju u neodređenom redosledu.

Primeri

  • array_agg("name",group_by:="state") → lista vrednosti name, grupisana po polju state

9.2.1.3. collect

Vraća višedelnu geometriju agregiranih geometrija iz izraza

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - izraz geometrije koji se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • collect( @geometry ) → višedelna geometrija agregiranih geometrija

  • collect( centroid(@geometry), group_by:="region", filter:= "use" = 'civilian' ) → aggregated centroids of the civilian features based on their region value

9.2.1.4. concatenate

Vraća sve agregirane niske iz polja ili izraza spojene graničnikom.

Sintaksa

concatenate(expression, [group_by], [filter], [concatenator:=’’], [order_by])

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

  • concatenator - opciona niska za spajanje vrednosti. Podrazumevano prazna.

  • order_by - opcioni izraz za uređivanje objekata koji se koriste za računanje agregata. Podrazumevano se objekti vraćaju u neodređenom redosledu.

Primeri

  • concatenate("town_name",group_by:="state",concatenator:=',') → lista town_names razdvojena zarezima, grupisana po polju state

9.2.1.5. concatenate_unique

Vraća sve jedinstvene niske iz polja ili izraza spojene graničnikom.

Sintaksa

concatenate_unique(expression, [group_by], [filter], [concatenator:=’’], [order_by])

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

  • concatenator - opciona niska za spajanje vrednosti. Podrazumevano prazna.

  • order_by - opcioni izraz za uređivanje objekata koji se koriste za računanje agregata. Podrazumevano se objekti vraćaju u neodređenom redosledu.

Primeri

  • concatenate_unique("town_name",group_by:="state",concatenator:=',') → lista jedinstvenih town_names razdvojena zarezima, grupisana po polju state

9.2.1.6. count

Vraća broj podudarajućih objekata.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • count("stations",group_by:="state") → broj stanica, grupisan po polju state

9.2.1.7. count_distinct

Vraća broj jedinstvenih vrednosti.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • count_distinct("stations",group_by:="state") → broj jedinstvenih vrednosti stations, grupisan po polju state

9.2.1.8. count_missing

Vraća broj nedostajućih (NULL) vrednosti.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • count_missing("stations",group_by:="state") → broj nedostajućih (NULL) vrednosti stations, grupisan po polju state

9.2.1.9. iqr

Vraća izračunati interkvartilni raspon iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • iqr("population",group_by:="state") → interkvartilni raspon vrednosti population, grupisan po polju state

9.2.1.10. majority

Vraća agregatnu većinu vrednosti (najčešću vrednost) iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • majority("class",group_by:="state") → najčešća vrednost class, grupisana po polju state

9.2.1.11. max_length

Vraća maksimalnu dužinu niski iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • max_length("town_name",group_by:="state") → maksimalna dužina town_name, grupisana po polju state

9.2.1.12. maximum

Vraća agregatnu maksimalnu vrednost iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • maximum("population",group_by:="state") → maksimalna vrednost population, grupisana po polju state

9.2.1.13. mean

Vraća agregatnu srednju vrednost iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • mean("population",group_by:="state") → srednja vrednost population, grupisana po polju state

9.2.1.14. median

Vraća agregatnu medijanu iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • median("population",group_by:="state") → medijana vrednosti population, grupisana po polju state

9.2.1.15. min_length

Vraća minimalnu dužinu niski iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • min_length("town_name",group_by:="state") → minimalna dužina town_name, grupisana po polju state

9.2.1.16. minimum

Vraća agregatnu minimalnu vrednost iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • minimum("population",group_by:="state") → minimalna vrednost population, grupisana po polju state

9.2.1.17. minority

Vraća agregatnu manjinu vrednosti (najređu vrednost) iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • minority("class",group_by:="state") → najređa vrednost class, grupisana po polju state

9.2.1.18. q1

Vraća izračunati prvi kvartil iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • q1("population",group_by:="state") → prvi kvartil vrednosti population, grupisan po polju state

9.2.1.19. q3

Vraća izračunati treći kvartil iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • q3("population",group_by:="state") → treći kvartil vrednosti population, grupisan po polju state

9.2.1.20. range

Vraća agregatni raspon vrednosti (maksimum - minimum) iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • range("population",group_by:="state") → raspon vrednosti population, grupisan po polju state

9.2.1.21. relation_aggregate

Vraća agregatnu vrednost izračunatu pomoću svih podudarajućih podređenih objekata iz relacije sloja.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • relation - niska koja predstavlja ID relacije

  • aggregate - niska koja odgovara agregatu koji se računa. Važeće opcije su:

    • count

    • count_distinct

    • count_missing

    • minimum ili min

    • maximum ili max

    • sum

    • mean

    • median

    • stdev

    • stdevsample

    • range

    • minority

    • majority

    • q1: prvi kvartil

    • q3: treći kvartil

    • iqr: interkvartilni raspon

    • min_length: minimalna dužina niske

    • max_length: maksimalna dužina niske

    • concatenate: spaja niske pomoću spajača

    • concatenate_unique: spaja jedinstvene niske pomoću spajača

    • collect: pravi agregiranu višedelnu geometriju

    • array_agg: pravi niz agregiranih vrednosti

  • expression - podizraz ili naziv polja koje se agregira

  • concatenator - opciona niska za spajanje vrednosti za agregat ’concatenate’

  • order_by - opcioni izraz za uređivanje objekata koji se koriste za računanje agregata. Polja i geometrija su sa objekata na spojenom sloju. Podrazumevano se objekti vraćaju u neodređenom redosledu.

Primeri

  • relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers") → srednja vrednost svih podudarajućih podređenih objekata pomoću relacije ’my_relation’

  • relation_aggregate('my_relation','sum', "passengers"/7) → zbir polja passengers podeljen sa 7 za sve podudarajuće podređene objekte pomoću relacije ’my_relation’

  • relation_aggregate('my_relation','concatenate', "towns", concatenator:=',') → lista polja towns razdvojena zarezima za sve podudarajuće podređene objekte pomoću relacije ’my_relation’

  • relation_aggregate('my_relation','array_agg', "id") → niz polja id sa svih podudarajućih podređenih objekata pomoću relacije ’my_relation’

Više informacija: Setting relations between multiple layers

9.2.1.22. stdev

Vraća agregatnu standardnu devijaciju iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • stdev("population",group_by:="state") → standardna devijacija vrednosti population, grupisana po polju state

9.2.1.23. sum

Vraća agregatnu sumu vrednosti iz polja ili izraza.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • expression - podizraz polja koje se agregira

  • group_by - opcioni izraz za grupisanje agregatnih izračunavanja

  • filter - opcioni izraz za filtriranje objekata koji se koriste za računanje agregata

Primeri

  • sum("population",group_by:="state") → zbir vrednosti population, grupisan po polju state

9.2.2. Funkcije za nizove

Ova grupa sadrži funkcije za pravljenje nizova i rad sa njima (poznatih i kao liste). Redosled vrednosti unutar niza je bitan, za razliku od strukture podataka ’map’, gde redosled parova ključ-vrednost nije bitan, a vrednosti se identifikuju svojim ključevima.

9.2.2.1. array

Vraća niz koji sadrži sve vrednosti prosleđene kao parametar.

Sintaksa

array(value1, value2, …)

Argumenti

  • value - vrednost

Primeri

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

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

9.2.2.2. array_all

Vraća TRUE ako niz sadrži sve vrednosti zadatog niza.

Sintaksa

array_all(array_a, array_b)

Argumenti

  • array_a - niz

  • array_b - niz vrednosti koje se traže

Primeri

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

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

9.2.2.3. array_append

Vraća niz sa zadatom vrednošću dodatom na kraj.

Sintaksa

array_append(array, value)

Argumenti

  • array - niz

  • value - vrednost koja se dodaje

Primeri

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

9.2.2.4. array_cat

Vraća niz koji sadrži sve zadate nizove spojene.

Sintaksa

array_cat(array1, array2, …)

Argumenti

  • array - niz

Primeri

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

9.2.2.5. array_contains

Vraća TRUE ako niz sadrži zadatu vrednost.

Sintaksa

array_contains(array, value)

Argumenti

  • array - niz

  • value - vrednost koja se traži

Primeri

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

9.2.2.6. array_count

Broji koliko se puta zadata vrednost javlja u nizu.

Sintaksa

array_count(array, value)

Argumenti

  • array - niz

  • value - vrednost koja se broji

Primeri

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

9.2.2.7. array_distinct

Vraća niz koji sadrži jedinstvene vrednosti zadatog niza.

Sintaksa

array_distinct(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.8. array_filter

Vraća niz sa samo onim stavkama za koje izraz daje true.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • array - niz

  • expression - izraz koji se izračunava na svakoj stavci. Promenljiva @element biće zamenjena trenutnom vrednošću.

  • limit - maksimalan broj elemenata koji se vraćaju. Koristite 0 za vraćanje svih vrednosti.

Primeri

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

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

9.2.2.9. array_find

Vraća najmanji indeks (0 za prvi) vrednosti unutar niza. Vraća -1 ako vrednost nije pronađena.

Sintaksa

array_find(array, value)

Argumenti

  • array - niz

  • value - vrednost koja se traži

Primeri

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

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

9.2.2.10. array_first

Vraća prvu vrednost niza.

Sintaksa

array_first(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.11. array_foreach

Vraća niz sa izrazom izračunatim na svakoj stavci.

Sintaksa

array_foreach(array, expression)

Argumenti

  • array - niz

  • expression - izraz koji se izračunava na svakoj stavci. Promenljiva @element biće zamenjena trenutnom vrednošću, a promenljiva @counter trenutnim indeksom (počev od 0).

Primeri

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

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

  • array_foreach(array(1,2,3),@element + @counter) → [ 1, 3, 5 ]

9.2.2.12. array_get

Vraća N-tu vrednost (0 za prvu) ili poslednju -N-tu vrednost (-1 za poslednju) niza.

Sintaksa

array_get(array, pos)

Argumenti

  • array - niz

  • pos - indeks koji se preuzima (počev od 0)

Primeri

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

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

Путоказ

Za dobijanje vrednosti iz niza možete koristiti i operator indeksa ([]).

9.2.2.13. array_insert

Vraća niz sa zadatom vrednošću dodatom na zadatu poziciju.

Sintaksa

array_insert(array, pos, value)

Argumenti

  • array - niz

  • pos - pozicija na koju se dodaje (počev od 0)

  • value - vrednost koja se dodaje

Primeri

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

9.2.2.14. array_intersect

Vraća TRUE ako bar jedan element niza array1 postoji u array2.

Sintaksa

array_intersect(array1, array2)

Argumenti

  • array1 - niz

  • array2 - drugi niz

Primeri

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

9.2.2.15. array_last

Vraća poslednju vrednost niza.

Sintaksa

array_last(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.16. array_length

Vraća broj elemenata niza.

Sintaksa

array_length(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.17. array_majority

Vraća najčešće vrednosti u nizu.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • array - niz

  • option - niska koja zadaje rukovanje povratnim vrednostima. Važeće opcije su:

    • all: Podrazumevano, sve najčešće vrednosti vraćaju se u nizu.

    • any: Vraća jednu od najčešćih vrednosti.

    • median: Vraća medijanu najčešćih vrednosti. Nearitmetičke vrednosti se zanemaruju.

    • real_majority: Vraća vrednost koja se javlja u više od polovine veličine niza.

Primeri

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

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

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

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

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

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

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

9.2.2.18. array_max

Vraća maksimalnu vrednost niza.

Sintaksa

array_max(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.19. array_mean

Vraća srednju vrednost aritmetičkih vrednosti u nizu. Nenumeričke vrednosti u nizu se zanemaruju.

Sintaksa

array_mean(array)

Argumenti

  • array - niz

Primeri

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

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

9.2.2.20. array_median

Vraća medijanu aritmetičkih vrednosti u nizu. Nearitmetičke vrednosti u nizu se zanemaruju.

Sintaksa

array_median(array)

Argumenti

  • array - niz

Primeri

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

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

9.2.2.21. array_min

Vraća minimalnu vrednost niza.

Sintaksa

array_min(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.22. array_minority

Vraća ređe vrednosti u nizu.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • array - niz

  • option - niska koja zadaje rukovanje povratnim vrednostima. Važeće opcije su:

    • all: Podrazumevano, sve ređe vrednosti vraćaju se u nizu.

    • any: Vraća jednu od ređih vrednosti.

    • median: Vraća medijanu ređih vrednosti. Nearitmetičke vrednosti se zanemaruju.

    • real_minority: Vraća vrednosti koje se javljaju u manje od polovine veličine niza.

Primeri

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

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

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

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

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

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

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

9.2.2.23. array_prepend

Vraća niz sa zadatom vrednošću dodatom na početak.

Sintaksa

array_prepend(array, value)

Argumenti

  • array - niz

  • value - vrednost koja se dodaje

Primeri

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

9.2.2.24. array_prioritize

Vraća niz sortiran prema redosledu zadatom u drugom nizu. Vrednosti koje postoje u prvom nizu, a nedostaju u drugom, biće dodate na kraj rezultata.

Sintaksa

array_prioritize(array, array_prioritize)

Argumenti

  • array - niz

  • array_prioritize - niz sa vrednostima poređanim po prioritetu

Primeri

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

9.2.2.25. array_remove_all

Vraća niz iz kojeg su uklonjene sve stavke sa zadatom vrednošću.

Sintaksa

array_remove_all(array, value)

Argumenti

  • array - niz

  • value - vrednosti koje se uklanjaju

Primeri

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

9.2.2.26. array_remove_at

Vraća niz iz kojeg je uklonjena stavka na zadatom indeksu. Podržava pozitivan (0 za prvi element) i negativan indeks (poslednja -N-ta vrednost, -1 za poslednji element).

Sintaksa

array_remove_at(array, pos)

Argumenti

  • array - niz

  • pos - pozicija koja se uklanja (počev od 0)

Primeri

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

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

9.2.2.27. array_replace

Vraća niz sa zamenjenom zadatom vrednošću, nizom ili mapom vrednosti.

Varijanta sa vrednošću i nizom

Vraća niz u kojem je zadata vrednost ili niz vrednosti zamenjen drugom vrednošću ili nizom vrednosti.

Sintaksa

array_replace(array, before, after)

Argumenti

  • array - ulazni niz

  • before - vrednost ili niz vrednosti koje se zamenjuju

  • after - vrednost ili niz vrednosti koje se koriste kao zamena

Primeri

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

Varijanta sa mapom

Vraća niz u kojem su zadati ključevi mape zamenjeni njihovim uparenim vrednostima.

Sintaksa

array_replace(array, map)

Argumenti

  • array - ulazni niz

  • map - mapa koja sadrži ključeve i vrednosti

Primeri

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

Više informacija: replace, regexp_replace

9.2.2.28. array_reverse

Vraća zadati niz sa vrednostima u obrnutom redosledu.

Sintaksa

array_reverse(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.29. array_slice

Vraća deo niza. Isečak je definisan argumentima start_pos i end_pos.

Sintaksa

array_slice(array, start_pos, end_pos)

Argumenti

  • array - niz

  • start_pos - indeks početne pozicije isečka (počev od 0). Indeks start_pos uključen je u isečak. Ako koristite negativan start_pos, indeks se broji od kraja liste (počev od -1).

  • end_pos - indeks krajnje pozicije isečka (počev od 0). Indeks end_pos uključen je u isečak. Ako koristite negativan end_pos, indeks se broji od kraja liste (počev od -1).

Primeri

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

9.2.2.30. array_sort

Vraća zadati niz sa sortiranim elementima.

Sintaksa

array_sort(array, [ascending:=true])

[] označava opcione argumente

Argumenti

  • array - niz

  • ascending - postavite ovaj parametar na false da biste niz sortirali u opadajućem redosledu

Primeri

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

9.2.2.31. array_sum

Vraća zbir aritmetičkih vrednosti u nizu. Nenumeričke vrednosti u nizu se zanemaruju.

Sintaksa

array_sum(array)

Argumenti

  • array - niz

Primeri

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

9.2.2.32. array_to_string

Spaja elemente niza u nisku razdvojenu graničnikom, uz opcionu nisku za prazne vrednosti.

Sintaksa

array_to_string(array, [delimiter:=’,’], [emptyvalue:=’’])

[] označava opcione argumente

Argumenti

  • array - ulazni niz

  • delimiter - graničnik u vidu niske koji se koristi za razdvajanje spojenih elemenata niza

  • emptyvalue - opciona niska koja se koristi kao zamena za prazna podudaranja (nulte dužine)

Primeri

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

Više informacija: string_to_array

9.2.2.33. generate_series

Pravi niz koji sadrži niz brojeva.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • start - prva vrednost niza

  • stop - vrednost koja završava niz kada se dostigne

  • step - vrednost koja se koristi kao korak između vrednosti

Primeri

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

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

9.2.2.34. geometries_to_array

Deli geometriju na jednostavnije geometrije u nizu.

Sintaksa

geometries_to_array(geometry)

Argumenti

  • geometry - ulazna geometrija

Primeri

  • geometries_to_array(geom_from_wkt('MultiPoint (1 2, 5 21)')) → Niz koji sadrži ’Point (1 2)’ i ’Point (5 21)’

  • geometries_to_array(geom_from_wkt('GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))')) → niz sa poligonskom i linijskom geometrijom

  • 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))')) → niz sa dve poligonske geometrije

9.2.2.35. regexp_matches

Vraća niz svih niski uhvaćenih grupama za hvatanje, redosledom kojim se same grupe pojavljuju u zadatom regularnom izrazu nad niskom.

Sintaksa

regexp_matches(string, regex, [emptyvalue:=’’])

[] označava opcione argumente

Argumenti

  • string - niska iz koje se hvataju grupe pomoću regularnog izraza

  • regex - regularni izraz koji se koristi za hvatanje grupa

  • emptyvalue - opciona niska koja se koristi kao zamena za prazna podudaranja (nulte dužine)

Primeri

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

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

Više informacija: substr, regexp_substr

9.2.2.36. string_to_array

Deli nisku u niz pomoću zadatog graničnika i opcione niske za prazne vrednosti.

Sintaksa

string_to_array(string, [delimiter:=’,’], [emptyvalue:=’’])

[] označava opcione argumente

Argumenti

  • string - ulazna niska

  • delimiter - graničnik u vidu niske koji se koristi za deljenje ulazne niske

  • emptyvalue - opciona niska koja se koristi kao zamena za prazna podudaranja (nulte dužine)

Primeri

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

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

Više informacija: array_to_string

9.2.3. Funkcije za boje

Ova grupa sadrži funkcije za rad sa bojama.

9.2.3.1. color_cmyk

Vraća predstavljanje boje u vidu niske na osnovu njenih cijan, magenta, žute i crne komponente

Sintaksa

color_cmyk(cyan, magenta, yellow, black)

Argumenti

  • cyan - cijan komponenta boje, kao procentualni ceo broj od 0 do 100

  • magenta - magenta komponenta boje, kao procentualni ceo broj od 0 do 100

  • yellow - žuta komponenta boje, kao procentualni ceo broj od 0 do 100

  • black - crna komponenta boje, kao procentualni ceo broj od 0 do 100

Primeri

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

9.2.3.2. color_cmyka

Vraća predstavljanje boje u vidu niske na osnovu njenih cijan, magenta, žute, crne i alfa (prozirnost) komponente

Sintaksa

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

Argumenti

  • cyan - cijan komponenta boje, kao procentualni ceo broj od 0 do 100

  • magenta - magenta komponenta boje, kao procentualni ceo broj od 0 do 100

  • yellow - žuta komponenta boje, kao procentualni ceo broj od 0 do 100

  • black - crna komponenta boje, kao procentualni ceo broj od 0 do 100

  • alpha - alfa komponenta kao ceo broj od 0 (potpuno prozirno) do 255 (neprozirno).

Primeri

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

9.2.3.3. color_cmykf

Vraća objekat boje na osnovu njenih cijan, magenta, žute, crne i alfa komponente.

Sintaksa

color_cmykf(cyan, magenta, yellow, black, [alpha:=1.0])

[] označava opcione argumente

Argumenti

  • cyan - cijan komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • magenta - magenta komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • yellow - žuta komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • black - crna komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • alpha - alfa komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

Primeri

  • color_cmykf(1,0.9,0.81,0.62) → CMYKA: 1.00,0.90,0.81,0.62,1.00

9.2.3.4. color_grayscale_average

Primenjuje filter sivih tonova na boju i vraća je. Vraćeni tip je isti kao tip argumenta boje, tj. predstavljanje boje u vidu niske ili objekat boje.

Sintaksa

color_grayscale_average(color)

Argumenti

  • color - predstavljanje boje u vidu niske ili objekat boje

Primeri

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

  • color_grayscale_average(color_cmykf(0.6,0.5,0.1,0.8)) → CMYKA: 0.40,0.40,0.40,0.80,1.00

9.2.3.5. color_hsl

Vraća predstavljanje boje u vidu niske na osnovu njenih atributa nijanse, zasićenja i svetline.

Sintaksa

color_hsl(hue, saturation, lightness)

Argumenti

  • hue - nijansa boje, kao ceo broj od 0 do 360

  • saturation - procenat zasićenja boje kao ceo broj od 0 do 100

  • lightness - procenat svetline boje kao ceo broj od 0 do 100

Primeri

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

9.2.3.6. color_hsla

Vraća predstavljanje boje u vidu niske na osnovu njenih atributa nijanse, zasićenja, svetline i alfe (prozirnosti)

Sintaksa

color_hsla(hue, saturation, lightness, alpha)

Argumenti

  • hue - nijansa boje, kao ceo broj od 0 do 360

  • saturation - procenat zasićenja boje kao ceo broj od 0 do 100

  • lightness - procenat svetline boje kao ceo broj od 0 do 100

  • alpha - alfa komponenta kao ceo broj od 0 (potpuno prozirno) do 255 (neprozirno).

Primeri

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

9.2.3.7. color_hslf

Vraća objekat boje na osnovu njenih atributa nijanse, zasićenja i svetline.

Sintaksa

color_hslf(hue, saturation, lightness, [alpha:=1.0])

[] označava opcione argumente

Argumenti

  • hue - nijansa boje, kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • saturation - zasićenje boje kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • lightness - svetlina boje kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • alpha - alfa komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

Primeri

  • color_hslf(0.3,0.52,0.7) → HSLA: 0.30,0.52,0.70,1.00

9.2.3.8. color_hsv

Vraća predstavljanje boje u vidu niske na osnovu njenih atributa nijanse, zasićenja i vrednosti.

Sintaksa

color_hsv(hue, saturation, value)

Argumenti

  • hue - nijansa boje, kao ceo broj od 0 do 360

  • saturation - procenat zasićenja boje kao ceo broj od 0 do 100

  • value - procenat vrednosti boje kao ceo broj od 0 do 100

Primeri

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

9.2.3.9. color_hsva

Vraća predstavljanje boje u vidu niske na osnovu njenih atributa nijanse, zasićenja, vrednosti i alfe (prozirnosti).

Sintaksa

color_hsva(hue, saturation, value, alpha)

Argumenti

  • hue - nijansa boje, kao ceo broj od 0 do 360

  • saturation - procenat zasićenja boje kao ceo broj od 0 do 100

  • value - procenat vrednosti boje kao ceo broj od 0 do 100

  • alpha - alfa komponenta kao ceo broj od 0 (potpuno prozirno) do 255 (neprozirno)

Primeri

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

9.2.3.10. color_hsvf

Vraća objekat boje na osnovu njenih atributa nijanse, zasićenja i vrednosti.

Sintaksa

color_hsvf(hue, saturation, value, [alpha:=1.0])

[] označava opcione argumente

Argumenti

  • hue - nijansa boje, kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • saturation - zasićenje boje kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • value - vrednost boje kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • alpha - alfa komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

Primeri

  • color_hsvf(0.4,1,0.6) → HSVA: 0.40,1.00,0.60,1.00

9.2.3.11. color_mix

Vraća boju koja meša crvenu, zelenu, plavu i alfa vrednost dve zadate boje na osnovu zadatog odnosa. Vraćeni tip je isti kao tip argumenata boje, tj. predstavljanje boje u vidu niske ili objekat boje.

Sintaksa

color_mix(color1, color2, ratio)

Argumenti

  • color1 - niska boje ili objekat boje

  • color2 - niska boje ili objekat boje

  • ratio - odnos

Primeri

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

  • color_mix(color_cmykf(0.9,0.9,0.9,0.9),color_cmykf(0.1,0.1,0.1,0.1),0.5) → CMYKA: 0.50,0.50,0.50,0.50,1.00

9.2.3.12. color_mix_rgb

Vraća nisku koja predstavlja boju koja meša crvenu, zelenu, plavu i alfa vrednost dve zadate boje na osnovu zadatog odnosa.

Sintaksa

color_mix_rgb(color1, color2, ratio)

Argumenti

  • color1 - niska boje

  • color2 - niska boje

  • ratio - odnos

Primeri

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

9.2.3.13. color_part

Vraća određenu komponentu iz niske boje ili objekta boje, npr. crvenu komponentu ili alfa komponentu.

Sintaksa

color_part(color, component)

Argumenti

  • color - niska boje ili objekat boje

  • component - niska koja odgovara komponenti boje koja se vraća. Važeće opcije su:

    • red: RGB crvena komponenta (0-255)

    • green: RGB zelena komponenta (0-255)

    • blue: RGB plava komponenta (0-255)

    • alpha: alfa vrednost (prozirnost) (0-255)

    • hue: HSV nijansa (0-360)

    • saturation: HSV zasićenje (0-100)

    • value: HSV vrednost (0-100)

    • hsl_hue: HSL nijansa (0-360)

    • hsl_saturation: HSL zasićenje (0-100)

    • lightness: HSL svetlina (0-100)

    • cyan: CMYK cijan komponenta (0-100)

    • magenta: CMYK magenta komponenta (0-100)

    • yellow: CMYK žuta komponenta (0-100)

    • black: CMYK crna komponenta (0-100)

Primeri

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

  • to_int(color_part(color_cmykf(0.1,0.2,0.3,0.9),'black')) → 90

9.2.3.14. color_rgb

Vraća predstavljanje boje u vidu niske na osnovu njenih crvene, zelene i plave komponente.

Sintaksa

color_rgb(red, green, blue)

Argumenti

  • red - crvena komponenta kao ceo broj od 0 do 255

  • green - zelena komponenta kao ceo broj od 0 do 255

  • blue - plava komponenta kao ceo broj od 0 do 255

Primeri

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

9.2.3.15. color_rgba

Vraća predstavljanje boje u vidu niske na osnovu njenih crvene, zelene, plave i alfa (prozirnost) komponente.

Sintaksa

color_rgba(red, green, blue, alpha)

Argumenti

  • red - crvena komponenta kao ceo broj od 0 do 255

  • green - zelena komponenta kao ceo broj od 0 do 255

  • blue - plava komponenta kao ceo broj od 0 do 255

  • alpha - alfa komponenta kao ceo broj od 0 (potpuno prozirno) do 255 (neprozirno).

Primeri

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

9.2.3.16. color_rgbf

Vraća objekat boje na osnovu njenih crvene, zelene, plave i alfa komponente.

Sintaksa

color_rgbf(red, green, blue, [alpha:=1.0])

[] označava opcione argumente

Argumenti

  • red - crvena komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • green - zelena komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • blue - plava komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

  • alpha - alfa komponenta kao vrednost u pokretnom zarezu od 0.0 do 1.0

Primeri

  • color_rgbf(1.0,0.5,0) → RGBA: 1.00,0.50,0.00,1.00

9.2.3.17. create_ramp

Vraća gradijentnu rampu od mape niski boja i koraka.

Sintaksa

create_ramp(map, [discrete:=false])

[] označava opcione argumente

Argumenti

  • map - mapa niski boja i koraka

  • discrete - postavite ovaj parametar na true da biste napravili diskretnu rampu boja

Primeri

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

9.2.3.18. darker

Vraća tamniju (ili svetliju) boju. Vraćeni tip je isti kao tip argumenata boje, tj. predstavljanje boje u vidu niske ili objekat boje.

Sintaksa

darker(color, factor)

Argumenti

  • color - niska boje ili objekat boje

  • factor - ceo broj koji odgovara faktoru potamnjivanja:

    • ako je faktor veći od 100, ova funkcija vraća tamniju boju (npr. postavljanje faktora na 200 vraća boju upola manje svetline);

    • ako je faktor manji od 100, vraćena boja je svetlija, ali se za tu svrhu preporučuje funkcija lighter();

    • ako je faktor 0 ili negativan, vraćena vrednost nije određena.

Primeri

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

Više informacija: lighter

9.2.3.19. lighter

Vraća svetliju (ili tamniju) boju. Vraćeni tip je isti kao tip argumenata boje, tj. predstavljanje boje u vidu niske ili objekat boje.

Sintaksa

lighter(color, factor)

Argumenti

  • color - niska boje ili objekat boje

  • factor - ceo broj koji odgovara faktoru posvetljivanja:

    • ako je faktor veći od 100, ova funkcija vraća svetliju boju (npr. postavljanje faktora na 150 vraća boju koja je 50% svetlija);

    • ako je faktor manji od 100, vraćena boja je tamnija, ali se za tu svrhu preporučuje funkcija darker();

    • ako je faktor 0 ili negativan, vraćena vrednost nije određena.

Primeri

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

Više informacija: darker

9.2.3.20. project_color

Vraća boju iz šeme boja projekta.

Sintaksa

project_color(name)

Argumenti

  • name - naziv boje

Primeri

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

Više informacija: podešavanje boja projekta

9.2.3.21. project_color_object

Vraća boju iz šeme boja projekta. Za razliku od project_color, koja vraća predstavljanje boje u vidu niske, project_color_object vraća objekat boje.

Sintaksa

project_color_object(name)

Argumenti

  • name - naziv boje

Primeri

  • project_color_object('Logo color') → RGBA: 0.08,0.55,0.20,1.00

9.2.3.22. ramp_color

Vraća nisku koja predstavlja boju sa rampe boja.

Varijanta sa sačuvanom rampom

Vraća nisku koja predstavlja boju sa sačuvane rampe

Sintaksa

ramp_color(ramp_name, value)

Argumenti

  • ramp_name - naziv rampe boja kao niska, na primer ’Spectral’

  • value - pozicija na rampi sa koje se bira boja, kao realan broj između 0 i 1

Primeri

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

Белешка

Rampe boja se razlikuju između QGIS instalacija. Ova funkcija možda neće dati očekivane rezultate ako QGIS projekat premeštate između instalacija.

Varijanta sa rampom napravljenom izrazom

Vraća nisku koja predstavlja boju sa rampe napravljene izrazom

Sintaksa

ramp_color(ramp, value)

Argumenti

  • ramp - rampa boja

  • value - pozicija na rampi sa koje se bira boja, kao realan broj između 0 i 1

Primeri

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

Više informacija: Setting a Color Ramp, The color ramp drop-down shortcut

9.2.3.23. ramp_color_object

Vraća objekat boje sa rampe boja. Za razliku od ramp_color, koja vraća predstavljanje boje u vidu niske, ramp_color_object vraća objekat boje.

Varijanta sa sačuvanom rampom

Vraća objekat boje iz sačuvane rampe

Sintaksa

ramp_color_object(ramp_name, value)

Argumenti

  • ramp_name - naziv rampe boja kao niska, na primer ’Spectral’

  • value - pozicija na rampi sa koje se bira boja, kao realan broj između 0 i 1

Primeri

  • ramp_color_object('Spectral',0.3) → RGBA: 0.99,0.75,0.45,1.00

Белешка

Rampe boja se razlikuju između QGIS instalacija. Ova funkcija možda neće dati očekivane rezultate ako QGIS projekat premeštate između instalacija.

Varijanta sa rampom napravljenom izrazom

Vraća objekat boje sa rampe napravljene izrazom

Sintaksa

ramp_color_object(ramp, value)

Argumenti

  • ramp - rampa boja

  • value - pozicija na rampi sa koje se bira boja, kao realan broj između 0 i 1

Primeri

  • ramp_color_object(create_ramp(map(0,color_rgbf(0,0,0),1,color_rgbf(1,0,0))),1) → RGBA: 1.00,0.00,0.00,1.00

9.2.3.24. set_color_part

Postavlja određenu komponentu boje za nisku boje ili objekat boje, npr. crvenu komponentu ili alfa komponentu.

Sintaksa

set_color_part(color, component, value)

Argumenti

  • color - niska boje ili objekat boje

  • component - niska koja odgovara komponenti boje koja se postavlja. Važeće opcije su:

    • red: RGB crvena komponenta (0-255)

    • green: RGB zelena komponenta (0-255)

    • blue: RGB plava komponenta (0-255)

    • alpha: alfa vrednost (prozirnost) (0-255)

    • hue: HSV nijansa (0-360)

    • saturation: HSV zasićenje (0-100)

    • value: HSV vrednost (0-100)

    • hsl_hue: HSL nijansa (0-360)

    • hsl_saturation: HSL zasićenje (0-100)

    • lightness: HSL svetlina (0-100)

    • cyan: CMYK cijan komponenta (0-100)

    • magenta: CMYK magenta komponenta (0-100)

    • yellow: CMYK žuta komponenta (0-100)

    • black: CMYK crna komponenta (0-100)

  • value - nova vrednost za komponentu boje, u skladu sa gore navedenim opsezima

Primeri

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

  • set_color_part(color_cmykf(0.21,0,0.92,0.70),'black',100) → CMYKA: 0.21,0.00,0.92,1.00,1.00

9.2.4. Uslovne funkcije

Ova grupa sadrži funkcije za rukovanje uslovnim proverama u izrazima.

9.2.4.1. CASE

CASE se koristi za izračunavanje niza uslova i vraćanje rezultata za prvi ispunjeni uslov. Uslovi se izračunavaju redom, a ako je uslov tačan, izračunavanje se zaustavlja i vraća se odgovarajući rezultat. Ako nijedan od uslova nije tačan, vraća se vrednost iz ELSE klauzule. Osim toga, ako ELSE klauzula nije postavljena i nijedan uslov nije ispunjen, vraća se NULL.

CASE

WHEN condition THEN result

[ …n ]

[ ELSE result ]

END

[ ] označava opcione komponente

Argumenti

  • WHEN condition - Uslovni izraz koji se izračunava

  • THEN result - Ako condition daje True, izračunava se i vraća result.

  • ELSE result - Ako nijedan od gornjih uslova nije dao True, izračunava se i vraća result.

Primeri

  • CASE WHEN "name" IS NULL THEN 'None' END → Vraća nisku ’None’ ako je polje „name” NULL

  • CASE WHEN $area > 10000 THEN 'Big property' WHEN $area > 5000 THEN 'Medium property' ELSE 'Small property' END → Returns the string ’Big property’ if the area is bigger than 10000, ’Medium property’ if the area is between 5000 and 10000, and ’Small property’ for others

9.2.4.2. coalesce

Vraća prvu vrednost koja nije NULL iz liste izraza.

Ova funkcija može primiti bilo koji broj argumenata.

Sintaksa

coalesce(expression1, expression2, …)

Argumenti

  • expression - bilo koji ispravan izraz ili vrednost, bez obzira na tip.

Primeri

  • coalesce(NULL, 2) → 2

  • coalesce(NULL, 2, 3) → 2

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

  • coalesce("fieldA", "fallbackField", 'ERROR') → vrednost polja fieldA ako nije NULL, u suprotnom vrednost polja „fallbackField”, ili niska ’ERROR’ ako su oba NULL

9.2.4.3. if

Testira uslov i vraća različit rezultat u zavisnosti od uslovne provere.

Sintaksa

if(condition, result_when_true, result_when_false)

Argumenti

  • condition - uslov koji treba proveriti

  • result_when_true - rezultat koji se vraća kada je uslov tačan ili neka druga vrednost koja se ne pretvara u false.

  • result_when_false - rezultat koji se vraća kada je uslov netačan ili neka druga vrednost koja se pretvara u false, kao 0 ili ’’. I NULL se pretvara u false.

Primeri

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

9.2.4.4. nullif

Vraća NULL vrednost ako je value1 jednako value2; u suprotnom vraća value1. Ovo se može koristiti za uslovnu zamenu vrednosti sa NULL.

Sintaksa

nullif(value1, value2)

Argumenti

  • value1 - Vrednost koja će se ili koristiti ili zameniti sa NULL.

  • value2 - Kontrolna vrednost koja pokreće zamenu sa NULL.

Primeri

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

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

  • nullif("name", '') → NULL, ako je name prazna niska (ili već NULL), a name u svim ostalim slučajevima.

9.2.4.5. regexp_match

Vraća prvu poziciju podudaranja sa regularnim izrazom unutar unicode niske, ili 0 ako podniska nije pronađena.

Sintaksa

regexp_match(input_string, regex)

Argumenti

  • input_string - niska koja se testira regularnim izrazom

  • regex - Regularni izraz sa kojim se testira. Znakovi obrnute kose crte moraju biti dvostruko izbegnuti (npr. „\\s” za podudaranje sa belim znakom ili „\\b” za podudaranje sa granicom reči).

Primeri

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

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

9.2.4.6. try

Pokušava izraz i vraća njegovu vrednost ako nema greške. Ako izraz vrati grešku, vratiće se alternativna vrednost ako je zadata, u suprotnom funkcija vraća NULL.

Sintaksa

try(expression, [alternative])

[] označava opcione argumente

Argumenti

  • expression - izraz koji treba pokrenuti

  • alternative - rezultat koji će biti vraćen ako izraz vrati grešku.

Primeri

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

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

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

9.2.5. Funkcije za pretvaranje

Ova grupa sadrži funkcije za pretvaranje jednog tipa podataka u drugi (npr. niska iz/u ceo broj, binarno iz/u nisku, niska u datum, …).

9.2.5.1. from_base64

Dekodira nisku u Base64 kodiranju u binarnu vrednost.

Sintaksa

from_base64(string)

Argumenti

  • string - niska koja se dekodira

Primeri

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

9.2.5.2. hash

Pravi heš od niske zadatim metodom. Jedan bajt (8 bitova) predstavlja se sa dve heksadecimalne ’’cifre’’, pa ’md4’ (16 bajtova) daje heksadecimalnu nisku dužine 16 * 2 = 32 znaka, a ’keccak_512’ (64 bajta) daje heksadecimalnu nisku dužine 64 * 2 = 128 znakova.

Sintaksa

hash(string, method)

Argumenti

  • string - niska za koju se pravi heš

  • method - The hash method among ’md4’, ’md5’, ’sha1’, ’sha224’, ’sha384’, ’sha512’, ’sha3_224’, ’sha3_256’, ’sha3_384’, ’sha3_512’, ’keccak_224’, ’keccak_256’, ’keccak_384’, ’keccak_512’

Primeri

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

9.2.5.3. md5

Pravi md5 heš od niske.

Sintaksa

md5(string)

Argumenti

  • string - niska za koju se pravi heš

Primeri

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

9.2.5.4. sha256

Pravi sha256 heš od niske.

Sintaksa

sha256(string)

Argumenti

  • string - niska za koju se pravi heš

Primeri

  • sha256('QGIS') → ’eb045cba7a797aaa06ac58830846e40c8e8c780bc0676d3393605fae50c05309’

9.2.5.5. to_base64

Kodira binarnu vrednost u nisku koristeći Base64 kodiranje.

Sintaksa

to_base64(value)

Argumenti

  • value - binarna vrednost koja se kodira

Primeri

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

9.2.5.6. to_bool

Pretvara zadatu vrednost u logičku vrednost. Funkcija vraća false ako je vrednost NULL, prazna niska, prazna lista ili 0.

Sintaksa

to_bool(value)

Argumenti

  • value - vrednost koja se pretvara u logičku vrednost

Primeri

  • to_bool('') → false

  • to_bool('123') → true

  • to_bool('false') → true

  • to_bool(0) → false

  • to_bool(1) → true

  • to_bool(null) → false

9.2.5.7. to_date

Pretvara nisku u objekat datuma. Može se zadati opciona niska formata za parsiranje; pogledajte QDate::fromString ili dokumentaciju funkcije format_date za dodatnu dokumentaciju o formatu. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja vrednost datuma

  • format - format koji se koristi za pretvaranje niske u datum

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u datum. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

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

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, ako trenutni lokalitet koristi naziv ’June’ za šesti mesec, u suprotnom dolazi do greške

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

Više informacija: format_date

9.2.5.8. to_datetime

Pretvara nisku u datetime objekat. Može se zadati opciona niska formata za parsiranje; za dodatnu dokumentaciju o formatu pogledajte QDate::fromString, QTime::fromString ili dokumentaciju funkcije format_date. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja datetime vrednost

  • format - format koji se koristi za pretvaranje niske u datetime

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u datetime. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

  • 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, ako trenutni lokalitet koristi naziv ’June’ za šesti mesec, u suprotnom dolazi do greške

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

Više informacija: format_date

9.2.5.9. to_decimal

Pretvara koordinatu u stepenima, minutima i sekundama u njen decimalni ekvivalent.

Sintaksa

to_decimal(value)

Argumenti

  • value - Niska sa stepenima, minutima, sekundama.

Primeri

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

9.2.5.10. to_dm

Pretvara koordinatu u stepen, minut.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • coordinate - Vrednost geografske širine ili dužine.

  • axis - Osa koordinate. Ili ’x’ ili ’y’.

  • precision - Broj decimala.

  • formatting - Određuje tip formatiranja. Prihvatljive vrednosti su NULL (podrazumevano), ’aligned’ ili ’suffix’.

Primeri

  • 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

9.2.5.11. to_dms

Pretvara koordinatu u stepen, minut, sekund.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • coordinate - Vrednost geografske širine ili dužine.

  • axis - Osa koordinate. Ili ’x’ ili ’y’.

  • precision - Broj decimala.

  • formatting - Određuje tip formatiranja. Prihvatljive vrednosti su NULL (podrazumevano), ’aligned’ ili ’suffix’.

Primeri

  • 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

9.2.5.12. to_int

Pretvara nisku u ceo broj. Ako se vrednost ne može pretvoriti u ceo broj, izraz je neispravan (npr. ’123asd’ je neispravno).

Sintaksa

to_int(string)

Argumenti

  • string - niska koja se pretvara u ceo broj

Primeri

  • to_int('123') → 123

9.2.5.13. to_interval

Pretvara nisku u tip interval. Može se koristiti za uzimanje dana, sati, meseci itd. iz datuma.

Sintaksa

to_interval(string)

Argumenti

  • string - niska koja predstavlja interval. Dozvoljeni formati uključuju {n} days {n} hours {n} months.

Primeri

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

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

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

9.2.5.14. to_real

Pretvara nisku u realan broj. Ako se vrednost ne može pretvoriti u realan broj, izraz je neispravan (npr. ’123.56asd’ je neispravno). Brojevi se zaokružuju nakon čuvanja izmena ako je preciznost manja od rezultata pretvaranja.

Sintaksa

to_real(string)

Argumenti

  • string - niska koja se pretvara u realan broj

Primeri

  • to_real('123.45') → 123.45

9.2.5.15. to_string

Pretvara broj u nisku. Pretvaranje ne uzima u obzir lokalitet; za alternativu koja uzima lokalitet u obzir pogledajte ’format_number’.

Sintaksa

to_string(number)

Argumenti

  • number - Ceo ili realan broj. Broj koji se pretvara u nisku.

Primeri

  • to_string(1.23) → ’1.23’

Više informacija: format_number

9.2.5.16. to_time

Pretvara nisku u objekat vremena. Može se zadati opciona niska formata za parsiranje; za dodatnu dokumentaciju o formatu pogledajte QTime::fromString.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja vrednost vremena

  • format - format koji se koristi za pretvaranje niske u vreme

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u vreme

Primeri

  • 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

Više informacija: format_date

9.2.6. Funkcije za CRS

Ova grupa sadrži funkcije za rad sa objektima koordinatnog referentnog sistema.

9.2.6.1. crs_from_text

Pravi koordinatni referentni sistem iz definicije u vidu niske. Niska može predstavljati ID autoriteta, WKT definiciju ili PROJ definiciju CRS-a.

Sintaksa

crs_from_text(definition)

Argumenti

  • definition - definicija CRS-a

Primeri

  • crs_from_text('EPSG:3857') → crs vrednost ’EPSG:3857 - WGS 84 / Pseudo-Mercator’

  • crs_from_text('PROJ:+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs') → crs vrednost ’EPSG:3857 - WGS 84 / Pseudo-Mercator’

9.2.6.2. crs_to_authid

Vraća nisku ID-ja autoriteta za koordinatni referentni sistem.

Sintaksa

crs_to_authid(crs)

Argumenti

  • crs - crs vrednost

Primeri

  • crs_to_authid(crs_from_text('PROJ:+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs +type=crs')) → ’EPSG:3857’

9.2.7. Prilagođene funkcije

Ova grupa sadrži funkcije koje je napravio korisnik. Više detalja u Function Editor.

9.2.8. Funkcije za datum i vreme

Ova grupa sadrži funkcije za rad sa podacima o datumu i vremenu. Ova grupa deli nekoliko funkcija sa grupama Funkcije za pretvaranje (to_date, to_time, to_datetime, to_interval) i Funkcije za niske (format_date).

Белешка

Čuvanje datuma, datetime i intervala u poljima

Mogućnost direktnog čuvanja vrednosti date, time i datetime u poljima zavisi od provajdera izvora podataka (npr. Shapefile prihvata format date, ali ne i datetime ili time). Sledi nekoliko predloga za zaobilaženje ovog ograničenja:

  • date, datetime i time mogu se pretvoriti i sačuvati u poljima tipa tekst pomoću funkcije format_date().

  • Intervali se mogu čuvati u poljima tipa ceo ili decimalan broj nakon korišćenja jedne od funkcija za izdvajanje datuma (npr. day() za dobijanje intervala izraženog u danima)

9.2.8.1. age

Vraća razliku između dva datuma ili datetime vrednosti.

Razlika se vraća kao Interval i mora se koristiti sa jednom od sledećih funkcija da bi se dobile korisne informacije:

  • year

  • month

  • week

  • day

  • hour

  • minute

  • second

Sintaksa

age(datetime1, datetime2)

Argumenti

  • datetime1 - niska, datum ili datetime koji predstavlja kasniji datum

  • datetime2 - niska, datum ili datetime koji predstavlja raniji datum

Primeri

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

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

9.2.8.2. datetime_from_epoch

Vraća datetime čiji su datum i vreme broj milisekundi, msecs, koje su protekle od 1970-01-01T00:00:00.000, po koordiniranom svetskom vremenu (Qt.UTC), pretvoren u Qt.LocalTime.

Sintaksa

datetime_from_epoch(int)

Argumenti

  • int - broj (milisekunde)

Primeri

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

9.2.8.3. day

Izdvaja dan iz datuma, ili broj dana iz intervala.

Varijanta sa datumom

Izdvaja dan iz datuma ili datetime.

Sintaksa

day(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u danima.

Sintaksa

day(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj dana

Primeri

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

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

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

9.2.8.4. day_of_week

Vraća dan u nedelji za zadati datum ili datetime. Vraćena vrednost je u opsegu od 0 do 6, gde 0 odgovara nedelji, a 6 suboti.

Sintaksa

day_of_week(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

9.2.8.5. epoch

Vraća interval u milisekundama između unix epohe i zadate vrednosti datuma.

Sintaksa

epoch(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

9.2.8.6. format_date

Formatira tip datuma ili nisku u prilagođeni format niske. Koristi Qt formate datuma/vremena. Pogledajte QDateTime::toString.

Sintaksa

format_date(datetime, format, [language])

[] označava opcione argumente

Argumenti

  • datetime - vrednost datuma, vremena ili datetime

  • format - Šablon niske koji se koristi za formatiranje niske.

    Expression

    Izlaz

    d

    dan kao broj bez vodeće nule (1 do 31)

    dd

    dan kao broj sa vodećom nulom (01 do 31)

    ddd

    skraćeni lokalizovani naziv dana (npr. ’Mon’ do ’Sun’)

    dddd

    dugi lokalizovani naziv dana (npr. ’Monday’ do ’Sunday’)

    M

    mesec kao broj bez vodeće nule (1-12)

    MM

    mesec kao broj sa vodećom nulom (01-12)

    MMM

    skraćeni lokalizovani naziv meseca (npr. ’Jan’ do ’Dec’)

    MMMM

    dugi lokalizovani naziv meseca (npr. ’January’ do ’December’)

    yy

    godina kao dvocifren broj (00-99)

    yyyy

    godina kao četvorocifren broj

    Ovi izrazi se mogu koristiti za vremenski deo niske formata:

    Expression

    Izlaz

    h

    sat bez vodeće nule (0 do 23 ili 1 do 12 ako je prikaz AM/PM)

    hh

    sat sa vodećom nulom (00 do 23 ili 01 do 12 ako je prikaz AM/PM)

    H

    sat bez vodeće nule (0 do 23, čak i uz AM/PM prikaz)

    HH

    sat sa vodećom nulom (00 do 23, čak i uz AM/PM prikaz)

    m

    minut bez vodeće nule (0 do 59)

    mm

    minut sa vodećom nulom (00 do 59)

    s

    sekunda bez vodeće nule (0 do 59)

    ss

    sekunda sa vodećom nulom (00 do 59)

    z

    milisekunde bez pratećih nula (0 do 999)

    zzz

    milisekunde sa pratećim nulama (000 do 999)

    AP ili A

    tumači se kao AM/PM vreme. AP mora biti ili ’AM’ ili ’PM’.

    ap ili a

    Tumači se kao AM/PM vreme. ap mora biti ili ’am’ ili ’pm’.

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za formatiranje datuma u prilagođenu nisku. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

  • 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’, ako je trenutni lokalitet neka engleska varijanta

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

9.2.8.7. hour

Izdvaja deo sa satom iz datetime ili vremena, ili broj sati iz intervala.

Varijanta sa vremenom

Izdvaja deo sa satom iz vremena ili datetime.

Sintaksa

hour(datetime)

Argumenti

  • datetime - vrednost vremena ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u satima.

Sintaksa

hour(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj sati

Primeri

  • 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

9.2.8.8. make_date

Pravi vrednost datuma od brojeva godine, meseca i dana.

Sintaksa

make_date(year, month, day)

Argumenti

  • year - Broj godine. Godine 1 do 99 tumače se doslovno. Godina 0 je neispravna.

  • month - Broj meseca, gde je 1=januar

  • day - Broj dana, počev od 1 za prvi dan u mesecu

Primeri

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

9.2.8.9. make_datetime

Pravi datetime vrednost od brojeva godine, meseca, dana, sata, minuta i sekunde.

Sintaksa

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

Argumenti

  • year - Broj godine. Godine 1 do 99 tumače se doslovno. Godina 0 je neispravna.

  • month - Broj meseca, gde je 1=januar

  • day - Broj dana, počev od 1 za prvi dan u mesecu

  • hour - Broj sata

  • minute - Minuti

  • second - Sekunde (decimalne vrednosti uključuju milisekunde)

Primeri

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

9.2.8.10. make_interval

Pravi vrednost intervala od vrednosti godina, meseci, nedelja, dana, sati, minuta i sekundi.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • years - Broj godina (pretpostavlja se dužina godine od 365.25 dana).

  • months - Broj meseci (pretpostavlja se dužina meseca od 30 dana)

  • weeks - Broj nedelja

  • days - Broj dana

  • hours - Broj sati

  • minutes - Broj minuta

  • seconds - Broj sekundi

Primeri

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

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

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

9.2.8.11. make_time

Pravi vrednost vremena od brojeva sata, minuta i sekunde.

Sintaksa

make_time(hour, minute, second)

Argumenti

  • hour - Broj sata

  • minute - Minuti

  • second - Sekunde (decimalne vrednosti uključuju milisekunde)

Primeri

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

9.2.8.12. minute

Izdvaja deo sa minutima iz datetime ili vremena, ili broj minuta iz intervala.

Varijanta sa vremenom

Izdvaja deo sa minutima iz vremena ili datetime.

Sintaksa

minute(datetime)

Argumenti

  • datetime - vrednost vremena ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u minutima.

Sintaksa

minute(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj minuta

Primeri

  • 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

9.2.8.13. month

Izdvaja deo sa mesecom iz datuma, ili broj meseci iz intervala.

Varijanta sa datumom

Izdvaja deo sa mesecom iz datuma ili datetime.

Sintaksa

month(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u mesecima.

Sintaksa

month(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj meseci

Primeri

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

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

9.2.8.14. now

Vraća trenutni datum i vreme. Funkcija je statička i daje dosledne rezultate tokom izračunavanja. Vraćeno vreme je vreme kada je izraz pripremljen.

Sintaksa

now()

Primeri

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

9.2.8.15. second

Izdvaja deo sa sekundama iz datetime ili vremena, ili broj sekundi iz intervala.

Varijanta sa vremenom

Izdvaja deo sa sekundama iz vremena ili datetime.

Sintaksa

second(datetime)

Argumenti

  • datetime - vrednost vremena ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u sekundama.

Sintaksa

second(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj sekundi

Primeri

  • 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

9.2.8.16. to_date

Pretvara nisku u objekat datuma. Može se zadati opciona niska formata za parsiranje; pogledajte QDate::fromString ili dokumentaciju funkcije format_date za dodatnu dokumentaciju o formatu. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja vrednost datuma

  • format - format koji se koristi za pretvaranje niske u datum

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u datum. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

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

  • to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, ako trenutni lokalitet koristi naziv ’June’ za šesti mesec, u suprotnom dolazi do greške

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

Više informacija: format_date

9.2.8.17. to_datetime

Pretvara nisku u datetime objekat. Može se zadati opciona niska formata za parsiranje; za dodatnu dokumentaciju o formatu pogledajte QDate::fromString, QTime::fromString ili dokumentaciju funkcije format_date. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja datetime vrednost

  • format - format koji se koristi za pretvaranje niske u datetime

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u datetime. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

  • 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, ako trenutni lokalitet koristi naziv ’June’ za šesti mesec, u suprotnom dolazi do greške

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

Više informacija: format_date

9.2.8.18. to_interval

Pretvara nisku u tip interval. Može se koristiti za uzimanje dana, sati, meseci itd. iz datuma.

Sintaksa

to_interval(string)

Argumenti

  • string - niska koja predstavlja interval. Dozvoljeni formati uključuju {n} days {n} hours {n} months.

Primeri

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

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

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

9.2.8.19. to_time

Pretvara nisku u objekat vremena. Može se zadati opciona niska formata za parsiranje; za dodatnu dokumentaciju o formatu pogledajte QTime::fromString.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • string - niska koja predstavlja vrednost vremena

  • format - format koji se koristi za pretvaranje niske u vreme

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za pretvaranje niske u vreme

Primeri

  • 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

Više informacija: format_date

9.2.8.20. week

Izdvaja broj nedelje iz datuma, ili broj nedelja iz intervala.

Varijanta sa datumom

Izdvaja broj nedelje iz datuma ili datetime.

Sintaksa

week(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u nedeljama.

Sintaksa

week(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj meseci

Primeri

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

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

9.2.8.21. year

Izdvaja deo sa godinom iz datuma, ili broj godina iz intervala.

Varijanta sa datumom

Izdvaja deo sa godinom iz datuma ili datetime.

Sintaksa

year(date)

Argumenti

  • date - vrednost datuma ili datetime

Primeri

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

Varijanta sa intervalom

Računa dužinu intervala u godinama.

Sintaksa

year(interval)

Argumenti

  • interval - vrednost intervala iz koje se vraća broj godina

Primeri

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

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

Nekoliko primera:

Pored ovih funkcija, oduzimanje datuma, datetime ili vremena pomoću operatora - (minus) vraća interval.

Dodavanje ili oduzimanje intervala od datuma, datetime ili vremena, pomoću operatora + (plus) i - (minus), vraća datetime.

  • Preuzmi broj dana do izdanja QGIS 3.0:

    to_date('2017-09-29') - to_date(now())
    -- Returns <interval: 203 days>
    
  • Isto sa vremenom:

    to_datetime('2017-09-29 12:00:00') - now()
    -- Returns <interval: 202.49 days>
    
  • Preuzmi datetime za 100 dana od sada:

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

9.2.9. Polja i vrednosti

Sadrži listu polja sa aktivnog sloja i posebne vrednosti. Lista polja uključuje ona sačuvana u skupu podataka, virtuelna i pomoćna, kao i ona iz spojeva.

Dvaput kliknite na naziv polja da biste ga dodali u svoj izraz. Možete i ukucati naziv polja (po mogućstvu unutar dvostrukih navodnika) ili njegov alijas.

Da biste preuzeli vrednosti polja za korišćenje u izrazu, izaberite odgovarajuće polje i, u prikazanom vidžetu, izaberite između 10 uzoraka i Sve jedinstvene. Tražene vrednosti se zatim prikazuju, a možete koristiti polje Pretraga na vrhu liste da biste filtrirali rezultat. Vrednostima uzorka može se pristupiti i desnim klikom na polje.

Da biste dodali vrednost u izraz koji pišete, dvaput kliknite na nju u listi. Ako je vrednost tipa niska, treba je staviti pod jednostruke navodnike, u suprotnom navodnici nisu potrebni.

9.2.9.1. NULL

Jednako je NULL vrednosti.

Sintaksa

NULL

Primeri

  • NULL → NULL vrednost

Белешка

Za proveru NULL vrednosti koristite izraz IS NULL ili IS NOT NULL.

9.2.10. Funkcije za datoteke i putanje

Ova grupa sadrži funkcije koje rade sa nazivima datoteka i putanja.

9.2.10.1. base_file_name

Vraća osnovni naziv datoteke bez direktorijuma ili sufiksa datoteke.

Sintaksa

base_file_name(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.2. exif

Preuzima vrednosti exif oznaka iz datoteke slike.

Sintaksa

exif(path, [tag])

[] označava opcione argumente

Argumenti

  • path - Putanja datoteke slike ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

  • tag - Oznaka koja se vraća. Ako je prazno, vratiće se mapa sa svim mogućim vrednostima Exif oznaka.

Primeri

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

9.2.10.3. file_exists

Vraća TRUE ako putanja datoteke postoji.

Sintaksa

file_exists(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.4. file_name

Vraća naziv datoteke (uključujući ekstenziju), bez direktorijuma.

Sintaksa

file_name(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.5. file_path

Vraća komponentu direktorijuma iz putanje datoteke. Ne uključuje naziv datoteke.

Sintaksa

file_path(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.6. file_size

Vraća veličinu datoteke (u bajtovima).

Sintaksa

file_size(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.7. file_suffix

Vraća sufiks (ekstenziju) datoteke iz putanje datoteke.

Sintaksa

file_suffix(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.10.8. is_directory

Vraća TRUE ako putanja odgovara direktorijumu.

Sintaksa

is_directory(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

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

9.2.10.9. is_file

Vraća TRUE ako putanja odgovara datoteci.

Sintaksa

is_file(path)

Argumenti

  • path - putanja datoteke ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

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

9.2.11. Funkcije za forme

Ova grupa sadrži funkcije koje rade isključivo u kontekstu atributske forme. Na primer, u podešavanjima vidžeta polja.

9.2.11.1. current_parent_value

Upotrebljivo samo u kontekstu ugrađene forme, ova funkcija vraća trenutnu, nesačuvanu vrednost polja u nadređenoj formi koja se trenutno uređuje. To će se razlikovati od stvarnih vrednosti atributa nadređenog objekta za objekte koji se trenutno uređuju ili još nisu dodati u nadređeni sloj. Kada se koristi u izrazu filtera vidžeta value-relation, ovu funkciju treba obmotati u ’coalesce()’ koji može preuzeti stvarni nadređeni objekat sa sloja kada se forma ne koristi u ugrađenom kontekstu.

Sintaksa

current_parent_value(field_name)

Argumenti

  • field_name - naziv polja u trenutnoj nadređenoj formi

Primeri

  • current_parent_value( 'FIELD_NAME' ) → Trenutna vrednost polja ’FIELD_NAME’ u nadređenoj formi.

9.2.11.2. current_value

Vraća trenutnu, nesačuvanu vrednost polja u formi ili redu tabele koji se trenutno uređuje. To će se razlikovati od stvarnih vrednosti atributa objekta za objekte koji se trenutno uređuju ili još nisu dodati na sloj.

Sintaksa

current_value(field_name)

Argumenti

  • field_name - naziv polja u trenutnoj formi ili redu tabele

Primeri

  • current_value( 'FIELD_NAME' ) → Trenutna vrednost polja ’FIELD_NAME’.

9.2.12. Funkcije za približno podudaranje

Ova grupa sadrži funkcije za približna poređenja vrednosti.

9.2.12.1. hamming_distance

Vraća Hamingovo rastojanje između dve niske. To je jednako broju znakova na odgovarajućim pozicijama u ulaznim niskama na kojima se znaci razlikuju. Ulazne niske moraju biti iste dužine, a poređenje razlikuje velika i mala slova.

Sintaksa

hamming_distance(string1, string2)

Argumenti

  • string1 - niska

  • string2 - niska

Primeri

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

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

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

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

9.2.12.2. levenshtein

Vraća Levenštajnovo rastojanje uređivanja između dve niske. To je jednako minimalnom broju izmena znakova (umetanja, brisanja ili zamena) potrebnih da se jedna niska promeni u drugu.

Levenštajnovo rastojanje je mera sličnosti između dve niske. Manja rastojanja znače da su niske sličnije, a veća rastojanja ukazuju na različitije niske. Rastojanje razlikuje velika i mala slova.

Sintaksa

levenshtein(string1, string2)

Argumenti

  • string1 - niska

  • string2 - niska

Primeri

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

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

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

9.2.12.3. longest_common_substring

Vraća najdužu zajedničku podnisku između dve niske. Ta podniska je najduža niska koja je podniska obe ulazne niske. Na primer, najduža zajednička podniska niski „ABABC” i „BABCA” je „BABC”. Podniska razlikuje velika i mala slova.

Sintaksa

longest_common_substring(string1, string2)

Argumenti

  • string1 - niska

  • string2 - niska

Primeri

  • longest_common_substring('ABABC','BABCA') → ’BABC’

  • longest_common_substring('abcDeF','abcdef') → ’abc’

  • longest_common_substring(upper('abcDeF'),upper('abcdex')) → ’ABCDE’

9.2.12.4. soundex

Vraća Soundex predstavljanje niske. Soundex je algoritam za fonetsko podudaranje, pa niske sa sličnim zvučanjem treba da budu predstavljene istim Soundex kodom.

Sintaksa

soundex(string)

Argumenti

  • string - niska

Primeri

  • soundex('robert') → ’R163’

  • soundex('rupert') → ’R163’

  • soundex('rubin') → ’R150’

9.2.13. Opšte funkcije

Ova grupa sadrži razne opšte funkcije.

9.2.13.1. env

Preuzima promenljivu okruženja i vraća njen sadržaj kao nisku. Ako promenljiva nije pronađena, vratiće se NULL. Ovo je zgodno za ubacivanje konfiguracije specifične za sistem, kao što su slova diskova ili prefiksi putanja. Definisanje promenljivih okruženja zavisi od operativnog sistema — proverite kod svog sistem administratora ili u dokumentaciji operativnog sistema kako se ovo podešava.

Sintaksa

env(name)

Argumenti

  • name - Naziv promenljive okruženja koja se preuzima.

Primeri

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

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

  • env( 'I_DO_NOT_EXIST' ) → NULL

9.2.13.2. eval

Izračunava izraz prosleđen u vidu niske. Korisno za proširivanje dinamičkih parametara prosleđenih kao kontekstne promenljive ili polja.

Sintaksa

eval(expression)

Argumenti

  • expression - niska izraza

Primeri

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

  • eval(@expression_var) → [šta god da je rezultat izračunavanja @expression_var…]

9.2.13.3. eval_template

Izračunava šablon prosleđen u vidu niske. Korisno za proširivanje dinamičkih parametara prosleđenih kao kontekstne promenljive ili polja.

Sintaksa

eval_template(template)

Argumenti

  • template - niska šablona

Primeri

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

9.2.13.4. is_layer_visible

Vraća TRUE ako je zadati sloj vidljiv.

Sintaksa

is_layer_visible(layer)

Argumenti

  • layer - niska koja predstavlja naziv sloja ili ID sloja

Primeri

  • is_layer_visible('baseraster') → TRUE

9.2.13.5. mime_type

Vraća mime tip binarnih podataka.

Sintaksa

mime_type(bytes)

Argumenti

  • bytes - binarni podaci

Primeri

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

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

9.2.13.6. var

Vraća vrednost sačuvanu u zadatoj promenljivoj.

Sintaksa

var(name)

Argumenti

  • name - naziv promenljive

Primeri

  • var('qgis_version') → ’2.12’

Više informacija: Lista podrazumevanih promenljivih

9.2.13.7. with_variable

Ova funkcija postavlja promenljivu za bilo koji kod izraza koji se prosleđuje kao 3. argument. Ovo je korisno samo za složene izraze, gde je istu izračunatu vrednost potrebno koristiti na različitim mestima.

Sintaksa

with_variable(name, value, expression)

Argumenti

  • name - naziv promenljive koja se postavlja

  • value - vrednost koja se postavlja

  • expression - izraz za koji će promenljiva biti dostupna

Primeri

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

9.2.14. Funkcije za geometriju

Ova grupa sadrži funkcije koje rade sa objektima geometrije (npr. buffer, transform, $area).

9.2.14.1. affine_transform

Vraća geometriju nakon afine transformacije. Izračunavanja su u prostornom referentnom sistemu te geometrije. Operacije se izvode redosledom skaliranje, rotacija, translacija. Ako postoji Z ili M pomeraj, a koordinata nije prisutna u geometriji, biće dodata.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • delta_x - translacija po x osi

  • delta_y - translacija po y osi

  • rotation_z - rotacija oko z ose u stepenima, suprotno od kazaljke na satu

  • scale_x - faktor skaliranja po x osi

  • scale_y - faktor skaliranja po y osi

  • delta_z - translacija po z osi

  • delta_m - translacija po m osi

  • scale_z - faktor skaliranja po z osi

  • scale_m - faktor skaliranja po m osi

Primeri

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

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

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

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

Сл. 9.4 Vektorski tačkasti sloj (zelene tačke) pre (levo) i posle (desno) afine transformacije (translacije).

9.2.14.2. angle_at_vertex

Vraća ugao simetrale (prosečan ugao) prema geometriji za zadato teme na linijskoj geometriji. Uglovi su u stepenima u smeru kazaljke na satu od severa.

Sintaksa

angle_at_vertex(geometry, vertex)

Argumenti

  • geometry - geometrija tipa linestring

  • vertex - indeks temena, počev od 0; ako je vrednost negativna, izabrani indeks temena biće njihov ukupan broj umanjen za apsolutnu vrednost

Primeri

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

9.2.14.3. apply_dash_pattern

Primenjuje šaru crtica na geometriju i vraća MultiLineString geometriju koja je ulazna geometrija iscrtana duž svake linije/prstena zadatom šarom.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - geometrija (prihvata (multi)linestring ili (multi)poligone).

  • pattern - šara crtica, kao niz brojeva koji predstavljaju dužine crtica i razmaka. Mora sadržati paran broj elemenata.

  • start_rule - opciono pravilo za ograničavanje početka šare. Važeće vrednosti su ’no_rule’, ’full_dash’, ’half_dash’, ’full_gap’, ’half_gap’.

  • end_rule - opciono pravilo za ograničavanje kraja šare. Važeće vrednosti su ’no_rule’, ’full_dash’, ’half_dash’, ’full_gap’, ’half_gap’.

  • adjustment - opciono pravilo koje zadaje koji deo šare se prilagođava da bi odgovarao željenim pravilima šare. Važeće vrednosti su ’both’, ’dash’, ’gap’.

  • pattern_offset - Opciono rastojanje koje zadaje određeno rastojanje duž šare od kojeg se počinje.

Primeri

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

9.2.14.4. $area

Vraća površinu trenutnog objekta. Površina koju računa ova funkcija poštuje i podešavanje elipsoida projekta i podešavanje jedinice površine. Na primer, ako je za projekat postavljen elipsoid, izračunata površina biće elipsoidna, a ako elipsoid nije postavljen, izračunata površina biće planimetrijska.

Sintaksa

$area

Primeri

  • $area → 42

9.2.14.5. area

Vraća površinu poligonskog objekta geometrije. Izračunavanja su uvek planimetrijska u prostornom referentnom sistemu (SRS) te geometrije, a jedinice vraćene površine odgovaraće jedinicama tog SRS-a. Ovo se razlikuje od izračunavanja koja vrši funkcija $area, koja izvodi elipsoidna izračunavanja na osnovu podešavanja elipsoida i jedinice površine projekta.

Sintaksa

area(geometry)

Argumenti

  • geometry - objekat poligonske geometrije

Primeri

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

9.2.14.6. azimuth

Vraća azimut u odnosu na sever kao ugao u radijanima meren u smeru kazaljke na satu od vertikale u point_a do point_b.

Sintaksa

azimuth(point_a, point_b)

Argumenti

  • point_a - tačkasta geometrija

  • point_b - tačkasta geometrija

Primeri

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

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

9.2.14.7. bearing

Vraća azimut u odnosu na sever kao ugao u radijanima meren na elipsoidu u smeru kazaljke na satu od vertikale u point_a do point_b.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • point_a - tačkasta geometrija

  • point_b - tačkasta geometrija

  • source_crs - opciona niska ili objekat CRS-a koji predstavlja izvorni CRS tačaka. Podrazumevano se koristi CRS trenutnog sloja.

  • ellipsoid - opciona niska koja predstavlja akronim ili ID autoriteta (npr. ’EPSG:7030’) elipsoida na kojem treba meriti azimut. Podrazumevano se koristi podešavanje elipsoida trenutnog projekta.

Primeri

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

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

9.2.14.8. boundary

Vraća zatvaranje kombinatorne granice geometrije (tj. topološku granicu geometrije). Na primer, poligonska geometrija imaće granicu koja se sastoji od linija za svaki prsten poligona. Neki tipovi geometrije nemaju definisanu granicu, npr. tačke ili kolekcije geometrija, i vratiće NULL.

Sintaksa

boundary(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

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

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

Сл. 9.5 Granica (crna isprekidana linija) izvornog poligonskog sloja

Više informacija: algoritam Granica

9.2.14.9. bounds

Vraća geometriju koja predstavlja granični pravougaonik ulazne geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

bounds(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • bounds(@geometry) → granični pravougaonik geometrije trenutnog objekta

  • 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

Сл. 9.6 Crne linije predstavljaju granične pravougaonike svakog poligonskog objekta

Više informacija: algoritam Granični pravougaonici

9.2.14.10. bounds_height

Vraća visinu graničnog pravougaonika geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

bounds_height(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • bounds_height(@geometry) → visina graničnog pravougaonika geometrije trenutnog objekta

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

9.2.14.11. bounds_width

Vraća širinu graničnog pravougaonika geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

bounds_width(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • bounds_width(@geometry) → širina graničnog pravougaonika geometrije trenutnog objekta

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

9.2.14.12. buffer

Vraća geometriju koja predstavlja sve tačke čije je rastojanje od ove geometrije manje ili jednako zadatom rastojanju. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • distance - rastojanje bafera u jedinicama sloja

  • segments - broj segmenata koji se koristi za predstavljanje četvrtine kruga kada se koristi zaobljeni stil spoja. Veći broj daje glatkiji bafer sa više čvorova.

  • cap - stil završetka bafera. Važeće vrednosti su ’round’, ’flat’ ili ’square’

  • join - stil spoja za bafer. Važeće vrednosti su ’round’, ’bevel’ ili ’miter’.

  • miter_limit - ograničenje rastojanja oštrog spoja, za korišćenje kada je stil spoja postavljen na ’miter’

Primeri

  • buffer(@geometry, 10.5) → poligon geometrije trenutnog objekta baferovan za 10.5 jedinica

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

Сл. 9.7 Bafer (žuto) tačaka, linije, poligona sa pozitivnim baferom i poligona sa negativnim baferom

Više informacija: algoritam Bafer

9.2.14.13. buffer_by_m

Pravi bafer duž linijske geometrije, pri čemu prečnik bafera varira prema m vrednostima na temenima linije.

Sintaksa

buffer_by_m(geometry, [segments:=8])

[] označava opcione argumente

Argumenti

  • geometry - ulazna geometrija. Mora biti (multi)linijska geometrija sa m vrednostima.

  • segments - number of segments to approximate quarter-circle curves in the buffer.

Primeri

  • buffer_by_m(geometry:=geom_from_wkt('LINESTRINGM(1 2 0.5, 4 2 0.2)'),segments:=8) → Bafer promenljive širine koji počinje prečnikom 0.5 i završava se prečnikom 0.2 duž linijske geometrije.

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

Сл. 9.8 Baferovanje linijskih objekata pomoću m vrednosti na temenima

Više informacija: algoritam Bafer promenljive širine (po M vrednosti)

9.2.14.14. centroid

Vraća geometrijski centar geometrije.

Sintaksa

centroid(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • centroid(@geometry) → tačkasta geometrija

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

Сл. 9.9 Crvene zvezde predstavljaju centroide objekata ulaznog sloja.

Više informacija: algoritam Centroidi

9.2.14.15. close_line

Vraća zatvorenu liniju od ulazne linije dodavanjem prve tačke na kraj linije, ako već nije zatvorena. Ako geometrija nije linija ili višelinijska geometrija, rezultat će biti NULL.

Sintaksa

close_line(geometry)

Argumenti

  • geometry - geometrija tipa line string

Primeri

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

9.2.14.16. closest_point

Vraća tačku na geometry1 koja je najbliža geometry2.

Sintaksa

closest_point(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija na kojoj se traži najbliža tačka

  • geometry2 - geometrija do koje se traži najbliža tačka

Primeri

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

9.2.14.17. collect_geometries

Sakuplja skup geometrija u objekat višedelne geometrije.

Varijanta sa listom argumenata

Delovi geometrije zadaju se kao zasebni argumenti funkcije.

Sintaksa

collect_geometries(geometry1, geometry2, …)

Argumenti

  • geometry - geometrija

Primeri

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

Varijanta sa nizom

Delovi geometrije zadaju se kao niz delova geometrije.

Sintaksa

collect_geometries(array)

Argumenti

  • array - niz objekata geometrije

Primeri

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

Više informacija: algoritam Prikupi geometrije

9.2.14.18. combine

Vraća kombinaciju dve geometrije.

Sintaksa

combine(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

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

9.2.14.19. concave_hull

Vraća moguće konkavan poligon koji sadrži sve tačke u geometriji

Sintaksa

concave_hull(geometry, target_percent, [allow_holes:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • target_percent - procenat površine konveksnog omotača kojem rešenje teži. target_percent od 1 daje isti rezultat kao konveksni omotač. target_percent između 0 i 0.99 daje rezultat čija bi površina trebalo da bude manja od površine konveksnog omotača.

  • allow_holes - opcioni argument koji zadaje da li su dozvoljene rupe unutar izlazne geometrije. Podrazumevano FALSE; postavite na TRUE da biste dozvolili rupe u izlaznoj geometriji.

Primeri

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

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

Сл. 9.10 Konkavni omotači sa rastućim parametrom target_percent

Više informacija: convex_hull, algoritam Konkavni omotač (po sloju)

9.2.14.20. contains

Proverava da li jedna geometrija sadrži drugu. Vraća TRUE ako i samo ako nijedna tačka geometrije geometry2 ne leži izvan geometrije geometry1, a bar jedna tačka unutrašnjosti geometrije geometry2 leži u unutrašnjosti geometrije geometry1.

Sintaksa

contains(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_contains

9.2.14.21. convex_hull

Vraća konveksni omotač geometrije. On predstavlja minimalnu konveksnu geometriju koja obuhvata sve geometrije u skupu.

Sintaksa

convex_hull(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

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

Сл. 9.11 Crne linije označavaju konveksni omotač svakog objekta

Više informacija: concave_hull, algoritam Konveksni omotač

9.2.14.22. crosses

Proverava da li jedna geometrija prelazi preko druge. Vraća TRUE ako zadate geometrije imaju neke, ali ne sve, zajedničke unutrašnje tačke.

Sintaksa

crosses(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_crosses

9.2.14.23. densify_by_count

Uzima geometriju poligonskog ili linijskog sloja i pravi novu u kojoj geometrije imaju veći broj temena od originalne.

Sintaksa

densify_by_count(geometry, vertices)

Argumenti

  • geometry - geometrija (prihvata (multi)linestring ili (multi)poligone).

  • vertices - broj temena koji se dodaje (po segmentu)

Primeri

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

../../../_images/densify_geometry.png

Сл. 9.12 Crvene tačke prikazuju temena pre i posle zgušnjavanja

Više informacija: algoritam Zgusni po broju

9.2.14.24. densify_by_distance

Uzima geometriju poligonskog ili linijskog sloja i pravi novu u kojoj su geometrije zgusnute dodavanjem dodatnih temena na ivicama koje imaju maksimalno rastojanje jednako zadatom intervalu.

Sintaksa

densify_by_distance(geometry, distance)

Argumenti

  • geometry - geometrija (prihvata (multi)linestring ili (multi)poligone).

  • distance - maksimalno rastojanje intervala između temena u izlaznoj geometriji

Primeri

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

../../../_images/densify_geometry_interval.png

Сл. 9.13 Zgušnjavanje geometrije na zadatom intervalu

Više informacija: algoritam Zgusni po intervalu

9.2.14.25. difference

Vraća geometriju koja predstavlja onaj deo geometrije geometry1 koji se ne preseca sa geometry2.

Sintaksa

difference(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

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

../../../_images/difference.png

Сл. 9.14 Operacija razlike između ulaznog sloja ‘a’ sa dva objekta i preklapajućeg sloja ‘b’ sa jednim objektom (levo) — daje novi sloj sa izmenjenim objektima ‘a’ (desno)

Više informacija: algoritam Razlika

9.2.14.26. disjoint

Proverava da li se geometrije prostorno ne presecaju. Vraća TRUE ako geometrije ne dele nikakav zajednički prostor.

Sintaksa

disjoint(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_disjoint

9.2.14.27. distance

Vraća minimalno rastojanje (na osnovu prostornog referentnog sistema) između dve geometrije u projektovanim jedinicama.

Sintaksa

distance(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

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

9.2.14.28. distance_to_vertex

Vraća rastojanje duž geometrije do zadatog temena.

Sintaksa

distance_to_vertex(geometry, vertex)

Argumenti

  • geometry - geometrija tipa linestring

  • vertex - indeks temena, počev od 0; ako je vrednost negativna, izabrani indeks temena biće njihov ukupan broj umanjen za apsolutnu vrednost

Primeri

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

9.2.14.29. end_point

Vraća poslednji čvor iz geometrije.

Sintaksa

end_point(geometry)

Argumenti

  • geometry - objekat geometrije

Primeri

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

../../../_images/end_point.png

Сл. 9.15 Krajnja tačka linijskog objekta

Više informacija: start_point, algoritam Izdvoj određena temena

9.2.14.30. exif_geotag

Pravi tačkastu geometriju od exif geooznaka datoteke slike.

Sintaksa

exif_geotag(path)

Argumenti

  • path - Putanja datoteke slike ili vrednost sloja karte. Ako je zadata vrednost sloja karte, koristiće se izvor datoteke tog sloja.

Primeri

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

9.2.14.31. extend

Produžava početak i kraj linijske geometrije za zadati iznos. Linije se produžavaju koristeći pravac prvog i poslednjeg segmenta u liniji. Za multilinestring, produžavaju se svi delovi. Rastojanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

extend(geometry, start_distance, end_distance)

Argumenti

  • geometry - (multi)linestring geometrija

  • start_distance - rastojanje za produžavanje početka linije

  • end_distance - rastojanje za produžavanje kraja linije.

Primeri

  • geom_to_wkt(extend(geom_from_wkt('LineString(0 0, 1 0, 1 1)'),1,2)) → ’LineString (-1 0, 1 0, 1 3)’

  • geom_to_wkt(extend(geom_from_wkt('MultiLineString((0 0, 1 0, 1 1), (2 2, 0 2, 0 5))'),1,2)) → ’MultiLineString ((-1 0, 1 0, 1 3),(3 2, 0 2, 0 7))’

../../../_images/extend_lines.png

Сл. 9.16 Crvene crte predstavljaju početno i krajnje proširenje originalnog sloja

Više informacija: algoritam Produži linije

9.2.14.32. exterior_ring

Vraća liniju koja predstavlja spoljni prsten poligonske geometrije. Ako geometrija nije poligon, rezultat će biti NULL.

Sintaksa

exterior_ring(geometry)

Argumenti

  • geometry - poligonska geometrija

Primeri

  • geom_to_wkt(exterior_ring(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1),( 0.1 0.1, 0.1 0.2, 0.2 0.2, 0.2, 0.1, 0.1 0.1))'))) → ’LineString (-1 -1, 4 0, 4 2, 0 2, -1 -1)’

../../../_images/exterior_ring.png

Сл. 9.17 Isprekidana linija predstavlja spoljni prsten poligona

Više informacija: algoritam Granica, interior_ring_n

9.2.14.33. extrude

Vraća izvučenu verziju ulazne (Multi-)Curve ili (Multi-)Linestring geometrije, sa proširenjem zadatim pomoću x i y.

Sintaksa

extrude(geometry, x, y)

Argumenti

  • geometry - geometrija tipa kriva ili linestring

  • x - x proširenje, numerička vrednost

  • y - y proširenje, numerička vrednost

Primeri

  • geom_to_wkt(extrude(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), 1, 2)) → ’Polygon ((1 2, 3 2, 4 3, 5 5, 4 4, 2 4, 1 2))’

  • geom_to_wkt(extrude(geom_from_wkt('MultiLineString((1 2, 3 2), (4 3, 8 3))'), 1, 2)) → ’MultiPolygon (((1 2, 3 2, 4 4, 2 4, 1 2)),((4 3, 8 3, 9 5, 5 5, 4 3)))’

../../../_images/extrude.png

Сл. 9.18 Generisanje poligona izvlačenjem linije sa pomerajem po x i y pravcu

9.2.14.34. flip_coordinates

Vraća kopiju geometrije sa zamenjenim x i y koordinatama. Korisno za popravku geometrija kojima su vrednosti geografske širine i dužine zamenjene.

Sintaksa

flip_coordinates(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

Više informacija: algoritam Zameni X i Y koordinate

9.2.14.35. force_polygon_ccw

Prisiljava geometriju da poštuje konvenciju po kojoj su spoljni prstenovi suprotno od kazaljke na satu, a unutrašnji u smeru kazaljke na satu.

Sintaksa

force_polygon_ccw(geometry)

Argumenti

  • geometry - geometrija. Sve nepoligonske geometrije vraćaju se nepromenjene.

Primeri

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

Više informacija: force_polygon_cw, force_rhr

9.2.14.36. force_polygon_cw

Prisiljava geometriju da poštuje konvenciju po kojoj su spoljni prstenovi u smeru kazaljke na satu, a unutrašnji suprotno od kazaljke na satu.

Sintaksa

force_polygon_cw(geometry)

Argumenti

  • geometry - geometrija. Sve nepoligonske geometrije vraćaju se nepromenjene.

Primeri

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

Više informacija: force_polygon_ccw, force_rhr

9.2.14.37. force_rhr

Prisiljava geometriju da poštuje pravilo desne ruke, po kojem se površina omeđena poligonom nalazi desno od granice. Konkretno, spoljni prsten je orijentisan u smeru kazaljke na satu, a unutrašnji prstenovi suprotno od kazaljke na satu. Zbog nedoslednosti u definiciji pravila desne ruke u nekim kontekstima, preporučuje se korišćenje eksplicitne funkcije force_polygon_cw.

Sintaksa

force_rhr(geometry)

Argumenti

  • geometry - geometrija. Sve nepoligonske geometrije vraćaju se nepromenjene.

Primeri

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

Više informacija: algoritam Nametni pravilo desne ruke, force_polygon_ccw, force_polygon_cw

9.2.14.38. geom_from_gml

Vraća geometriju od GML predstavljanja geometrije.

Sintaksa

geom_from_gml(gml)

Argumenti

  • gml - GML predstavljanje geometrije kao niska

Primeri

  • geom_from_gml('<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>') → objekat linijske geometrije

9.2.14.39. geom_from_wkb

Vraća geometriju napravljenu od Well-Known Binary (WKB) predstavljanja.

Sintaksa

geom_from_wkb(binary)

Argumenti

  • binary - Well-Known Binary (WKB) predstavljanje geometrije (kao binarni blob)

Primeri

  • geom_from_wkb( geom_to_wkb( make_point(4,5) ) ) → objekat tačkaste geometrije

9.2.14.40. geom_from_wkt

Vraća geometriju napravljenu od Well-Known Text (WKT) predstavljanja.

Sintaksa

geom_from_wkt(text)

Argumenti

  • text - Well-Known Text (WKT) predstavljanje geometrije

Primeri

  • geom_from_wkt( 'POINT(4 5)' ) → a geometry object

9.2.14.41. geom_to_wkb

Vraća Well-Known Binary (WKB) predstavljanje geometrije

Sintaksa

geom_to_wkb(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • geom_to_wkb( @geometry ) → binarni blob koji sadrži objekat geometrije

9.2.14.42. geom_to_wkt

Vraća Well-Known Text (WKT) predstavljanje geometrije bez SRID metapodataka.

Sintaksa

geom_to_wkt(geometry, [precision:=8])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • precision - numerička preciznost

Primeri

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

9.2.14.43. $geometry

Vraća geometriju trenutnog objekta. Može se koristiti za obradu drugim funkcijama. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske promenljive @geometry.

Sintaksa

$geometry

Primeri

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

9.2.14.44. geometry

Vraća geometriju objekta.

Sintaksa

geometry(feature)

Argumenti

  • feature - feature objekat

Primeri

  • geometry( @feature ) → geometrija trenutnog objekta. Bolje je koristiti @geometry.

  • geom_to_wkt( geometry( get_feature_by_id( 'streets', 1 ) ) ) → geometrija u WKT-u objekta sa id-jem 1 na sloju „streets”, npr. ’POINT(6 50)’

  • intersects( @geometry, geometry( get_feature( 'streets', 'name', 'Main St.' ) ) ) → TRUE ako trenutni objekat prostorno preseca objekat pod nazivom ’Main St.’ na sloju „streets”

9.2.14.45. geometry_n

Vraća određenu geometriju iz kolekcije geometrija, ili NULL ako ulazna geometrija nije kolekcija. Takođe vraća deo iz višedelne geometrije.

Sintaksa

geometry_n(geometry, index)

Argumenti

  • geometry - kolekcija geometrija

  • index - indeks geometrije koja se vraća, gde je 1 prva geometrija u kolekciji

Primeri

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

9.2.14.46. geometry_type

Vraća nisku koja opisuje tip geometrije (Point, Line ili Polygon)

Sintaksa

geometry_type(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

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

  • geometry_type( geom_from_wkt( 'POINT(2 5)') ) → ’Point’

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

9.2.14.47. hausdorff_distance

Vraća Hauzdorfovo rastojanje između dve geometrije. To je u osnovi mera koliko su dve geometrije slične ili različite, pri čemu manje rastojanje ukazuje na sličnije geometrije.

Funkcija se može izvršiti sa opcionim argumentom za udeo zgušnjavanja. Ako nije zadat, koristi se aproksimacija standardnog Hauzdorfovog rastojanja. Ta aproksimacija je tačna ili dovoljno bliska za veliki skup korisnih slučajeva. Primeri su:

  • računanje rastojanja između linija koje su približno paralelne i približno iste dužine. To se javlja pri uparivanju linijskih mreža.

  • Testiranje sličnosti geometrija.

Ako podrazumevana aproksimacija koju daje ovaj metod nije dovoljna, zadajte opcioni argument za udeo zgušnjavanja. Zadavanje ovog argumenta izvodi zgušnjavanje segmenata pre računanja diskretnog Hauzdorfovog rastojanja. Parametar zadaje udeo za koji se zgušnjava svaki segment. Svaki segment biće podeljen na određeni broj podsegmenata jednake dužine, čiji je udeo u ukupnoj dužini najbliži zadatom udelu. Smanjivanje parametra udela zgušnjavanja približava vraćeno rastojanje stvarnom Hauzdorfovom rastojanju geometrija.

Sintaksa

hausdorff_distance(geometry1, geometry2, [densify_fraction:=1])

[] označava opcione argumente

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

  • densify_fraction - iznos udela zgušnjavanja

Primeri

  • hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)')) → 1

  • 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

9.2.14.48. inclination

Vraća nagib meren od zenita (0) do nadira (180) na pravcu od point_a do point_b.

Sintaksa

inclination(point_a, point_b)

Argumenti

  • point_a - tačkasta geometrija

  • point_b - tačkasta geometrija

Primeri

  • 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

9.2.14.49. interior_ring_n

Vraća određeni unutrašnji prsten iz poligonske geometrije, ili NULL ako geometrija nije poligon.

Sintaksa

interior_ring_n(geometry, index)

Argumenti

  • geometry - poligonska geometrija

  • index - indeks unutrašnjeg prstena koji se vraća, gde je 1 prvi unutrašnji prsten

Primeri

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

../../../_images/interior_ring_n.png

Сл. 9.19 Isprekidana linija predstavlja određeni unutrašnji prsten poligona

Više informacija: exterior_ring

9.2.14.50. intersection

Vraća geometriju koja predstavlja zajednički deo dve geometrije.

Sintaksa

intersection(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

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

Više informacija: algoritam Presek

9.2.14.51. intersects

Proverava da li jedna geometrija preseca drugu. Vraća TRUE ako se geometrije prostorno presecaju (dele bilo koji deo prostora), a false ako ne.

Sintaksa

intersects(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_intersects

9.2.14.52. intersects_bbox

Proverava da li granični pravougaonik jedne geometrije preklapa granični pravougaonik druge geometrije. Vraća TRUE ako geometrije prostorno presecaju definisani granični pravougaonik, a false ako ne.

Sintaksa

intersects_bbox(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

9.2.14.53. is_closed

Vraća TRUE ako je linija zatvorena (početna i krajnja tačka se poklapaju), ili false ako linija nije zatvorena. Ako geometrija nije linija, rezultat će biti NULL.

Sintaksa

is_closed(geometry)

Argumenti

  • geometry - geometrija tipa line string

Primeri

  • 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

9.2.14.54. is_empty

Vraća TRUE ako je geometrija prazna (bez koordinata), false ako geometrija nije prazna i NULL ako geometrije nema. Pogledajte i is_empty_or_null.

Sintaksa

is_empty(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • 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

Više informacija: is_empty_or_null

9.2.14.55. is_empty_or_null

Vraća TRUE ako je geometrija NULL ili prazna (bez koordinata), u suprotnom false. Ova funkcija je kao izraz @geometry IS NULL or is_empty(@geometry)’

Sintaksa

is_empty_or_null(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • 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

Više informacija: is_empty, NULL

9.2.14.56. is_multipart

Vraća TRUE ako je geometrija tipa Multi.

Sintaksa

is_multipart(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • is_multipart(geom_from_wkt('MULTIPOINT ((0 0),(1 1),(2 2))')) → TRUE

  • is_multipart(geom_from_wkt('POINT (0 0)')) → FALSE

9.2.14.57. is_valid

Vraća TRUE ako je geometrija ispravna; ako je dobro oblikovana u 2D prema OGC pravilima.

Sintaksa

is_valid(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

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

Više informacija: make_valid, algoritam Proveri validnost

9.2.14.58. $length

Vraća dužinu linije. Ako vam je potrebna dužina granice poligona, koristite $perimeter. Dužina koju računa ova funkcija poštuje i podešavanje elipsoida projekta i podešavanje jedinice rastojanja. Na primer, ako je za projekat postavljen elipsoid, izračunata dužina biće elipsoidna, a ako elipsoid nije postavljen, izračunata dužina biće planimetrijska.

Sintaksa

$length

Primeri

  • $length → 42.4711

9.2.14.59. length

Vraća broj znakova u niski ili dužinu linijske geometrije.

Varijanta sa niskom

Vraća broj znakova u niski.

Sintaksa

length(string)

Argumenti

  • string - niska čija se dužina broji

Primeri

  • length('hello') → 5

Varijanta sa geometrijom

Računa dužinu objekta linijske geometrije. Izračunavanja su uvek planimetrijska u prostornom referentnom sistemu (SRS) te geometrije, a jedinice vraćene dužine odgovaraće jedinicama tog SRS-a. Ovo se razlikuje od izračunavanja koja vrši funkcija $length, koja izvodi elipsoidna izračunavanja na osnovu podešavanja elipsoida i jedinice rastojanja projekta.

Sintaksa

length(geometry)

Argumenti

  • geometry - objekat linijske geometrije

Primeri

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

Više informacija: straight_distance_2d

9.2.14.60. length3D

Računa 3D dužinu objekta linijske geometrije. Ako geometrija nije 3D linijski objekat, vraća njenu 2D dužinu. Izračunavanja su uvek planimetrijska u prostornom referentnom sistemu (SRS) te geometrije, a jedinice vraćene dužine odgovaraće jedinicama tog SRS-a. Ovo se razlikuje od izračunavanja koja vrši funkcija $length, koja izvodi elipsoidna izračunavanja na osnovu podešavanja elipsoida i jedinice rastojanja projekta.

Sintaksa

length3D(geometry)

Argumenti

  • geometry - objekat linijske geometrije

Primeri

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

9.2.14.61. line_interpolate_angle

Vraća ugao paralelan geometriji na zadatom rastojanju duž linijske geometrije. Uglovi su u stepenima u smeru kazaljke na satu od severa.

Sintaksa

line_interpolate_angle(geometry, distance)

Argumenti

  • geometry - geometrija tipa linestring

  • distance - rastojanje duž linije na kojem se interpolira ugao

Primeri

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

9.2.14.62. line_interpolate_point

Vraća tačku interpoliranu na zadatom rastojanju duž linijske geometrije.

Sintaksa

line_interpolate_point(geometry, distance)

Argumenti

  • geometry - geometrija tipa linestring

  • distance - rastojanje duž linije na kojem se interpolira

Primeri

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

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

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

../../../_images/interpolated_point.png

Сл. 9.20 Interpolirana tačka na 500 m od početka linije

Više informacija: algoritam Interpoliraj tačku na liniji

9.2.14.63. line_interpolate_point_by_m

Vraća tačku interpoliranu prema podudarnoj M vrednosti duž linijske geometrije.

Sintaksa

line_interpolate_point_by_m(geometry, m, [use_3d_distance:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija tipa linestring

  • m - M vrednost

  • use_3d_distance - određuje da li se pri interpolaciji koriste 2D ili 3D rastojanja između temena (ova opcija se uzima u obzir samo za linije sa z vrednostima)

Primeri

  • geom_to_wkt(line_interpolate_point_by_m(geom_from_wkt('LineStringM(0 0 0, 10 10 10)'), m:=5)) → ’Point (5 5)’

9.2.14.64. line_locate_m

Vraća rastojanje duž linije koje odgovara prvoj podudarnoj interpoliranoj M vrednosti.

Sintaksa

line_locate_m(geometry, m, [use_3d_distance:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija tipa linestring

  • m - M vrednost

  • use_3d_distance - određuje da li se pri interpolaciji koriste 2D ili 3D rastojanja između temena (ova opcija se uzima u obzir samo za linije sa z vrednostima)

Primeri

  • line_locate_m(geometry:=geom_from_wkt('LineStringM(0 0 0, 10 10 10)'),m:=5) → 7.07106

9.2.14.65. line_locate_point

Vraća rastojanje duž linije koje odgovara najbližem položaju linije zadatoj tačkastoj geometriji.

Sintaksa

line_locate_point(geometry, point)

Argumenti

  • geometry - geometrija tipa linestring

  • point - tačkasta geometrija do koje se traži najbliži položaj na liniji

Primeri

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

9.2.14.66. line_merge

Vraća LineString ili MultiLineString geometriju u kojoj su sve povezane linije iz ulazne geometrije spojene u jednu liniju. Ova funkcija vraća NULL ako joj se prosledi geometrija koja nije LineString/MultiLineString.

Sintaksa

line_merge(geometry)

Argumenti

  • geometry - geometrija tipa LineString/MultiLineString

Primeri

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

9.2.14.67. line_substring

Vraća deo linijske (ili krive) geometrije koji se nalazi između zadatog početnog i krajnjeg rastojanja (mereno od početka linije). Z i M vrednosti se linearno interpoliraju iz postojećih vrednosti.

Sintaksa

line_substring(geometry, start_distance, end_distance)

Argumenti

  • geometry - geometrija tipa linestring ili kriva

  • start_distance - rastojanje do početka podniske

  • end_distance - rastojanje do kraja podniske

Primeri

  • geom_to_wkt(line_substring(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),start_distance:=2,end_distance:=6)) → ’LineString (2 0,6 0)’

../../../_images/substring.png

Сл. 9.21 Podniska linije sa početnim rastojanjem postavljenim na 0 metara i krajnjim rastojanjem na 250 metara.

Više informacija: algoritam Podniska linije

9.2.14.68. m

Vraća m (measure) vrednost tačkaste geometrije.

Sintaksa

m(geometry)

Argumenti

  • geometry - tačkasta geometrija

Primeri

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

9.2.14.69. m_at

Preuzima m koordinatu geometrije, ili NULL ako geometrija nema m vrednost.

Sintaksa

m_at(geometry, vertex)

Argumenti

  • geometry - objekat geometrije

  • vertex - indeks temena geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • m_at(geom_from_wkt('LineStringZM(0 0 0 0, 10 10 0 5, 10 10 0 0)'), 1) → 5

9.2.14.70. m_max

Vraća maksimalnu m (measure) vrednost geometrije.

Sintaksa

m_max(geometry)

Argumenti

  • geometry - geometrija koja sadrži m vrednosti

Primeri

  • 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

9.2.14.71. m_min

Vraća minimalnu m (measure) vrednost geometrije.

Sintaksa

m_min(geometry)

Argumenti

  • geometry - geometrija koja sadrži m vrednosti

Primeri

  • 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

9.2.14.72. main_angle

Vraća ugao duže ose (u smeru kazaljke na satu, u stepenima od severa) orijentisanog minimalnog graničnog pravougaonika koji potpuno pokriva geometriju.

Sintaksa

main_angle(geometry)

Argumenti

  • geometry - geometrija

Primeri

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

9.2.14.73. make_circle

Pravi kružni poligon.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • center - centralna tačka kruga

  • radius - poluprečnik kruga

  • segments - opcioni argument za segmentaciju poligona. Podrazumevana vrednost je 36

Primeri

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

9.2.14.74. make_ellipse

Pravi eliptični poligon.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • center - centralna tačka elipse

  • semi_major_axis - velika poluosa elipse

  • semi_minor_axis - mala poluosa elipse

  • azimuth - orijentacija elipse

  • segments - opcioni argument za segmentaciju poligona. Podrazumevana vrednost je 36

Primeri

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

9.2.14.75. make_line

Pravi linijsku geometriju iz niza tačkastih geometrija.

Varijanta sa listom argumenata

Temena linije zadaju se kao zasebni argumenti funkcije.

Sintaksa

make_line(point1, point2, …)

Argumenti

  • point - tačkasta geometrija (ili niz tačaka)

Primeri

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

Varijanta sa nizom

Temena linije zadaju se kao niz tačaka.

Sintaksa

make_line(array)

Argumenti

  • array - niz tačaka

Primeri

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

9.2.14.76. make_point

Pravi tačkastu geometriju od x i y (i opcionih z i m) vrednosti.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • x - x koordinata tačke

  • y - y koordinata tačke

  • z - opciona z koordinata tačke

  • m - opciona m vrednost tačke

Primeri

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

9.2.14.77. make_point_m

Pravi tačkastu geometriju od x, y koordinate i m vrednosti.

Sintaksa

make_point_m(x, y, m)

Argumenti

  • x - x koordinata tačke

  • y - y koordinata tačke

  • m - m vrednost tačke

Primeri

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

9.2.14.78. make_polygon

Pravi poligonsku geometriju od spoljnog prstena i opcionog niza unutrašnjih prstenova.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • outerRing - zatvorena linijska geometrija za spoljni prsten poligona

  • innerRing - opciona zatvorena linijska geometrija za unutrašnji prsten

Primeri

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

9.2.14.79. make_rectangle_3points

Pravi pravougaonik od 3 tačke.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • point1 - Prva tačka.

  • point2 - Druga tačka.

  • point3 - Treća tačka.

  • option - Opcioni argument za konstruisanje pravougaonika. Podrazumevana vrednost je 0. Vrednost može biti 0 (distance) ili 1 (projected). Opcija distance: Drugo rastojanje jednako je rastojanju između 2. i 3. tačke. Opcija projected: Drugo rastojanje jednako je rastojanju normalne projekcije 3. tačke na segment ili njegov produžetak.

Primeri

  • geom_to_wkt(make_rectangle_3points(make_point(0, 0), make_point(0,5), make_point(3, 3), 0)) → ’Polygon ((0 0, 0 5, 3.60555128 5, 3.60555128 0, 0 0))’

  • geom_to_wkt(make_rectangle_3points(make_point(0, 0), make_point(0,5), make_point(3, 3), 1)) → ’Polygon ((0 0, 0 5, 3 5, 3 0, 0 0))’

9.2.14.80. make_regular_polygon

Pravi pravilan poligon.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • center - centar pravilnog poligona

  • radius - druga tačka. Prva ako je pravilan poligon upisan. Sredina prve stranice ako je pravilan poligon opisan.

  • number_sides - Broj stranica/ivica pravilnog poligona

  • circle - Opcioni argument za konstruisanje pravilnog poligona. Podrazumevana vrednost je 0. Vrednost može biti 0 (upisan) ili 1 (opisan)

Primeri

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

9.2.14.81. make_square

Pravi kvadrat od dijagonale.

Sintaksa

make_square(point1, point2)

Argumenti

  • point1 - Prva tačka dijagonale

  • point2 - Poslednja tačka dijagonale

Primeri

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

9.2.14.82. make_triangle

Pravi trougaoni poligon.

Sintaksa

make_triangle(point1, point2, point3)

Argumenti

  • point1 - prva tačka trougla

  • point2 - druga tačka trougla

  • point3 - treća tačka trougla

Primeri

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

9.2.14.83. make_valid

Vraća ispravnu geometriju ili praznu geometriju ako geometrija nije mogla da se učini ispravnom.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • method - algoritam popravke. Može biti ’structure’ ili ’linework’. Opcija ’linework’ kombinuje sve prstenove u skup povezanih linija i zatim iz te mreže izdvaja ispravne poligone. Metod ’structure’ prvo čini sve prstenove ispravnim, a zatim spaja ljuske i oduzima rupe od ljuski da bi dao ispravan rezultat. Pretpostavlja da su rupe i ljuske ispravno kategorizovane.

  • keep_collapsed - ako je postavljeno na true, zadržaće se komponente koje su se urušile u nižu dimenzionalnost. Na primer, prsten koji se urušio u liniju ili linija koja se urušila u tačku.

Primeri

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8, 3 2, 4 2))'))) → ’Polygon ((3 2, 5 8, 4 1, 3 2))’

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8, 3 2, 4 2))'), 'linework')) → ’GeometryCollection (Polygon ((5 8, 4 1, 3 2, 5 8)),LineString (3 2, 4 2))’

  • geom_to_wkt(make_valid(geom_from_wkt('POLYGON((3 2, 4 1, 5 8))'), method:='linework')) → ’Polygon ((3 2, 4 1, 5 8, 3 2))’

  • make_valid(geom_from_wkt('LINESTRING(0 0)')) → Prazna geometrija

Više informacija: is_valid, algoritam Popravi geometrije

9.2.14.84. minimal_circle

Vraća minimalni opisani krug geometrije. On predstavlja minimalni krug koji obuhvata sve geometrije u skupu.

Sintaksa

minimal_circle(geometry, [segments:=36])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • segments - opcioni argument za segmentaciju poligona. Podrazumevana vrednost je 36

Primeri

  • geom_to_wkt( minimal_circle( geom_from_wkt( 'LINESTRING(0 5, 0 -5, 2 1)' ), 4 ) ) → ’Polygon ((0 5, 5 -0, -0 -5, -5 0, 0 5))’

  • geom_to_wkt( minimal_circle( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ), 4 ) ) → ’Polygon ((3 4, 3 2, 1 2, 1 4, 3 4))’

../../../_images/minimum_enclosing_circles.png

Сл. 9.22 Minimalni opisani krug svakog objekta

Više informacija: algoritam Minimalni obuhvatajući krugovi

9.2.14.85. nodes_to_points

Vraća višetačkastu geometriju koja se sastoji od svakog čvora u ulaznoj geometriji.

Sintaksa

nodes_to_points(geometry, [ignore_closing_nodes:=false])

[] označava opcione argumente

Argumenti

  • geometry - objekat geometrije

  • ignore_closing_nodes - opcioni argument koji zadaje da li se uključuju duplirani čvorovi koji zatvaraju linije ili prstenove poligona. Podrazumevano false; postavite na true da biste izbegli uključivanje ovih dupliranih čvorova u izlaznu kolekciju.

Primeri

  • geom_to_wkt(nodes_to_points(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ’MultiPoint ((0 0),(1 1),(2 2))’

  • geom_to_wkt(nodes_to_points(geom_from_wkt('POLYGON((-1 -1, 4 0, 4 2, 0 2, -1 -1))'),true)) → ’MultiPoint ((-1 -1),(4 0),(4 2),(0 2))’

../../../_images/extract_nodes.png

Сл. 9.23 Višetačkasti objekat izdvojen iz temena

Više informacija: algoritam Izdvoj temena

9.2.14.86. num_geometries

Vraća broj geometrija u kolekciji geometrija, ili broj delova u višedelnoj geometriji. Funkcija vraća NULL ako ulazna geometrija nije kolekcija.

Sintaksa

num_geometries(geometry)

Argumenti

  • geometry - kolekcija geometrija ili višedelna geometrija

Primeri

  • 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

9.2.14.87. num_interior_rings

Vraća broj unutrašnjih prstenova u poligonu ili kolekciji geometrija, ili NULL ako ulazna geometrija nije poligon ili kolekcija.

Sintaksa

num_interior_rings(geometry)

Argumenti

  • geometry - ulazna geometrija

Primeri

  • 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

9.2.14.88. num_points

Vraća broj temena u geometriji.

Sintaksa

num_points(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • num_points(@geometry) → broj temena u geometriji trenutnog objekta

9.2.14.89. num_rings

Vraća broj prstenova (uključujući spoljne prstenove) u poligonu ili kolekciji geometrija, ili NULL ako ulazna geometrija nije poligon ili kolekcija.

Sintaksa

num_rings(geometry)

Argumenti

  • geometry - ulazna geometrija

Primeri

  • 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

9.2.14.90. offset_curve

Vraća geometriju nastalu odmicanjem linijske geometrije u stranu. Rastojanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - (multi)linestring geometrija

  • distance - rastojanje odmicanja. Pozitivne vrednosti daju bafer levo od linija, negativne desno

  • segments - broj segmenata koji se koristi za predstavljanje četvrtine kruga kada se koristi zaobljeni stil spoja. Veći broj daje glatkiju liniju sa više čvorova.

  • join - stil spoja za uglove, gde je 1 = zaobljen, 2 = oštar i 3 = zasečen

  • miter_limit - ograničenje odnosa oštrog spoja koje se koristi za veoma oštre uglove (samo pri korišćenju oštrih spojeva)

Primeri

  • offset_curve(@geometry, 10.5) → linija odmaknuta ulevo za 10.5 jedinica

  • offset_curve(@geometry, -10.5) → linija odmaknuta udesno za 10.5 jedinica

  • offset_curve(@geometry, 10.5, segments:=16, join:=1) → linija odmaknuta ulevo za 10.5 jedinica, uz više segmenata radi glatkije krive

  • offset_curve(@geometry, 10.5, join:=3) → linija odmaknuta ulevo za 10.5 jedinica, uz zasečen spoj

../../../_images/offset_lines.png

Сл. 9.24 Plavo je izvorni sloj, crveno odmaknuti

Više informacija: algoritam Pomeri linije

9.2.14.91. order_parts

Uređuje delove višedelne geometrije prema zadatom kriterijumu

Sintaksa

order_parts(geometry, orderby, [ascending:=true])

[] označava opcione argumente

Argumenti

  • geometry - geometrija višestrukog tipa

  • orderby - niska izraza koja definiše kriterijum uređivanja

  • ascending - logička vrednost, True za rastuće, False za opadajuće

Primeri

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

9.2.14.92. oriented_bbox

Vraća geometriju koja predstavlja minimalni orijentisani granični pravougaonik ulazne geometrije.

Sintaksa

oriented_bbox(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) ) → ’Polygon ((3 2, 3 4, 1 4, 1 2, 3 2))’

../../../_images/oriented_minimum_bounding_box.png

Сл. 9.25 Orijentisani minimalni granični pravougaonik

Više informacija: algoritam Orijentisani minimalni granični pravougaonik

9.2.14.93. overlaps

Proverava da li se jedna geometrija preklapa sa drugom. Vraća TRUE ako geometrije dele prostor, iste su dimenzije, ali nisu potpuno sadržane jedna u drugoj.

Sintaksa

overlaps(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

9.2.14.94. overlay_contains

Vraća da li trenutni objekat prostorno sadrži bar jedan objekat sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja sadržane u trenutnom objektu.

Više o osnovnom GEOS predikatu „Contains“ pročitajte u opisu PostGIS funkcije ST_Contains.

Sintaksa

overlay_contains(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_contains('regions') → TRUE ako trenutni objekat prostorno sadrži neku regiju

  • overlay_contains('regions', filter:= population > 10000) → TRUE ako trenutni objekat prostorno sadrži regiju sa populacijom većom od 10000

  • overlay_contains('regions', name) → niz naziva, za regije sadržane u trenutnom objektu

  • array_to_string(overlay_contains('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije sadržane u trenutnom objektu

  • array_sort(overlay_contains(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije sadržane u trenutnom objektu i sa populacijom većom od 10000

  • overlay_contains(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije sadržane u trenutnom objektu

Više informacija: contains, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.95. overlay_crosses

Vraća da li trenutni objekat prostorno prelazi preko bar jednog objekta sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja preko kojih trenutni objekat prelazi.

Više o osnovnom GEOS predikatu „Crosses“ pročitajte u opisu PostGIS funkcije ST_Crosses.

Sintaksa

overlay_crosses(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_crosses('regions') → TRUE ako trenutni objekat prostorno prelazi preko neke regije

  • overlay_crosses('regions', filter:= population > 10000) → TRUE ako trenutni objekat prostorno prelazi preko regije sa populacijom većom od 10000

  • overlay_crosses('regions', name) → niz naziva, za regije preko kojih trenutni objekat prelazi

  • array_to_string(overlay_crosses('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije preko kojih trenutni objekat prelazi

  • array_sort(overlay_crosses(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije preko kojih trenutni objekat prelazi i sa populacijom većom od 10000

  • overlay_crosses(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije koje trenutni objekat preseca

Više informacija: crosses, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.96. overlay_disjoint

Vraća da li je trenutni objekat prostorno razdvojen od svih objekata sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja koji su razdvojeni od trenutnog objekta.

Više o osnovnom GEOS predikatu „Disjoint“ pročitajte u opisu PostGIS funkcije ST_Disjoint.

Sintaksa

overlay_disjoint(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_disjoint('regions') → TRUE ako je trenutni objekat prostorno razdvojen od svih regija

  • overlay_disjoint('regions', filter:= population > 10000) → TRUE ako je trenutni objekat prostorno razdvojen od svih regija sa populacijom većom od 10000

  • overlay_disjoint('regions', name) → niz naziva, za regije prostorno razdvojene od trenutnog objekta

  • array_to_string(overlay_disjoint('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije prostorno razdvojene od trenutnog objekta

  • array_sort(overlay_disjoint(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije prostorno razdvojene od trenutnog objekta i sa populacijom većom od 10000

  • overlay_disjoint(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije prostorno razdvojene od trenutnog objekta

Više informacija: disjoint, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.97. overlay_equals

Vraća da li je geometrija trenutnog objekta potpuno jednaka geometriji bar jednog objekta sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja čija je geometrija potpuno jednaka geometriji trenutnog objekta. Imajte u vidu da je redosled temena bitan.

Sintaksa

overlay_equals(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_equals('regions') → TRUE ako je geometrija trenutnog objekta potpuno ista kao geometrija neke regije

  • overlay_equals('regions', filter:= population > 10000) → TRUE ako je geometrija trenutnog objekta potpuno ista kao geometrija neke regije čija je populacija veća od 10000

  • overlay_equals('regions', name) → niz naziva, za regije potpuno jednake trenutnom objektu

  • array_to_string(overlay_equals('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije potpuno jednake trenutnom objektu

  • array_sort(overlay_equals(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije potpuno jednake trenutnom objektu i sa populacijom većom od 10000

  • overlay_equals(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije potpuno jednake trenutnom objektu

Белешка

Ova funkcija zahteva potpunu jednakost geometrija, što znači da su geometrije ’LINESTRING( 0 0, 1 1 )’ i ’LINESTRING( 1 1, 0 0 )’ različite.

Više informacija: rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.98. overlay_intersects

Vraća da li trenutni objekat prostorno preseca bar jedan objekat sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja koje trenutni objekat preseca.

Više o osnovnom GEOS predikatu „Intersects“ pročitajte u opisu PostGIS funkcije ST_Intersects.

Sintaksa

overlay_intersects(layer, [expression], [filter], [limit], [cache:=false], [min_overlap], [min_inscribed_circle_radius], [return_details], [sort_by_intersection_size])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

  • min_overlap - definiše opcioni filter isključivanja:

    • za poligone, minimalna površina u kvadratnim jedinicama trenutnog objekta za presek. Ako presek daje više poligona, presek će biti vraćen ako bar jedan od poligona ima površinu veću ili jednaku toj vrednosti

    • za linije, minimalna dužina u jedinicama trenutnog objekta. Ako presek daje više linija, presek će biti vraćen ako bar jedna od linija ima dužinu veću ili jednaku toj vrednosti.

  • min_inscribed_circle_radius - definiše opcioni filter isključivanja (samo za poligone): minimalni poluprečnik u jedinicama trenutnog objekta za maksimalni upisani krug preseka. Ako presek daje više poligona, presek će biti vraćen ako bar jedan od poligona ima poluprečnik maksimalnog upisanog kruga veći ili jednak toj vrednosti.

    Više o osnovnom GEOS predikatu pročitajte u opisu PostGIS funkcije ST_MaximumInscribedCircle.

    Ovaj argument zahteva GEOS >= 3.9.

  • return_details - Postavite na true da biste vratili listu mapa koje sadrže (nazivi ključeva pod navodnicima) ’id’ objekta, ’result’ izraza i vrednost ’overlap’ (najvećeg elementa u slučaju višedelne geometrije). Kada je ciljni sloj poligonski, vraća se i ’radius’ maksimalnog upisanog kruga. Važi samo kada se koristi sa parametrom expression

  • sort_by_intersection_size - važi samo kada se koristi sa izrazom; postavite na ’des’ da biste vratili rezultate poređane po vrednosti preklapanja u opadajućem redosledu, ili na ’asc’ za rastući redosled.

Primeri

  • overlay_intersects('regions') → TRUE ako trenutni objekat prostorno preseca neku regiju

  • overlay_intersects('regions', filter:= population > 10000) → TRUE ako trenutni objekat prostorno preseca regiju sa populacijom većom od 10000

  • overlay_intersects('regions', name) → niz naziva, za regije koje trenutni objekat preseca

  • array_to_string(overlay_intersects('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije koje trenutni objekat preseca

  • array_sort(overlay_intersects(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije koje trenutni objekat preseca i sa populacijom većom od 10000

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije koje trenutni objekat preseca

  • overlay_intersects(layer:='regions', min_overlap:=0.54) → TRUE ako trenutni objekat prostorno preseca regiju i površina preseka (bar jednog od delova u slučaju multipoligona) je veća ili jednaka 0.54

  • overlay_intersects(layer:='regions', min_inscribed_circle_radius:=0.54) → TRUE ako trenutni objekat prostorno preseca regiju i poluprečnik maksimalnog upisanog kruga površine preseka (bar jednog od delova u slučaju višedelne geometrije) je veći ili jednak 0.54

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), return_details:=true) → niz mapa koje sadrže ’id’, ’result’, ’overlap’ i ’radius’

  • overlay_intersects(layer:='regions', expression:= geom_to_wkt(@geometry), sort_by_intersection_size:='des') → niz geometrija (u WKT-u) poređanih po vrednosti preklapanja u opadajućem redosledu

Više informacija: intersects, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.99. overlay_nearest

Vraća da li trenutni objekat ima objekat(e) sa ciljnog sloja unutar zadatog rastojanja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja unutar rastojanja od trenutnog objekta.

Napomena: Ova funkcija može biti spora i trošiti mnogo memorije za velike slojeve.

Sintaksa

overlay_nearest(layer, [expression], [filter], [limit:=1], [max_distance], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - ciljni sloj

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, koriste se svi objekti na ciljnom sloju.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraća se samo najbliži objekat. Ako je -1, vraćaju se svi podudarajući objekti.

  • max_distance - opciono rastojanje za ograničavanje pretrage podudarajućih objekata. Ako nije zadato, koriste se svi objekti na ciljnom sloju.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_nearest('airports') → TRUE ako sloj „airports” ima bar jedan objekat

  • overlay_nearest('airports', max_distance:= 5000) → TRUE ako postoji aerodrom na rastojanju do 5000 jedinica karte od trenutnog objekta

  • overlay_nearest('airports', name) → naziv aerodroma najbližeg trenutnom objektu, kao niz

  • array_to_string(overlay_nearest('airports', name)) → naziv aerodroma najbližeg trenutnom objektu, kao niska

  • overlay_nearest(layer:='airports', expression:= name, max_distance:= 5000) → naziv najbližeg aerodroma na rastojanju do 5000 jedinica karte od trenutnog objekta, kao niz

  • overlay_nearest(layer:='airports', expression:="name", filter:= "Use"='Civilian', limit:=3) → niz naziva, za najviše tri najbliža civilna aerodroma poređana po rastojanju

  • overlay_nearest(layer:='airports', expression:="name", limit:= -1, max_distance:= 5000) → niz naziva, za sve aerodrome na rastojanju do 5000 jedinica karte od trenutnog objekta, poređane po rastojanju

Više informacija: rad sa nizovima, algoritam Spajanje atributa po najbližem

9.2.14.100. overlay_touches

Vraća da li trenutni objekat prostorno dodiruje bar jedan objekat sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja koje trenutni objekat dodiruje.

Više o osnovnom GEOS predikatu „Touches“ pročitajte u opisu PostGIS funkcije ST_Touches.

Sintaksa

overlay_touches(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_touches('regions') → TRUE ako trenutni objekat prostorno dodiruje neku regiju

  • overlay_touches('regions', filter:= population > 10000) → TRUE ako trenutni objekat prostorno dodiruje regiju sa populacijom većom od 10000

  • overlay_touches('regions', name) → niz naziva, za regije koje trenutni objekat dodiruje

  • array_to_string(overlay_touches('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije koje trenutni objekat dodiruje

  • array_sort(overlay_touches(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije koje trenutni objekat dodiruje i sa populacijom većom od 10000

  • overlay_touches(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije koje trenutni objekat dodiruje

Više informacija: touches, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.101. overlay_within

Vraća da li je trenutni objekat prostorno unutar bar jednog objekta sa ciljnog sloja, ili niz rezultata zasnovanih na izrazu za objekte sa ciljnog sloja koji sadrže trenutni objekat.

Više o osnovnom GEOS predikatu „Within“ pročitajte u opisu PostGIS funkcije ST_Within.

Sintaksa

overlay_within(layer, [expression], [filter], [limit], [cache:=false])

[] označava opcione argumente

Argumenti

  • layer - sloj čije se preklapanje proverava

  • expression - opcioni izraz koji se izračunava na objektima sa ciljnog sloja. Ako nije zadat, funkcija će samo vratiti logičku vrednost koja pokazuje da li postoji bar jedno podudaranje.

  • filter - opcioni izraz za filtriranje ciljnih objekata koji se proveravaju. Ako nije zadat, proveravaju se svi objekti.

  • limit - opcioni ceo broj za ograničavanje broja podudarajućih objekata. Ako nije zadat, vraćaju se svi podudarajući objekti.

  • cache - postavite na true da biste izgradili lokalni prostorni indeks (najčešće ovo nije poželjno, osim ako radite sa posebno sporim provajderom podataka)

Primeri

  • overlay_within('regions') → TRUE ako je trenutni objekat prostorno unutar neke regije

  • overlay_within('regions', filter:= population > 10000) → TRUE ako je trenutni objekat prostorno unutar regije sa populacijom većom od 10000

  • overlay_within('regions', name) → niz naziva, za regije koje sadrže trenutni objekat

  • array_to_string(overlay_within('regions', name)) → niska kao lista naziva razdvojena zarezima, za regije koje sadrže trenutni objekat

  • array_sort(overlay_within(layer:='regions', expression:="name", filter:= population > 10000)) → uređen niz naziva, za regije koje sadrže trenutni objekat i sa populacijom većom od 10000

  • overlay_within(layer:='regions', expression:= geom_to_wkt(@geometry), limit:=2) → niz geometrija (u WKT-u), za najviše dve regije koje sadrže trenutni objekat

Više informacija: within, rad sa nizovima, algoritam Izbor po lokaciji

9.2.14.102. $perimeter

Vraća dužinu obima trenutnog objekta. Obim koji računa ova funkcija poštuje i podešavanje elipsoida projekta i podešavanje jedinice rastojanja. Na primer, ako je za projekat postavljen elipsoid, izračunati obim biće elipsoidan, a ako elipsoid nije postavljen, izračunati obim biće planimetrijski.

Sintaksa

$perimeter

Primeri

  • $perimeter → 42

9.2.14.103. perimeter

Vraća obim poligonskog objekta geometrije. Izračunavanja su uvek planimetrijska u prostornom referentnom sistemu (SRS) te geometrije, a jedinice vraćenog obima odgovaraće jedinicama tog SRS-a. Ovo se razlikuje od izračunavanja koja vrši funkcija $perimeter, koja izvodi elipsoidna izračunavanja na osnovu podešavanja elipsoida i jedinice rastojanja projekta.

Sintaksa

perimeter(geometry)

Argumenti

  • geometry - objekat poligonske geometrije

Primeri

  • perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))')) → 12.0

9.2.14.104. point_n

Vraća određeni čvor iz geometrije.

Sintaksa

point_n(geometry, index)

Argumenti

  • geometry - objekat geometrije

  • index - indeks čvora koji se vraća, gde je 1 prvi čvor; ako je vrednost negativna, izabrani indeks temena biće njihov ukupan broj umanjen za apsolutnu vrednost

Primeri

  • geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2)) → ’Point (4 0)’

Više informacija: algoritam Izdvoj određena temena

9.2.14.105. point_on_surface

Vraća tačku za koju je zagarantovano da leži na površini geometrije.

Sintaksa

point_on_surface(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • point_on_surface(@geometry) → tačkasta geometrija

Više informacija: algoritam Tačka na površini

9.2.14.106. pole_of_inaccessibility

Računa približan pol nepristupačnosti za površ, što je najudaljenija unutrašnja tačka od granice te površi. Ova funkcija koristi algoritam ’polylabel’ (Vladimir Agafonjkin, 2016), koji je iterativni pristup koji garantuje pronalaženje pravog pola nepristupačnosti u okviru zadate tolerancije. Preciznije tolerancije zahtevaju više iteracija i duže se računaju.

Sintaksa

pole_of_inaccessibility(geometry, tolerance)

Argumenti

  • geometry - geometrija

  • tolerance - maksimalno rastojanje između vraćene tačke i stvarne lokacije pola

Primeri

  • geom_to_wkt(pole_of_inaccessibility( geom_from_wkt('POLYGON((0 1, 0 9, 3 10, 3 3, 10 3, 10 1, 0 1))'), 0.1)) → ’Point(1.546875 2.546875)’

../../../_images/pole_inaccessibility.png

Сл. 9.26 Pol nepristupačnosti

Više informacija: algoritam Pol nepristupačnosti

9.2.14.107. project

Vraća tačku projektovanu od početne tačke pomoću rastojanja, pravca (azimuta) i visinskog ugla u radijanima.

Sintaksa

project(point, distance, azimuth, [elevation])

[] označava opcione argumente

Argumenti

  • point - početna tačka

  • distance - rastojanje projektovanja

  • azimuth - azimut u radijanima u smeru kazaljke na satu, gde 0 odgovara severu

  • elevation - ugao nagiba u radijanima

Primeri

  • geom_to_wkt(project(make_point(1, 2), 3, radians(270))) → ’Point(-2, 2)’

Više informacija: algoritam Projektuj tačke (kartezijanski)

9.2.14.108. relate

Testira predstavljanje odnosa između dve geometrije po modelu Dimensionally Extended 9-Intersection Model (DE-9IM).

Varijanta sa relacijom

Vraća predstavljanje odnosa između dve geometrije po modelu Dimensionally Extended 9-Intersection Model (DE-9IM).

Sintaksa

relate(geometry, geometry)

Argumenti

  • geometry - geometrija

  • geometry - geometrija

Primeri

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) ) → ’FF1F00102’

Varijanta sa podudaranjem šare

Proverava da li DE-9IM odnos između dve geometrije odgovara zadatoj šari.

Sintaksa

relate(geometry, geometry, pattern)

Argumenti

  • geometry - geometrija

  • geometry - geometrija

  • pattern - DE-9IM šara sa kojom se traži podudaranje

Primeri

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' ) → TRUE

9.2.14.109. reverse

Obrće smer linije ili obrće tekstualnu nisku.

Varijanta sa niskom

Obrće redosled znakova u niski.

Sintaksa

reverse(string)

Argumenti

  • string - niska koja se obrće

Primeri

  • reverse('hello') → ’olleh’

Varijanta sa geometrijom

Obrće smer linije obrtanjem redosleda njenih temena.

Sintaksa

reverse(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ’LINESTRING(2 2, 1 1, 0 0)’

../../../_images/reverse_line.png

Сл. 9.27 Obrtanje smera linije

Više informacija: algoritam Obrni smer linije

9.2.14.110. rotate

Vraća rotiranu verziju geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

rotate(geometry, rotation, [center:=NULL], [per_part:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • rotation - rotacija u smeru kazaljke na satu, u stepenima

  • center - centralna tačka rotacije. Ako nije zadata, koristi se centar graničnog pravougaonika geometrije.

  • per_part - primeni rotaciju po delu. Ako je true, rotacija će se primeniti oko centra graničnog pravougaonika svakog dela kada je ulazna geometrija višedelna, a eksplicitna centralna tačka rotacije nije zadata.

Primeri

  • rotate(@geometry, 45, make_point(4, 5)) → geometrija rotirana za 45 stepeni u smeru kazaljke na satu oko tačke (4, 5)

  • rotate(@geometry, 45) → geometrija rotirana za 45 stepeni u smeru kazaljke na satu oko centra svog graničnog pravougaonika

../../../_images/rotate.gif

Сл. 9.28 Rotacija objekata

9.2.14.111. roundness

Računa koliko je oblik poligona blizak krugu. Funkcija vraća 1 kada je oblik poligona savršen krug i 0 kada je potpuno spljošten.

Sintaksa

roundness(geometry)

Argumenti

  • geometry - poligon

Primeri

  • 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

Više informacija: algoritam Zaobljenost

9.2.14.112. scale

Vraća skaliranu verziju geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

scale(geometry, x_scale, y_scale, [center:=NULL])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • x_scale - faktor skaliranja po x osi

  • y_scale - faktor skaliranja po y osi

  • center - centralna tačka skaliranja. Ako nije zadata, koristi se centar graničnog pravougaonika geometrije.

Primeri

  • scale(@geometry, 2, 0.5, make_point(4, 5)) → geometrija dvostruko skalirana horizontalno i prepolovljena vertikalno, oko tačke (4, 5)

  • scale(@geometry, 2, 0.5) → geometrija dvostruko horizontalno i prepolovljena vertikalno, oko centra svog graničnog pravougaonika

9.2.14.113. segments_to_lines

Vraća višelinijsku geometriju koja se sastoji od linije za svaki segment u ulaznoj geometriji.

Sintaksa

segments_to_lines(geometry)

Argumenti

  • geometry - objekat geometrije

Primeri

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

Više informacija: algoritam Rasturi linije

9.2.14.114. shared_paths

Vraća kolekciju koja sadrži putanje zajedničke za dve ulazne geometrije. One koje idu u istom smeru nalaze se u prvom elementu kolekcije, a one koje idu u suprotnom smeru u drugom elementu. Same putanje date su u smeru prve geometrije.

Sintaksa

shared_paths(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija tipa LineString/MultiLineString

  • geometry2 - geometrija tipa LineString/MultiLineString

Primeri

  • geom_to_wkt(shared_paths(geom_from_wkt('MULTILINESTRING((26 125,26 200,126 200,126 125,26 125),(51 150,101 150,76 175,51 150)))'),geom_from_wkt('LINESTRING(151 100,126 156.25,126 125,90 161, 76 175)'))) → ’GeometryCollection (MultiLineString ((126 156.25, 126 125),(101 150, 90 161),(90 161, 76 175)),MultiLineString EMPTY)’

  • geom_to_wkt(shared_paths(geom_from_wkt('LINESTRING(76 175,90 161,126 125,126 156.25,151 100)'),geom_from_wkt('MULTILINESTRING((26 125,26 200,126 200,126 125,26 125),(51 150,101 150,76 175,51 150))'))) → ’GeometryCollection (MultiLineString EMPTY,MultiLineString ((76 175, 90 161),(90 161, 101 150),(126 125, 126 156.25)))’

9.2.14.115. shortest_line

Vraća najkraću liniju koja spaja geometry1 sa geometry2. Rezultujuća linija počinje na geometry1 i završava se na geometry2.

Sintaksa

shortest_line(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija od koje se traži najkraća linija

  • geometry2 - geometrija do koje se traži najkraća linija

Primeri

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

9.2.14.116. simplify

Uprošćava geometriju uklanjanjem čvorova pomoću praga zasnovanog na rastojanju (tj. Daglas-Pekerov algoritam). Algoritam čuva velika odstupanja u geometrijama i smanjuje broj temena u skoro pravim segmentima.

Sintaksa

simplify(geometry, tolerance)

Argumenti

  • geometry - geometrija

  • tolerance - maksimalno odstupanje od pravih segmenata da bi tačke bile uklonjene

Primeri

  • geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5)) → ’LineString(0 0, 10 0)’

../../../_images/simplify_geometries.png

Сл. 9.29 Sleva nadesno, izvorni sloj i rastuće tolerancije uprošćavanja

Više informacija: algoritam Uprosti

9.2.14.117. simplify_vw

Uprošćava geometriju uklanjanjem čvorova pomoću praga zasnovanog na površini (tj. Visvalingam-Vajatov algoritam). Algoritam uklanja temena koja stvaraju male površine u geometrijama, npr. uske šiljke ili skoro prave segmente.

Sintaksa

simplify_vw(geometry, tolerance)

Argumenti

  • geometry - geometrija

  • tolerance - mera maksimalne površine koju stvara čvor da bi taj čvor bio uklonjen

Primeri

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

Više informacija: algoritam Uprosti

9.2.14.118. single_sided_buffer

Vraća geometriju nastalu baferovanjem samo jedne strane linijske geometrije. Rastojanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

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

[] označava opcione argumente

Argumenti

  • geometry - (multi)linestring geometrija

  • distance - rastojanje bafera. Pozitivne vrednosti daju bafer levo od linija, negativne desno

  • segments - broj segmenata koji se koristi za predstavljanje četvrtine kruga kada se koristi zaobljeni stil spoja. Veći broj daje glatkiji bafer sa više čvorova.

  • join - stil spoja za uglove, gde je 1 = zaobljen, 2 = oštar i 3 = zasečen

  • miter_limit - ograničenje odnosa oštrog spoja koje se koristi za veoma oštre uglove (samo pri korišćenju oštrih spojeva)

Primeri

  • single_sided_buffer(@geometry, 10.5) → linija baferovana ulevo za 10.5 jedinica

  • single_sided_buffer(@geometry, -10.5) → linija baferovana udesno za 10.5 jedinica

  • single_sided_buffer(@geometry, 10.5, segments:=16, join:=1) → linija baferovana ulevo za 10.5 jedinica, uz više segmenata radi glatkijeg bafera

  • single_sided_buffer(@geometry, 10.5, join:=3) → linija baferovana ulevo za 10.5 jedinica, uz zasečen spoj

../../../_images/single_side_buffer.png

Сл. 9.30 Bafer sa leve i sa desne strane na istom vektorskom linijskom sloju

Više informacija: algoritam Jednostrani bafer

9.2.14.119. sinuosity

Vraća sinuoznost krive, što je odnos dužine krive i pravog (2D) rastojanja između njenih krajnjih tačaka.

Sintaksa

sinuosity(geometry)

Argumenti

  • geometry - Ulazna kriva (circularstring, linestring)

Primeri

  • 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

9.2.14.120. smooth

Zaglađuje geometriju dodavanjem dodatnih čvorova koji zaobljavaju uglove geometrije. Ako ulazne geometrije sadrže Z ili M vrednosti, i one će biti zaglađene, a izlazna geometrija zadržaće istu dimenzionalnost kao ulazna.

Sintaksa

smooth(geometry, [iterations:=1], [offset:=0.25], [min_length:=-1], [max_angle:=180])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • iterations - broj iteracija zaglađivanja koje se primenjuju. Veći brojevi daju glatkije, ali složenije geometrije.

  • offset - vrednost između 0 i 0.5 koja određuje koliko tesno zaglađena geometrija prati originalnu geometriju. Manje vrednosti daju tešnje zaglađivanje, veće vrednosti daju labavije zaglađivanje.

  • min_length - minimalna dužina segmenata na koje se primenjuje zaglađivanje. Ovaj parametar se može koristiti da bi se izbeglo postavljanje prekomernih dodatnih čvorova u kraćim segmentima geometrije.

  • max_angle - maksimalan ugao u čvoru na koji se primenjuje zaglađivanje (0-180). Smanjivanjem maksimalnog ugla mogu se sačuvati namerno oštri uglovi u geometriji. Na primer, vrednost od 80 stepeni zadržaće prave uglove u geometriji.

Primeri

  • geom_to_wkt(smooth(geometry:=geom_from_wkt('LineString(0 0, 5 0, 5 5)'),iterations:=1,offset:=0.2,min_length:=-1,max_angle:=180)) → ’LineString (0 0, 4 0, 5 1, 5 5)’

../../../_images/smooth_geometry_1.png

Сл. 9.31 Povećanje broja iteracija daje glatkije geometrije

Više informacija: algoritam Zagladi

9.2.14.121. square_wave

Konstruiše pravougaone/četvrtaste talase duž granice geometrije.

Sintaksa

square_wave(geometry, wavelength, amplitude, [strict:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • wavelength - talasna dužina pravougaonog talasnog oblika

  • amplitude - amplituda pravougaonog talasnog oblika

  • strict - Podrazumevano se argument wavelength tretira kao „maksimalna talasna dužina”, pri čemu se stvarna talasna dužina dinamički prilagođava tako da se duž granica geometrije napravi tačan broj pravougaonih talasa. Ako je argument strict postavljen na true, talasna dužina će se koristiti tačno, a za poslednji talasni oblik može se koristiti nepotpuna šara.

Primeri

  • square_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Pravougaoni talasi talasne dužine 3 i amplitude 1 duž linije

  • geom_to_wkt(square_wave(geom_from_wkt('LineString(0 0, 5 0)'), 3, 1, false)) → ’LineString (0 0, 0 1, 1.25 1, 1.25 -1, 2.5 -1, 2.5 1, 3.75 1, 3.75 -1, 5 -1, 5 0)’

  • geom_to_wkt(square_wave(geom_from_wkt('LineString(0 0, 5 0)'), 3, 1, true)) → ’LineString (0 0, 0 1, 1.5 1, 1.5 -1, 3 -1, 3 1, 4.5 1, 5 0)’

../../../_images/square_wave.png

Сл. 9.32 Simbolizacija objekata pravougaonim talasima

9.2.14.122. square_wave_randomized

Konstruiše nasumične pravougaone/četvrtaste talase duž granice geometrije.

Sintaksa

square_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed:=0])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • min_wavelength - minimum wavelength of waves

  • max_wavelength - maksimalna talasna dužina talasa

  • min_amplitude - minimalna amplituda talasa

  • max_amplitude - maksimalna amplituda talasa

  • seed - zadaje slučajno seme za generisanje talasa. Ako je seme 0, generisaće se potpuno slučajan skup talasa.

Primeri

  • square_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Nasumično dimenzionisani pravougaoni talasi sa talasnim dužinama između 2 i 3 i amplitudama između 0.1 i 0.2 duž linije

../../../_images/square_wave_randomized.png

Сл. 9.33 Simbolizacija objekata nasumičnim pravougaonim talasima

9.2.14.123. start_point

Vraća prvi čvor iz geometrije.

Sintaksa

start_point(geometry)

Argumenti

  • geometry - objekat geometrije

Primeri

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

../../../_images/start_point.png

Сл. 9.34 Početna tačka linijskog objekta

Više informacija: end_point, algoritam Izdvoj određena temena

9.2.14.124. straight_distance_2d

Vraća direktno/euklidsko rastojanje između prvog i poslednjeg temena geometrije. Geometrija mora biti kriva (circularstring, linestring).

Sintaksa

straight_distance_2d(geometry)

Argumenti

  • geometry - Geometrija.

Primeri

  • 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

Više informacija: length

9.2.14.125. sym_difference

Vraća geometriju koja predstavlja delove dve geometrije koji se ne presecaju.

Sintaksa

sym_difference(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

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

Više informacija: algoritam Simetrična razlika

9.2.14.126. tapered_buffer

Pravi bafer duž linijske geometrije, pri čemu se prečnik bafera ravnomerno menja duž dužine linije.

Sintaksa

tapered_buffer(geometry, start_width, end_width, [segments:=8])

[] označava opcione argumente

Argumenti

  • geometry - ulazna geometrija. Mora biti (multi)linijska geometrija.

  • start_width - širina bafera na početku linije,

  • end_width - širina bafera na kraju linije.

  • segments - number of segments to approximate quarter-circle curves in the buffer.

Primeri

  • tapered_buffer(geometry:=geom_from_wkt('LINESTRING(1 2, 4 2)'),start_width:=1,end_width:=2,segments:=8) → Sužavajući bafer koji počinje prečnikom 1 i završava se prečnikom 2 duž linijske geometrije.

../../../_images/tapered_buffer.png

Сл. 9.35 Sužavajući bafer na linijskim objektima

Više informacija: algoritam Suženi baferi

9.2.14.127. touches

Proverava da li jedna geometrija dodiruje drugu. Vraća TRUE ako geometrije imaju bar jednu zajedničku tačku, ali im se unutrašnjosti ne presecaju.

Sintaksa

touches(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_touches

9.2.14.128. transform

Vraća geometriju transformisanu iz izvornog CRS-a u ciljni CRS.

Sintaksa

transform(geometry, source_auth_id, dest_auth_id)

Argumenti

  • geometry - geometrija

  • source_auth_id - definicija izvornog CRS-a ili objekat CRS-a

  • dest_auth_id - definicija ciljnog CRS-a ili objekat CRS-a

Primeri

  • geom_to_wkt( transform( make_point(488995.53240249, 7104473.38600835), 'EPSG:2154', 'EPSG:4326' ) ) → ’POINT(0 51)’

Više informacija: algoritam Reprojektovanje sloja

9.2.14.129. translate

Vraća transliranu verziju geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

translate(geometry, dx, dy)

Argumenti

  • geometry - geometrija

  • dx - delta x

  • dy - delta y

Primeri

  • translate(@geometry, 5, 10) → geometrija istog tipa kao original

../../../_images/translate_geometry.png

Сл. 9.36 Translacija objekata

Više informacija: algoritam Transliraj

9.2.14.130. triangular_wave

Konstruiše trougaone talase duž granice geometrije.

Sintaksa

triangular_wave(geometry, wavelength, amplitude, [strict:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • wavelength - talasna dužina trougaonog talasnog oblika

  • amplitude - amplituda trougaonog talasnog oblika

  • strict - Podrazumevano se argument wavelength tretira kao „maksimalna talasna dužina”, pri čemu se stvarna talasna dužina dinamički prilagođava tako da se duž granica geometrije napravi tačan broj trougaonih talasa. Ako je argument strict postavljen na true, talasna dužina će se koristiti tačno, a za poslednji talasni oblik može se koristiti nepotpuna šara.

Primeri

  • triangular_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Trougaoni talasi talasne dužine 3 i amplitude 1 duž linije

  • geom_to_wkt(triangular_wave(geom_from_wkt('LineString(0 0, 5 0)'), 3, 1, false)) → ’LineString (0 0, 0.625 1, 1.875 -1, 3.125 1, 4.375 -1, 5 0)’

  • geom_to_wkt(triangular_wave(geom_from_wkt('LineString(0 0, 5 0)'), 3, 1, true)) → ’LineString (0 0, 0.75 1, 2.25 -1, 3.75 1, 5 0)’

../../../_images/triangular_wave.png

Сл. 9.37 Simbolizacija objekata trougaonim talasima

9.2.14.131. triangular_wave_randomized

Konstruiše nasumične trougaone talase duž granice geometrije.

Sintaksa

triangular_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed:=0])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • min_wavelength - minimum wavelength of waves

  • max_wavelength - maksimalna talasna dužina talasa

  • min_amplitude - minimalna amplituda talasa

  • max_amplitude - maksimalna amplituda talasa

  • seed - zadaje slučajno seme za generisanje talasa. Ako je seme 0, generisaće se potpuno slučajan skup talasa.

Primeri

  • triangular_wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Nasumično dimenzionisani trougaoni talasi sa talasnim dužinama između 2 i 3 i amplitudama između 0.1 i 0.2 duž linije

../../../_images/triangular_wave_randomized.png

Сл. 9.38 Simbolizacija objekata nasumičnim trougaonim talasima

9.2.14.132. union

Vraća geometriju koja predstavlja uniju skupova tačaka geometrija.

Sintaksa

union(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • geom_to_wkt( union( make_point(4, 4), make_point(5, 5) ) ) → ’MULTIPOINT(4 4, 5 5)’

9.2.14.133. wave

Konstruiše zaobljene (sinusoidne) talase duž granice geometrije.

Sintaksa

wave(geometry, wavelength, amplitude, [strict:=false])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • wavelength - talasna dužina sinusoidnog talasnog oblika

  • amplitude - amplituda sinusoidnog talasnog oblika

  • strict - Podrazumevano se argument wavelength tretira kao „maksimalna talasna dužina“, pri čemu se stvarna talasna dužina dinamički prilagođava tako da se duž granica geometrije napravi tačan broj talasa. Ako je argument strict postavljen na true, talasna dužina će se koristiti tačno, a za poslednji talasni oblik može se koristiti nepotpuna šara.

Primeri

  • wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1) → Sinusoidni talasi talasne dužine 3 i amplitude 1 duž linije

../../../_images/wave.png

Сл. 9.39 Simbolizacija objekata talasima

9.2.14.134. wave_randomized

Konstruiše nasumične zakrivljene (sinusoidne) talase duž granice geometrije.

Sintaksa

wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed:=0])

[] označava opcione argumente

Argumenti

  • geometry - geometrija

  • min_wavelength - minimum wavelength of waves

  • max_wavelength - maksimalna talasna dužina talasa

  • min_amplitude - minimalna amplituda talasa

  • max_amplitude - maksimalna amplituda talasa

  • seed - zadaje slučajno seme za generisanje talasa. Ako je seme 0, generisaće se potpuno slučajan skup talasa.

Primeri

  • wave_randomized(geom_from_wkt('LineString(0 0, 10 0)'), 2, 3, 0.1, 0.2) → Nasumično dimenzionisani zakrivljeni talasi sa talasnim dužinama između 2 i 3 i amplitudama između 0.1 i 0.2 duž linije

../../../_images/wave_randomized.png

Сл. 9.40 Simbolizacija objekata nasumičnim talasima

9.2.14.135. wedge_buffer

Vraća bafer u obliku isečka koji polazi od tačkaste geometrije.

Sintaksa

wedge_buffer(center, azimuth, width, outer_radius, [inner_radius:=0.0])

[] označava opcione argumente

Argumenti

  • center - centralna tačka (koordinatni početak) bafera. Mora biti tačkasta geometrija.

  • azimuth - ugao (u stepenima) ka kojem je usmerena sredina isečka.

  • width - širina bafera (u stepenima). Imajte u vidu da će se isečak protezati do polovine ugaone širine sa svake strane pravca azimuta.

  • outer_radius - spoljni poluprečnik za bafere

  • inner_radius - opcioni unutrašnji poluprečnik za bafere

Primeri

  • wedge_buffer(center:=geom_from_wkt('POINT(1 2)'),azimuth:=90,width:=180,outer_radius:=1) → Bafer u obliku isečka sa centrom u tački (1,2), okrenut ka istoku, širine 180 stepeni i spoljnog poluprečnika 1.

../../../_images/wedge_buffers.png

Сл. 9.41 Baferovanje objekata u obliku isečka

Više informacija: algoritam Napravi klinaste bafere

9.2.14.136. within

Proverava da li je jedna geometrija unutar druge. Vraća TRUE ako je geometry1 potpuno unutar geometry2.

Sintaksa

within(geometry1, geometry2)

Argumenti

  • geometry1 - geometrija

  • geometry2 - geometrija

Primeri

  • 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

Više informacija: overlay_within

9.2.14.137. $x

Vraća x koordinatu trenutnog tačkastog objekta. Ako je objekat višetačkasti, vratiće se x koordinata prve tačke. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske funkcije x() sa promenljivom @geometry.

Sintaksa

$x

Primeri

  • $x → 42

Više informacija: x

9.2.14.138. x

Vraća x koordinatu tačkaste geometrije, ili x koordinatu centroida za netačkastu geometriju.

Sintaksa

x(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • x( geom_from_wkt( 'POINT(2 5)' ) ) → 2

  • x( @geometry ) → x koordinata centroida trenutnog objekta

9.2.14.139. $x_at

Preuzima x koordinatu geometrije trenutnog objekta. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske funkcije x_at sa promenljivom @geometry.

Sintaksa

$x_at(vertex)

Argumenti

  • vertex - indeks temena trenutne geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • $x_at(1) → 5

Više informacija: x_at

9.2.14.140. x_at

Preuzima x koordinatu geometrije.

Sintaksa

x_at(geometry, vertex)

Argumenti

  • geometry - objekat geometrije

  • vertex - indeks temena geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • x_at( geom_from_wkt( 'POINT(4 5)' ), 0 ) → 4

9.2.14.141. x_max

Vraća maksimalnu x koordinatu geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

x_max(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 4

9.2.14.142. x_min

Vraća minimalnu x koordinatu geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

x_min(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 2

9.2.14.143. $y

Vraća y koordinatu trenutnog tačkastog objekta. Ako je objekat višetačkasti, vratiće se y koordinata prve tačke. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske funkcije y() sa promenljivom @geometry.

Sintaksa

$y

Primeri

  • $y → 42

Više informacija: y

9.2.14.144. y

Vraća y koordinatu tačkaste geometrije, ili y koordinatu centroida za netačkastu geometriju.

Sintaksa

y(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • y( geom_from_wkt( 'POINT(2 5)' ) ) → 5

  • y( @geometry ) → y koordinata centroida trenutnog objekta

9.2.14.145. $y_at

Preuzima y koordinatu geometrije trenutnog objekta. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske funkcije y_at sa promenljivom @geometry.

Sintaksa

$y_at(vertex)

Argumenti

  • vertex - indeks temena trenutne geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • $y_at(1) → 2

Više informacija: y_at

9.2.14.146. y_at

Preuzima y koordinatu geometrije.

Sintaksa

y_at(geometry, vertex)

Argumenti

  • geometry - objekat geometrije

  • vertex - indeks temena geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • y_at( geom_from_wkt( 'POINT(4 5)' ), 0 ) → 5

9.2.14.147. y_max

Vraća maksimalnu y koordinatu geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

y_max(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 8

9.2.14.148. y_min

Vraća minimalnu y koordinatu geometrije. Izračunavanja su u prostornom referentnom sistemu te geometrije.

Sintaksa

y_min(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 5

9.2.14.149. $z

Vraća z vrednost trenutnog tačkastog objekta ako je 3D. Ako je objekat višetačkasti, vratiće se z vrednost prve tačke. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske funkcije z() sa promenljivom @geometry.

Sintaksa

$z

Primeri

  • $z → 123

9.2.14.150. z

Vraća z koordinatu tačkaste geometrije, ili NULL ako geometrija nema z vrednost.

Sintaksa

z(geometry)

Argumenti

  • geometry - tačkasta geometrija

Primeri

  • z( geom_from_wkt( 'POINTZ(2 5 7)' ) ) → 7

9.2.14.151. z_at

Preuzima z koordinatu geometrije, ili NULL ako geometrija nema z vrednost.

Sintaksa

z_at(geometry, vertex)

Argumenti

  • geometry - objekat geometrije

  • vertex - indeks temena geometrije (indeksi počinju od 0; negativne vrednosti se primenjuju od poslednjeg indeksa, počev od -1)

Primeri

  • z_at(geom_from_wkt('LineStringZ(0 0 0, 10 10 5, 10 10 0)'), 1) → 5

9.2.14.152. z_max

Vraća maksimalnu z koordinatu geometrije, ili NULL ako geometrija nema z vrednost.

Sintaksa

z_max(geometry)

Argumenti

  • geometry - geometrija sa z koordinatom

Primeri

  • 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

9.2.14.153. z_min

Vraća minimalnu z koordinatu geometrije, ili NULL ako geometrija nema z vrednost.

Sintaksa

z_min(geometry)

Argumenti

  • geometry - geometrija sa z koordinatom

Primeri

  • 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

9.2.15. Funkcije za prikaz

Ova grupa sadrži funkcije za rad sa svojstvima stavki štampanog prikaza.

9.2.15.1. item_variables

Vraća mapu promenljivih iz stavke prikaza unutar ovog štampanog prikaza.

Sintaksa

item_variables(id)

Argumenti

  • id - ID stavke prikaza

Primeri

  • map_get( item_variables('Map 0'), 'map_scale') → razmera stavke ’Map 0’ u trenutnom štampanom prikazu

Više informacija: Lista podrazumevanih promenljivih

9.2.15.2. map_credits

Vraća listu niski sa zaslugama (pravima korišćenja) za slojeve prikazane u prikazu ili u određenoj stavci karte u prikazu.

Sintaksa

map_credits([id], [include_layer_names:=false], [layer_name_separator:=’: ’])

[] označava opcione argumente

Argumenti

  • id - ID stavke karte. Ako nije zadat, koristiće se slojevi sa svih karata u prikazu.

  • include_layer_names - Postavite na true da biste uključili nazive slojeva ispred njihovih niski sa zaslugama

  • layer_name_separator - Niska koja se umeće između naziva slojeva i njihovih niski sa zaslugama, ako je include_layer_names true

Primeri

  • array_to_string( map_credits() ) → lista zasluga slojeva razdvojena zarezima za sve slojeve prikazane u svim stavkama karte u prikazu, npr. ’CC-BY-NC, CC-BY-SA’

  • array_to_string( map_credits( 'Main Map' ) ) → lista zasluga slojeva razdvojena zarezima za slojeve prikazane u stavci prikaza ’Main Map’, npr. ’CC-BY-NC, CC-BY-SA’

  • array_to_string( map_credits( 'Main Map', include_layer_names := true, layer_name_separator := ': ' ) ) → lista naziva slojeva i njihovih zasluga razdvojena zarezima, za slojeve prikazane u stavci prikaza ’Main Map’, npr. ’Railway lines: CC-BY-NC, Basemap: CC-BY-SA’

Ova funkcija zahteva da svojstva metapodataka slojeva budu popunjena.

9.2.16. Slojevi karte

Ova grupa sadrži listu slojeva dostupnih u trenutnom projektu i, za svaki sloj, njihova polja (sačuvana u skupu podataka, virtuelna ili pomoćna, kao i ona iz spojeva). Sa poljima se radi na isti način kao što je opisano u Polja i vrednosti, osim što će dvoklik dodati naziv u izraz kao nisku (pod jednostrukim navodnicima), a ne kao referencu na polje, budući da ne pripadaju aktivnom sloju. Ovo je zgodan način za pisanje izraza koji se odnose na različite slojeve, kao pri agregatnim, atributskim ili prostornim upitima.

Takođe pruža neke zgodne funkcije za rad sa slojevima.

9.2.16.1. decode_uri

Uzima sloj i dekodira uri osnovnog provajdera podataka. Zavisi od provajdera podataka koji su podaci dostupni.

Sintaksa

decode_uri(layer, [part])

[] označava opcione argumente

Argumenti

  • layer - Sloj za koji treba dekodirati uri.

  • part - Deo uri-ja koji se vraća. Ako nije zadat, vratiće se mapa sa svim delovima uri-ja.

Primeri

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

9.2.16.2. layer_property

Vraća odgovarajuće svojstvo sloja ili vrednost metapodatka.

Sintaksa

layer_property(layer, property, [translate:=true])

[] označava opcione argumente

Argumenti

  • layer - niska koja predstavlja naziv sloja ili ID sloja

  • property - niska koja odgovara svojstvu koje se vraća. Važeće opcije su:

    • name: naziv sloja

    • id: ID sloja

    • title: niska naslova iz metapodataka

    • abstract: niska apstrakta iz metapodataka

    • keywords: ključne reči iz metapodataka

    • data_url: URL iz metapodataka

    • attribution: niska atribucije iz metapodataka

    • attribution_url: URL atribucije iz metapodataka

    • source: izvor sloja

    • min_scale: minimalna razmera prikaza za sloj

    • max_scale: maksimalna razmera prikaza za sloj

    • is_editable: da li je sloj u režimu uređivanja

    • crs: CRS sloja

    • crs_definition: puna definicija CRS-a sloja

    • crs_description: opis CRS-a sloja

    • crs_ellipsoid: akronim elipsoida CRS-a sloja

    • extent: obuhvat sloja (kao objekat geometrije)

    • distance_units: jedinice rastojanja sloja

    • type: tip sloja, npr. Vector ili Raster

    • storage_type: format skladištenja (samo vektorski slojevi)

    • geometry_type: tip geometrije, npr. Point (samo vektorski slojevi)

    • feature_count: približan broj objekata na sloju (samo vektorski slojevi)

    • path: Putanja datoteke do izvora podataka sloja. Dostupno samo za slojeve zasnovane na datotekama.

  • translate - da li se vraća prevedena niska. Trenutno utiče samo na svojstvo ’type’. Podrazumevano se vraćaju prevedene niske. Postavljanje na false onemogućava prevođenje i uvek vraća engleske niske.

Primeri

  • layer_property('streets','title') → ’Basemap Streets’

  • layer_property('airports','feature_count') → 120

  • layer_property('landsat','crs') → ’EPSG:4326’

Više informacija: svojstva vektorskog, rasterskog i mrežnog sloja

9.2.16.3. load_layer

Učitava sloj po URI-ju izvora i nazivu provajdera.

Sintaksa

load_layer(uri, provider)

Argumenti

  • uri - niska URI-ja izvora sloja

  • provider - naziv provajdera podataka sloja

Primeri

  • layer_property(load_layer('c:/data/roads.shp', 'ogr'), 'feature_count') → broj objekata sa vektorskog sloja c:/data/roads.shp

9.2.17. Funkcije za mape

Ova grupa sadrži funkcije za pravljenje ključeva i vrednosti struktura podataka tipa mapa (poznatih i kao rečnici, parovi ključ-vrednost ili asocijativni nizovi) i rad sa njima. Za razliku od strukture podataka lista, gde je redosled vrednosti bitan, redosled parova ključ-vrednost u objektu mape nije relevantan, a vrednosti se identifikuju svojim ključevima.

9.2.17.1. from_json

Učitava nisku u JSON formatu.

Sintaksa

from_json(string)

Argumenti

  • string - JSON niska

Primeri

  • from_json('{"1":"one","2":"two"}') → { ’1’: ’one’, ’2’: ’two’ }

  • from_json('[1,2,3]') → [1,2,3]

9.2.17.2. hstore_to_map

Pravi mapu od niske u hstore formatu.

Sintaksa

hstore_to_map(string)

Argumenti

  • string - ulazna niska

Primeri

  • hstore_to_map('qgis=>rocks') → { ’qgis’: ’rocks’ }

9.2.17.3. map

Vraća mapu koja sadrži sve ključeve i vrednosti prosleđene kao parove parametara.

Sintaksa

map(key1, value1, key2, value2, …)

Argumenti

  • key - ključ (niska)

  • value - vrednost

Primeri

  • map('1','one','2', 'two') → { ’1’: ’one’, ’2’: ’two’ }

  • map('1','one','2', 'two')['1'] → ’one’

9.2.17.4. map_akeys

Vraća sve ključeve mape kao niz.

Sintaksa

map_akeys(map)

Argumenti

  • map - mapa

Primeri

  • map_akeys(map('1','one','2','two')) → [ ’1’, ’2’ ]

9.2.17.5. map_avals

Vraća sve vrednosti mape kao niz.

Sintaksa

map_avals(map)

Argumenti

  • map - mapa

Primeri

  • map_avals(map('1','one','2','two')) → [ ’one’, ’two’ ]

9.2.17.6. map_concat

Vraća mapu koja sadrži sve stavke zadatih mapa. Ako dve mape sadrže isti ključ, uzima se vrednost druge mape.

Sintaksa

map_concat(map1, map2, …)

Argumenti

  • map - mapa

Primeri

  • map_concat(map('1','one', '2','overridden'),map('2','two', '3','three')) → { ’1’: ’one’, ’2’: ’two’, ’3’: ’three’ }

9.2.17.7. map_delete

Vraća mapu sa obrisanim zadatim ključem i njegovom odgovarajućom vrednošću.

Sintaksa

map_delete(map, key)

Argumenti

  • map - mapa

  • key - ključ koji se briše

Primeri

  • map_delete(map('1','one','2','two'),'2') → { ’1’: ’one’ }

9.2.17.8. map_exist

Vraća TRUE ako zadati ključ postoji u mapi.

Sintaksa

map_exist(map, key)

Argumenti

  • map - mapa

  • key - ključ koji se traži

Primeri

  • map_exist(map('1','one','2','two'),'3') → FALSE

9.2.17.9. map_get

Vraća vrednost mape na osnovu njenog ključa. Vraća NULL ako ključ ne postoji.

Sintaksa

map_get(map, key)

Argumenti

  • map - mapa

  • key - ključ koji se traži

Primeri

  • map_get(map('1','one','2','two'),'2') → ’two’

  • map_get( item_variables('Map 0'), 'map_scale') → razmera stavke ’Map 0’ (ako postoji) u trenutnom štampanom prikazu

Путоказ

Za dobijanje vrednosti iz mape možete koristiti i operator indeksa ([]).

9.2.17.10. map_insert

Vraća mapu sa dodatim parom ključ/vrednost. Ako ključ već postoji, njegova vrednost se prepisuje.

Sintaksa

map_insert(map, key, value)

Argumenti

  • map - mapa

  • key - ključ koji se dodaje

  • value - vrednost koja se dodaje

Primeri

  • map_insert(map('1','one'),'3','three') → { ’1’: ’one’, ’3’: ’three’ }

  • map_insert(map('1','one','2','overridden'),'2','two') → { ’1’: ’one’, ’2’: ’two’ }

9.2.17.11. map_prefix_keys

Vraća mapu sa svim ključevima kojima je dodat zadati prefiks.

Sintaksa

map_prefix_keys(map, prefix)

Argumenti

  • map - mapa

  • prefix - niska

Primeri

  • map_prefix_keys(map('1','one','2','two'), 'prefix-') → { ’prefix-1’: ’one’, ’prefix-2’: ’two’ }

9.2.17.12. map_to_hstore

Spaja elemente mape u nisku u hstore formatu.

Sintaksa

map_to_hstore(map)

Argumenti

  • map - ulazna mapa

Primeri

  • map_to_hstore(map('1','one','2','two')) → ’„1”=>”one”’,’„2”=>”two”’

9.2.17.13. map_to_html_dl

Spaja elemente mape u nisku HTML liste definicija.

Sintaksa

map_to_html_dl(map)

Argumenti

  • map - ulazna mapa

Primeri

  • map_to_html_dl(map('1','one','2','two')) → <dl><dt>1</dt><dd>one</dd><dt>2</dt><dd>two</dd></dl>

9.2.17.14. map_to_html_table

Spaja elemente mape u nisku HTML tabele.

Sintaksa

map_to_html_table(map)

Argumenti

  • map - ulazna mapa

Primeri

  • map_to_html_table(map('1','one','2','two')) → <table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>one</td><td>two</td></tr></tbody></table>

9.2.17.15. to_json

Pravi nisku u JSON formatu od mape, niza ili druge vrednosti.

Sintaksa

to_json(value)

Argumenti

  • value - Ulazna vrednost

Primeri

  • to_json(map('1','one','2','two')) → {„1”:”one”,”2”:”two”}

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

9.2.17.16. url_encode

Vraća URL-kodiranu nisku iz mape. Pretvara sve znakove u njihov ispravno kodiran oblik, dajući potpuno usaglašenu nisku upita.

Imajte u vidu da se znak plus ’+’ ne pretvara.

Sintaksa

url_encode(map)

Argumenti

  • map - mapa.

Primeri

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

9.2.18. Matematičke funkcije

Ova grupa sadrži matematičke funkcije (npr. kvadratni koren, sin i cos).

9.2.18.1. abs

Vraća apsolutnu vrednost broja.

Sintaksa

abs(value)

Argumenti

  • value - broj

Primeri

  • abs(-2) → 2

9.2.18.2. acos

Vraća arkus kosinus vrednosti u radijanima.

Sintaksa

acos(value)

Argumenti

  • value - kosinus ugla u radijanima

Primeri

  • acos(0.5) → 1.0471975511966

9.2.18.3. asin

Vraća arkus sinus vrednosti u radijanima.

Sintaksa

asin(value)

Argumenti

  • value - sinus ugla u radijanima

Primeri

  • asin(1.0) → 1.5707963267949

9.2.18.4. atan

Vraća arkus tangens vrednosti u radijanima.

Sintaksa

atan(value)

Argumenti

  • value - tangens ugla u radijanima

Primeri

  • atan(0.5) → 0.463647609000806

9.2.18.5. atan2

Vraća arkus tangens od dy/dx koristeći znake dva argumenta za određivanje kvadranta rezultata.

Sintaksa

atan2(dy, dx)

Argumenti

  • dy - razlika y koordinate

  • dx - razlika x koordinate

Primeri

  • atan2(1.0, 1.732) → 0.523611477769969

9.2.18.6. ceil

Zaokružuje broj naviše.

Sintaksa

ceil(value)

Argumenti

  • value - broj

Primeri

  • ceil(4.9) → 5

  • ceil(-4.9) → -4

9.2.18.7. clamp

Ograničava ulaznu vrednost na zadati opseg.

Sintaksa

clamp(minimum, input, maximum)

Argumenti

  • minimum - najmanja vrednost koju input sme da uzme.

  • input - vrednost koja će biti ograničena na opseg zadat sa minimum i maximum

  • maximum - najveća vrednost koju input sme da uzme

Primeri

  • clamp(1,5,10) → 5

    input je između 1 i 10 pa se vraća nepromenjen

  • clamp(1,0,10) → 1

    input je manji od minimalne vrednosti 1, pa funkcija vraća 1

  • clamp(1,11,10) → 10

    input je veći od maksimalne vrednosti 10, pa funkcija vraća 10

9.2.18.8. cos

Vraća kosinus ugla.

Sintaksa

cos(angle)

Argumenti

  • angle - ugao u radijanima

Primeri

  • cos(1.571) → 0.000796326710733263

9.2.18.9. degrees

Pretvara iz radijana u stepene.

Sintaksa

degrees(radians)

Argumenti

  • radians - numerička vrednost

Primeri

  • degrees(3.14159) → 180

  • degrees(1) → 57.2958

9.2.18.10. exp

Vraća eksponent vrednosti.

Sintaksa

exp(value)

Argumenti

  • value - broj čiji se eksponent vraća

Primeri

  • exp(1.0) → 2.71828182845905

9.2.18.11. floor

Zaokružuje broj naniže.

Sintaksa

floor(value)

Argumenti

  • value - broj

Primeri

  • floor(4.9) → 4

  • floor(-4.9) → -5

9.2.18.12. ln

Vraća prirodni logaritam vrednosti.

Sintaksa

ln(value)

Argumenti

  • value - numerička vrednost

Primeri

  • ln(1) → 0

  • ln(2.7182818284590452354) → 1

9.2.18.13. log

Vraća vrednost logaritma prosleđene vrednosti i osnove.

Sintaksa

log(base, value)

Argumenti

  • base - bilo koji pozitivan broj

  • value - bilo koji pozitivan broj

Primeri

  • log(2, 32) → 5

  • log(0.5, 32) → -5

9.2.18.14. log10

Vraća vrednost logaritma sa osnovom 10 prosleđenog izraza.

Sintaksa

log10(value)

Argumenti

  • value - bilo koji pozitivan broj

Primeri

  • log10(1) → 0

  • log10(100) → 2

9.2.18.15. max

Vraća najveću vrednost u skupu vrednosti.

Sintaksa

max(value1, value2, …)

Argumenti

  • value - broj

Primeri

  • max(2,10.2,5.5) → 10.2

  • max(20.5,NULL,6.2) → 20.5

9.2.18.16. min

Vraća najmanju vrednost u skupu vrednosti.

Sintaksa

min(value1, value2, …)

Argumenti

  • value - broj

Primeri

  • min(20.5,10,6.2) → 6.2

  • min(2,-10.3,NULL) → -10.3

9.2.18.17. pi

Vraća vrednost broja pi za izračunavanja.

Sintaksa

pi()

Primeri

  • pi() → 3.14159265358979

9.2.18.18. radians

Pretvara iz stepeni u radijane.

Sintaksa

radians(degrees)

Argumenti

  • degrees - numerička vrednost

Primeri

  • radians(180) → 3.14159

  • radians(57.2958) → 1

9.2.18.19. rand

Vraća slučajan ceo broj u opsegu zadatom argumentima minimum i maximum (uključivo). Ako je zadato seme, vraćena vrednost će uvek biti ista, u zavisnosti od semena.

Sintaksa

rand(min, max, [seed:=NULL])

[] označava opcione argumente

Argumenti

  • min - ceo broj koji predstavlja najmanji željeni mogući slučajan broj

  • max - ceo broj koji predstavlja najveći željeni mogući slučajan broj

  • seed - bilo koja vrednost koja se koristi kao seme

Primeri

  • rand(1, 10) → 8

9.2.18.20. randf

Vraća slučajan broj u pokretnom zarezu u opsegu zadatom argumentima minimum i maximum (uključivo). Ako je zadato seme, vraćena vrednost će uvek biti ista, u zavisnosti od semena.

Sintaksa

randf([min:=0.0], [max:=1.0], [seed:=NULL])

[] označava opcione argumente

Argumenti

  • min - broj u pokretnom zarezu koji predstavlja najmanji željeni mogući slučajan broj

  • max - broj u pokretnom zarezu koji predstavlja najveći željeni mogući slučajan broj

  • seed - bilo koja vrednost koja se koristi kao seme

Primeri

  • randf(1, 10) → 4.59258286403147

9.2.18.21. round

Zaokružuje broj na zadati broj decimalnih mesta.

Sintaksa

round(value, [places:=0])

[] označava opcione argumente

Argumenti

  • value - decimalan broj koji se zaokružuje

  • places - Opcioni ceo broj koji predstavlja broj mesta na koji se zaokružuju decimale. Može biti negativan.

Primeri

  • round(1234.567, 2) → 1234.57

  • round(1234.567) → 1235

  • round(1234.567, -1) → 1230

9.2.18.22. scale_exponential

Preslikava zadatu vrednost iz ulaznog domena u izlazni opseg pomoću eksponencijalne krive. Ova funkcija se može koristiti za blago uvođenje ili izvođenje vrednosti u zadati izlazni opseg.

Sintaksa

scale_exponential(value, domain_min, domain_max, range_min, range_max, exponent)

Argumenti

  • value - Vrednost u ulaznom domenu. Funkcija će vratiti odgovarajuću skaliranu vrednost u izlaznom opsegu.

  • domain_min - Zadaje minimalnu vrednost u ulaznom domenu, najmanju vrednost koju ulazna vrednost sme da uzme.

  • domain_max - Zadaje maksimalnu vrednost u ulaznom domenu, najveću vrednost koju ulazna vrednost sme da uzme.

  • range_min - Zadaje minimalnu vrednost u izlaznom opsegu, najmanju vrednost koju funkcija sme da vrati.

  • range_max - Zadaje maksimalnu vrednost u izlaznom opsegu, najveću vrednost koju funkcija sme da vrati.

  • exponent - Pozitivna vrednost (veća od 0) koja određuje način preslikavanja ulaznih vrednosti u izlazni opseg. Veliki eksponenti izazvaće ’blago uvođenje’ izlaznih vrednosti, koje počinje sporo, a zatim se ubrzava kako se ulazne vrednosti približavaju maksimumu domena. Manji eksponenti (manji od 1) izazvaće ’blago izvođenje’, gde preslikavanje počinje brzo, ali usporava kako se približava maksimumu domena.

Primeri

  • scale_exponential(5,0,10,0,100,2) → 3.030

    blago uvođenje, uz eksponent 2

  • scale_exponential(3,0,10,0,100,0.5) → 87.585

    blago izvođenje, uz eksponent 0.5

9.2.18.23. scale_linear

Preslikava zadatu vrednost iz ulaznog domena u izlazni opseg pomoću linearne interpolacije.

Sintaksa

scale_linear(value, domain_min, domain_max, range_min, range_max)

Argumenti

  • value - Vrednost u ulaznom domenu. Funkcija će vratiti odgovarajuću skaliranu vrednost u izlaznom opsegu.

  • domain_min - Zadaje minimalnu vrednost u ulaznom domenu, najmanju vrednost koju ulazna vrednost sme da uzme.

  • domain_max - Zadaje maksimalnu vrednost u ulaznom domenu, najveću vrednost koju ulazna vrednost sme da uzme.

  • range_min - Zadaje minimalnu vrednost u izlaznom opsegu, najmanju vrednost koju funkcija sme da vrati.

  • range_max - Zadaje maksimalnu vrednost u izlaznom opsegu, najveću vrednost koju funkcija sme da vrati.

Primeri

  • scale_linear(5,0,10,0,100) → 50

  • scale_linear(0.2,0,1,0,360) → 72

    skaliranje vrednosti između 0 i 1 u ugao između 0 i 360

  • scale_linear(1500,1000,10000,9,20) → 9.6111111

    skaliranje populacije koja varira između 1000 i 10000 u veličinu fonta između 9 i 20

9.2.18.24. scale_polynomial

Preslikava zadatu vrednost iz ulaznog domena u izlazni opseg pomoću polinomijalne krive. Ova funkcija se može koristiti za blago uvođenje ili izvođenje vrednosti u zadati izlazni opseg.

Sintaksa

scale_polynomial(value, domain_min, domain_max, range_min, range_max, exponent)

Argumenti

  • value - Vrednost u ulaznom domenu. Funkcija će vratiti odgovarajuću skaliranu vrednost u izlaznom opsegu.

  • domain_min - Zadaje minimalnu vrednost u ulaznom domenu, najmanju vrednost koju ulazna vrednost sme da uzme.

  • domain_max - Zadaje maksimalnu vrednost u ulaznom domenu, najveću vrednost koju ulazna vrednost sme da uzme.

  • range_min - Zadaje minimalnu vrednost u izlaznom opsegu, najmanju vrednost koju funkcija sme da vrati.

  • range_max - Zadaje maksimalnu vrednost u izlaznom opsegu, najveću vrednost koju funkcija sme da vrati.

  • exponent - Pozitivna vrednost (veća od 0) koja određuje način preslikavanja ulaznih vrednosti u izlazni opseg. Veliki eksponenti izazvaće ’blago uvođenje’ izlaznih vrednosti, koje počinje sporo, a zatim se ubrzava kako se ulazne vrednosti približavaju maksimumu domena. Manji eksponenti (manji od 1) izazvaće ’blago izvođenje’, gde preslikavanje počinje brzo, ali usporava kako se približava maksimumu domena.

Primeri

  • scale_polynomial(5,0,10,0,100,2) → 25

    blago uvođenje, uz eksponent 2

  • scale_polynomial(3,0,10,0,100,0.5) → 54.772

    blago izvođenje, uz eksponent 0.5

9.2.18.25. sin

Vraća sinus ugla.

Sintaksa

sin(angle)

Argumenti

  • angle - ugao u radijanima

Primeri

  • sin(1.571) → 0.999999682931835

9.2.18.26. sqrt

Vraća kvadratni koren vrednosti.

Sintaksa

sqrt(value)

Argumenti

  • value - broj

Primeri

  • sqrt(9) → 3

9.2.18.27. tan

Vraća tangens ugla.

Sintaksa

tan(angle)

Argumenti

  • angle - ugao u radijanima

Primeri

  • tan(1.0) → 1.5574077246549

9.2.19. Funkcije za mreže

Ova grupa sadrži funkcije koje računaju ili vraćaju vrednosti vezane za mreže.

9.2.19.1. $face_area

Vraća površinu trenutnog lica mreže. Površina koju računa ova funkcija poštuje i podešavanje elipsoida projekta i podešavanje jedinice površine. Na primer, ako je za projekat postavljen elipsoid, izračunata površina biće elipsoidna, a ako elipsoid nije postavljen, izračunata površina biće planimetrijska.

Sintaksa

$face_area

Primeri

  • $face_area → 42

9.2.19.2. $face_index

Vraća indeks trenutnog lica mreže.

Sintaksa

$face_index

Primeri

  • $face_index → 4581

9.2.19.3. $vertex_as_point

Vraća trenutno teme kao tačkastu geometriju.

Sintaksa

$vertex_as_point

Primeri

  • geom_to_wkt( $vertex_as_point ) → ’POINT(800 1500 41)’

9.2.19.4. $vertex_index

Vraća indeks trenutnog temena mreže.

Sintaksa

$vertex_index

Primeri

  • $vertex_index → 9874

9.2.19.5. $vertex_x

Vraća X koordinatu trenutnog temena mreže.

Sintaksa

$vertex_x

Primeri

  • $vertex_x → 42.12

9.2.19.6. $vertex_y

Vraća Y koordinatu trenutnog temena mreže.

Sintaksa

$vertex_y

Primeri

  • $vertex_y → 12.24

9.2.19.7. $vertex_z

Vraća Z vrednost trenutnog temena mreže.

Sintaksa

$vertex_z

Primeri

  • $vertex_z → 42

9.2.20. Operatori

Ova grupa sadrži operatore (npr. +, -, *). Imajte u vidu da za većinu matematičkih funkcija ispod, ako je jedan od ulaza NULL, rezultat je NULL.

9.2.20.1. %

Ostatak deljenja. Uzima znak deljenika.

Sintaksa

a % b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 9 % 2 → 1

  • 9 % -2 → 1

  • -9 % 2 → -1

  • 5 % NULL → NULL

9.2.20.2. *

Množenje dve vrednosti

Sintaksa

a * b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 * 4 → 20

  • 5 * NULL → NULL

9.2.20.3. +

Sabiranje dve vrednosti. Ako je jedna od vrednosti NULL, rezultat će biti NULL.

Sintaksa

a + b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 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

Više informacija: concat, ||

9.2.20.4. -

Oduzimanje dve vrednosti. Ako je jedna od vrednosti NULL, rezultat će biti NULL.

Sintaksa

a - b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 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

9.2.20.5. /

Deljenje dve vrednosti

Sintaksa

a / b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 / 4 → 1.25

  • 5 / NULL → NULL

9.2.20.6. //

Celobrojno deljenje dve vrednosti

Sintaksa

a // b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 9 // 2 → 4

9.2.20.7. <

Poredi dve vrednosti i daje 1 ako je leva vrednost manja od desne.

Sintaksa

a < b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 < 4 → FALSE

  • 5 < 5 → FALSE

  • 4 < 5 → TRUE

9.2.20.8. <=

Poredi dve vrednosti i daje 1 ako je leva vrednost manja ili jednaka desnoj.

Sintaksa

a <= b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 <= 4 → FALSE

  • 5 <= 5 → TRUE

  • 4 <= 5 → TRUE

9.2.20.9. <>

Poredi dve vrednosti i daje 1 ako nisu jednake.

Sintaksa

a <> b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 <> 4 → TRUE

  • 4 <> 4 → FALSE

  • 5 <> NULL → NULL

  • NULL <> NULL → NULL

9.2.20.10. =

Poredi dve vrednosti i daje 1 ako su jednake.

Sintaksa

a = b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 = 4 → FALSE

  • 4 = 4 → TRUE

  • 5 = NULL → NULL

  • NULL = NULL → NULL

9.2.20.11. >

Poredi dve vrednosti i daje 1 ako je leva vrednost veća od desne.

Sintaksa

a > b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 > 4 → TRUE

  • 5 > 5 → FALSE

  • 4 > 5 → FALSE

9.2.20.12. >=

Poredi dve vrednosti i daje 1 ako je leva vrednost veća ili jednaka desnoj.

Sintaksa

a >= b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 >= 4 → TRUE

  • 5 >= 5 → TRUE

  • 4 >= 5 → FALSE

9.2.20.13. AND

Vraća TRUE kada su uslovi a i b tačni.

Sintaksa

a AND b

Argumenti

  • a - uslov

  • b - uslov

Primeri

  • TRUE AND TRUE → TRUE

  • TRUE AND FALSE → FALSE

  • 4 = 2+2 AND 1 = 1 → TRUE

  • 4 = 2+2 AND 1 = 2 → FALSE

9.2.20.14. BETWEEN

Vraća TRUE ako je vrednost unutar zadatog opsega. Opseg se smatra uključivim u odnosu na granice. Za proveru isključenja može se koristiti NOT BETWEEN.

Sintaksa

value BETWEEN lower_bound AND higher_bound

Argumenti

  • value - vrednost koja se poredi sa opsegom. Može biti niska, broj ili datum.

  • lower_bound AND higher_bound - granice opsega

Primeri

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

Белешка

value BETWEEN lower_bound AND higher_bound je isto što i „value >= lower_bound AND value <= higher_bound”.

Više informacija: NOT BETWEEN

9.2.20.15. ILIKE

Vraća TRUE ako se prvi parametar podudara sa zadatom šarom, bez razlikovanja velikih i malih slova. Umesto ILIKE može se koristiti LIKE da bi podudaranje razlikovalo velika i mala slova. Radi i sa brojevima.

Sintaksa

string/number ILIKE pattern

Argumenti

  • string/number - niska koja se pretražuje

  • pattern - šara koja se traži, možete koristiti ’%’ kao džoker, ’_’ kao jedan znak i ’\\’ za izbegavanje ovih posebnih znakova.

Primeri

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

9.2.20.16. IN

Vraća TRUE ako se vrednost nalazi u listi vrednosti.

Sintaksa

a IN b

Argumenti

  • a - vrednost

  • b - lista vrednosti

Primeri

  • 'A' IN ('A','B') → TRUE

  • 'A' IN ('C','B') → FALSE

9.2.20.17. IS

Vraća TRUE ako je a isto što i b.

Sintaksa

a IS b

Argumenti

  • a - bilo koja vrednost

  • b - bilo koja vrednost

Primeri

  • '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, ako vaša geometrija nije NULL

9.2.20.18. IS NOT

Vraća TRUE ako a nije isto što i b.

Sintaksa

a IS NOT b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 'a' IS NOT 'b' → TRUE

  • 'a' IS NOT 'a' → FALSE

  • 4 IS NOT 2+2 → FALSE

9.2.20.19. LIKE

Vraća TRUE ako se prvi parametar podudara sa zadatom šarom. Radi i sa brojevima.

Sintaksa

string/number LIKE pattern

Argumenti

  • string/number - vrednost

  • pattern - šara sa kojom se poredi vrednost, možete koristiti ’%’ kao džoker, ’_’ kao jedan znak i ’\\’ za izbegavanje ovih posebnih znakova.

Primeri

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

9.2.20.20. NOT

Negira uslov.

Sintaksa

NOT a

Argumenti

  • a - uslov

Primeri

  • NOT 1 → FALSE

  • NOT 0 → TRUE

9.2.20.21. NOT BETWEEN

Vraća TRUE ako vrednost nije unutar zadatog opsega. Opseg se smatra uključivim u odnosu na granice.

Sintaksa

value NOT BETWEEN lower_bound AND higher_bound

Argumenti

  • value - vrednost koja se poredi sa opsegom. Može biti niska, broj ili datum.

  • lower_bound AND higher_bound - granice opsega

Primeri

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

Белешка

value NOT BETWEEN lower_bound AND higher_bound je isto što i „value < lower_bound OR value > higher_bound”.

Više informacija: BETWEEN

9.2.20.22. OR

Vraća TRUE kada je uslov a ili b tačan.

Sintaksa

a OR b

Argumenti

  • a - uslov

  • b - uslov

Primeri

  • 4 = 2+2 OR 1 = 1 → TRUE

  • 4 = 2+2 OR 1 = 2 → TRUE

  • 4 = 2   OR 1 = 2 → FALSE

9.2.20.23. []

Operator indeksa. Vraća element iz niza ili mape.

Sintaksa

[index]

Argumenti

  • index - indeks niza ili vrednost ključa mape

Primeri

  • 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

Više informacija: array_get, map_get

9.2.20.24. ^

Stepenovanje dve vrednosti.

Sintaksa

a ^ b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 5 ^ 4 → 625

  • 5 ^ NULL → NULL

9.2.20.25. ||

Spaja dve vrednosti u nisku.

Ako je jedna od vrednosti NULL, rezultat će biti NULL. Za drugačije ponašanje pogledajte funkciju CONCAT.

Sintaksa

a || b

Argumenti

  • a - vrednost

  • b - vrednost

Primeri

  • 'Here' || ' and ' || 'there' → ’Here and there’

  • 'Nothing' || NULL → NULL

  • 'Dia: ' || "Diameter" → ’Dia: 25’

  • 1 || 2 → ’12’

Više informacija: concat, +

9.2.20.26. ~

Vrši podudaranje regularnog izraza nad vrednošću tipa niska. Znakovi obrnute kose crte moraju biti dvostruko izbegnuti (npr. „\\s” za podudaranje sa belim znakom).

Sintaksa

string ~ regex

Argumenti

  • string - Vrednost tipa niska

  • regex - Regularni izraz. Kose crte moraju biti izbegnute, npr. \\d.

Primeri

  • 'hello' ~ 'll' → TRUE

  • 'hello' ~ '^ll' → FALSE

  • 'hello' ~ 'llo$' → TRUE

  • 'abc123' ~ '\\d+' → TRUE

Više informacija: regexp_match

9.2.21. Funkcije za obradu

Ova grupa sadrži funkcije koje rade sa algoritmima obrade.

9.2.21.1. parameter

Vraća vrednost ulaznog parametra algoritma obrade.

Sintaksa

parameter(name)

Argumenti

  • name - naziv odgovarajućeg ulaznog parametra

Primeri

  • parameter('BUFFER_SIZE') → 5.6

9.2.22. Funkcije za rastere

Ova grupa sadrži funkcije za rad sa rasterskim slojem.

9.2.22.1. raster_attributes

Vraća mapu sa nazivima polja kao ključevima i vrednostima rasterske atributske tabele kao vrednostima, iz stavke atributske tabele koja odgovara zadatoj rasterskoj vrednosti.

Sintaksa

raster_attributes(layer, band, value)

Argumenti

  • layer - naziv ili id rasterskog sloja

  • band - broj kanala za pretragu u pripadajućoj atributskoj tabeli.

  • value - rasterska vrednost

Primeri

  • raster_attributes('vegetation', 1, raster_value('vegetation', 1, make_point(1,1))) → {’class’: ’Vegetated’, ’subclass’: ’Trees’}

  • raster_attributes('vegetation', 1, raster_value('vegetation', 1, @layer_cursor_point)) → {’class’: ’Vegetated’, ’subclass’: ’Trees’}

9.2.22.2. raster_statistic

Vraća statistiku sa rasterskog sloja.

Sintaksa

raster_statistic(layer, band, property)

Argumenti

  • layer - niska koja predstavlja naziv rasterskog sloja ili ID sloja

  • band - ceo broj koji predstavlja broj kanala sa rasterskog sloja, počev od 1

  • property - niska koja odgovara svojstvu koje se vraća. Važeće opcije su:

    • min: minimalna vrednost

    • max: maksimalna vrednost

    • avg: prosečna (srednja) vrednost

    • stdev: standardna devijacija vrednosti

    • range: raspon vrednosti (max - min)

    • sum: zbir svih vrednosti sa rastera

Primeri

  • raster_statistic('lc',1,'avg') → Prosečna vrednost iz kanala 1 rasterskog sloja ’lc’

  • raster_statistic('ac2010',3,'min') → Minimalna vrednost iz kanala 3 rasterskog sloja ’ac2010’

9.2.22.3. raster_value

Vraća rastersku vrednost pronađenu u zadatoj tački.

Sintaksa

raster_value(layer, band, point)

Argumenti

  • layer - naziv ili id rasterskog sloja

  • band - broj kanala iz kojeg se uzorkuje vrednost.

  • point - tačkasta geometrija (za višedelne geometrije sa više od jednog dela vratiće se NULL)

Primeri

  • raster_value('dem', 1, make_point(1,1)) → 25

  • raster_value('ndvi', 2, @layer_cursor_point) → 25

9.2.23. Funkcije za zapise i atribute

Ova grupa sadrži funkcije koje rade sa identifikatorima zapisa.

9.2.23.1. attribute

Vraća atribut objekta.

Varijanta 1

Vraća vrednost atributa trenutnog objekta.

Sintaksa

attribute(attribute_name)

Argumenti

  • attribute_name - naziv atributa koji se vraća

Primeri

  • attribute( 'name' ) → vrednost sačuvana u atributu ’name’ za trenutni objekat

Varijanta 2

Omogućava zadavanje ciljnog objekta i naziva atributa.

Sintaksa

attribute(feature, attribute_name)

Argumenti

  • feature - objekat

  • attribute_name - naziv atributa koji se vraća

Primeri

  • attribute( @atlas_feature, 'name' ) → vrednost sačuvana u atributu ’name’ za trenutni objekat atlasa

9.2.23.2. attributes

Vraća mapu koja sadrži sve atribute objekta, sa nazivima polja kao ključevima mape.

Varijanta 1

Vraća mapu svih atributa trenutnog objekta.

Sintaksa

attributes()

Primeri

  • attributes()['name'] → vrednost sačuvana u atributu ’name’ za trenutni objekat

Varijanta 2

Omogućava zadavanje ciljnog objekta.

Sintaksa

attributes(feature)

Argumenti

  • feature - objekat

Primeri

  • attributes( @atlas_feature )['name'] → vrednost sačuvana u atributu ’name’ za trenutni objekat atlasa

Više informacija: Funkcije za mape

9.2.23.3. $currentfeature

Vraća trenutni objekat koji se izračunava. Ovo se može koristiti sa funkcijom ’attribute’ za izračunavanje vrednosti atributa trenutnog objekta. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske promenljive @feature.

Sintaksa

$currentfeature

Primeri

  • attribute( $currentfeature, 'name' ) → vrednost sačuvana u atributu ’name’ za trenutni objekat

9.2.23.4. display_expression

Vraća izraz prikaza za zadati objekat na sloju. Izraz se podrazumevano izračunava. Može se koristiti bez argumenata, sa jednim ili sa više, detalji su ispod.

Bez parametara

Ako se pozove bez parametara, funkcija izračunava izraz prikaza trenutnog objekta na trenutnom sloju.

Sintaksa

display_expression()

Primeri

  • display_expression() → Izraz prikaza trenutnog objekta na trenutnom sloju.

Jedan parametar ’feature’

Ako se pozove samo sa parametrom ’feature’, funkcija će izračunati zadati objekat sa trenutnog sloja.

Sintaksa

display_expression(feature)

Argumenti

  • feature - Objekat koji treba izračunati.

Primeri

  • display_expression(@atlas_feature) → Izraz prikaza trenutnog objekta atlasa.

Parametri layer i feature

Ako se funkcija pozove i sa slojem i sa objektom, izračunaće zadati objekat sa zadatog sloja.

Sintaksa

display_expression(layer, feature, [evaluate:=true])

[] označava opcione argumente

Argumenti

  • layer - Sloj (ili njegov ID ili naziv)

  • feature - Objekat koji treba izračunati.

  • evaluate - Da li izraz mora biti izračunat. Ako je false, izraz će biti vraćen samo kao doslovna niska (koja se kasnije može izračunati funkcijom ’eval’).

Primeri

  • display_expression( 'streets', get_feature_by_id('streets', 1)) → Izraz prikaza objekta sa ID-jem 1 na sloju ’streets’.

  • display_expression('a_layer_id', @feature, 'False') → Izraz prikaza zadatog objekta, bez izračunavanja.

9.2.23.5. feature_id

Vraća jedinstveni ID objekta, ili NULL ako objekat nije ispravan.

Sintaksa

feature_id(feature)

Argumenti

  • feature - feature objekat

Primeri

  • feature_id( @feature ) → ID trenutnog objekta

Više informacija: get_feature_by_id

9.2.23.6. get_feature

Vraća prvi objekat sloja koji odgovara zadatoj vrednosti atributa.

Varijanta sa jednom vrednošću

Uz ID sloja zadaju se jedna kolona i vrednost.

Sintaksa

get_feature(layer, attribute, value)

Argumenti

  • layer - naziv ili ID sloja

  • attribute - naziv atributa koji se koristi za podudaranje

  • value - vrednost atributa za podudaranje

Primeri

  • get_feature('streets','name','main st') → prvi objekat pronađen na sloju „streets” sa vrednošću „main st” u polju „name”

Varijanta sa mapom

Uz ID sloja zadaje se mapa koja sadrži kolone (ključ) i njihove odgovarajuće vrednosti koje se koriste.

Sintaksa

get_feature(layer, attribute)

Argumenti

  • layer - naziv ili ID sloja

  • attribute - Mapa koja sadrži parove kolone i vrednosti koji se koriste

Primeri

  • get_feature('streets',map('name','main st','lane_num','4')) → prvi objekat pronađen na sloju „streets” sa vrednošću „main st” u polju „name” i vrednošću „4” u polju „lane_num”

9.2.23.7. get_feature_by_id

Vraća objekat sa zadatim id-jem na sloju.

Sintaksa

get_feature_by_id(layer, feature_id)

Argumenti

  • layer - sloj, naziv sloja ili id sloja

  • feature_id - id objekta koji treba vratiti

Primeri

  • get_feature_by_id('streets', 1) → objekat sa id-jem 1 na sloju „streets”

Više informacija: feature_id

9.2.23.8. $id

Vraća id objekta u trenutnom redu. UPOZORENJE: Ova funkcija je zastarela. Preporučuje se korišćenje zamenske promenljive @id.

Sintaksa

$id

Primeri

  • $id → 42

Više informacija: feature_id, get_feature_by_id

9.2.23.9. is_attribute_valid

Vraća TRUE ako određeni atribut objekta ispunjava sva ograničenja.

Sintaksa

is_attribute_valid(attribute, [feature], [layer], [strength])

[] označava opcione argumente

Argumenti

  • attribute - naziv atributa

  • feature - Objekat. Ako nije zadat, koristiće se trenutni objekat.

  • layer - Vektorski sloj. Ako nije zadat, koristiće se trenutni sloj.

  • strength - Postavite na ’hard’ ili ’soft’ da biste suzili na određeni tip ograničenja. Ako nije postavljeno, funkcija vraća FALSE ako ne prođe bilo tvrdo bilo meko ograničenje.

Primeri

  • is_attribute_valid('HECTARES') → TRUE ako vrednost trenutnog objekta u polju „HECTARES” ispunjava sva ograničenja.

  • is_attribute_valid('HOUSES',get_feature('my_layer', 'FID', 10), 'my_layer') → FALSE ako vrednost u polju „HOUSES” objekta sa „FID”=10 na sloju ’my_layer’ ne ispunjava sva ograničenja.

Više informacija: Constraints

9.2.23.10. is_feature_valid

Vraća TRUE ako objekat ispunjava sva ograničenja polja.

Sintaksa

is_feature_valid([feature], [layer], [strength])

[] označava opcione argumente

Argumenti

  • feature - Objekat. Ako nije zadat, koristiće se trenutni objekat.

  • layer - Vektorski sloj. Ako nije zadat, koristiće se trenutni sloj.

  • strength - Postavite na ’hard’ ili ’soft’ da biste suzili na određeni tip ograničenja. Ako nije postavljeno, funkcija vraća FALSE ako ne prođe bilo tvrdo bilo meko ograničenje.

Primeri

  • is_feature_valid(strength:='hard') → TRUE ako sva polja trenutnog objekta ispunjavaju svoja tvrda ograničenja.

  • is_feature_valid(get_feature('my_layer', 'FID', 10), 'my_layer') → FALSE ako sva polja objekta sa „FID”=10 na sloju ’my_layer’ ne ispunjavaju sva ograničenja.

Više informacija: Constraints

9.2.23.11. is_selected

Vraća TRUE ako je objekat izabran. Može se koristiti bez argumenata, sa jednim ili sa dva, detalji su ispod.

Bez parametara

Ako se pozove bez parametara, funkcija vraća TRUE ako je trenutni objekat na trenutnom sloju izabran.

Sintaksa

is_selected()

Primeri

  • is_selected() → TRUE ako je trenutni objekat na trenutnom sloju izabran.

Jedan parametar ’feature’

Ako se pozove samo sa parametrom ’feature’, funkcija vraća TRUE ako je zadati objekat sa trenutnog sloja izabran.

Sintaksa

is_selected(feature)

Argumenti

  • feature - Objekat za koji treba proveriti izbor.

Primeri

  • is_selected(@atlas_feature) → TRUE ako je trenutni objekat atlasa izabran.

  • is_selected(get_feature('streets', 'name', 'Main St.')) → TRUE ako je jedinstveni objekat pod nazivom „Main St.” na aktivnom sloju „streets” izabran.

  • is_selected(get_feature_by_id('streets', 1)) → TRUE ako je objekat sa id-jem 1 na aktivnom sloju „streets” izabran.

Dva parametra

Ako se funkcija pozove i sa slojem i sa objektom, vratiće TRUE ako je zadati objekat sa zadatog sloja izabran.

Sintaksa

is_selected(layer, feature)

Argumenti

  • layer - Sloj (njegov ID ili naziv) na kojem će se proveriti izbor.

  • feature - Objekat za koji treba proveriti izbor.

Primeri

  • is_selected( 'streets', get_feature('streets', 'name', "street_name")) → TRUE ako je ulica trenutne zgrade izabrana (pod pretpostavkom da sloj zgrada ima polje pod nazivom ’street_name’, a sloj ’streets’ polje pod nazivom ’name’ sa jedinstvenim vrednostima).

  • is_selected( 'streets', get_feature_by_id('streets', 1)) → TRUE ako je objekat sa id-jem 1 na sloju „streets” izabran.

9.2.23.12. maptip

Vraća savet na karti za zadati objekat na sloju. Izraz se podrazumevano izračunava. Može se koristiti bez argumenata, sa jednim ili sa više, detalji su ispod.

Bez parametara

Ako se pozove bez parametara, funkcija izračunava savet na karti za trenutni objekat na trenutnom sloju.

Sintaksa

maptip()

Primeri

  • maptip() → Savet na karti za trenutni objekat na trenutnom sloju.

Jedan parametar ’feature’

Ako se pozove samo sa parametrom ’feature’, funkcija će izračunati zadati objekat sa trenutnog sloja.

Sintaksa

maptip(feature)

Argumenti

  • feature - Objekat koji treba izračunati.

Primeri

  • maptip(@atlas_feature) → Savet na karti za trenutni objekat atlasa.

Parametri layer i feature

Ako se funkcija pozove i sa slojem i sa objektom, izračunaće zadati objekat sa zadatog sloja.

Sintaksa

maptip(layer, feature, [evaluate:=true])

[] označava opcione argumente

Argumenti

  • layer - Sloj (ili njegov ID ili naziv)

  • feature - Objekat koji treba izračunati.

  • evaluate - Da li izraz mora biti izračunat. Ako je false, izraz će biti vraćen samo kao doslovna niska (koja se kasnije može izračunati funkcijom ’eval_template’).

Primeri

  • maptip('streets', get_feature_by_id('streets', 1)) → Savet na karti za objekat sa ID-jem 1 na sloju ’streets’.

  • maptip('a_layer_id', @feature, 'False') → Savet na karti za zadati objekat, bez izračunavanja.

9.2.23.13. num_selected

Vraća broj izabranih objekata na zadatom sloju. Podrazumevano radi na sloju na kojem se izraz izračunava.

Sintaksa

num_selected([layer:=current layer])

[] označava opcione argumente

Argumenti

  • layer - Sloj (ili njegov id ili naziv) na kojem će se proveriti izbor.

Primeri

  • num_selected() → Broj izabranih objekata na trenutnom sloju.

  • num_selected('streets') → Broj izabranih objekata na sloju streets

9.2.23.14. represent_attributes

Vraća mapu sa nazivima atributa kao ključevima i podešenim vrednostima predstavljanja kao vrednostima. Vrednost predstavljanja za atribute zavisi od podešenog tipa vidžeta za svaki atribut. Može se koristiti bez argumenata, sa jednim ili sa više, detalji su ispod.

Bez parametara

Ako se pozove bez parametara, funkcija vraća predstavljanje atributa trenutnog objekta na trenutnom sloju.

Sintaksa

represent_attributes()

Primeri

  • represent_attributes() → Predstavljanje atributa trenutnog objekta.

Jedan parametar ’feature’

Ako se pozove samo sa parametrom ’feature’, funkcija vraća predstavljanje atributa zadatog objekta sa trenutnog sloja.

Sintaksa

represent_attributes(feature)

Argumenti

  • feature - Objekat koji treba izračunati.

Primeri

  • represent_attributes(@atlas_feature) → Predstavljanje atributa zadatog objekta sa trenutnog sloja.

Parametri layer i feature

Ako se pozove sa parametrima ’layer’ i ’feature’, funkcija vraća predstavljanje atributa zadatog objekta sa zadatog sloja.

Sintaksa

represent_attributes(layer, feature)

Argumenti

  • layer - Sloj (ili njegov ID ili naziv).

  • feature - Objekat koji treba izračunati.

Primeri

  • represent_attributes('atlas_layer', @atlas_feature) → Predstavljanje atributa zadatog objekta sa zadatog sloja.

Više informacija: represent_value

9.2.23.15. represent_value

Vraća podešenu vrednost predstavljanja za vrednost polja. Zavisi od podešenog tipa vidžeta. Često je korisno za vidžete ’Value Map’.

Sintaksa

represent_value(value, [fieldName])

[] označava opcione argumente

Argumenti

  • value - Vrednost koja treba da se razreši. Najverovatnije polje.

  • fieldName - Naziv polja za koje treba učitati konfiguraciju vidžeta.

Primeri

  • represent_value("field_with_value_map") → Opis za vrednost

  • represent_value('static value', 'field_name') → Opis za statičku vrednost

Više informacija: tipovi vidžeta, represent_attributes

9.2.23.16. sqlite_fetch_and_increment

Upravlja automatski uvećavajućim vrednostima u sqlite bazama podataka.

SQlite podrazumevane vrednosti mogu se primeniti samo pri umetanju i ne mogu se unapred preuzeti.

Zbog toga je nemoguće dobiti uvećani primarni ključ preko AUTO_INCREMENT pre nego što se red kreira u bazi podataka. Napomena: kod postgresa ovo radi preko opcije evaluate default values.

Pri dodavanju novih objekata sa relacijama, veoma je zgodno moći već dodati decu za roditelja, dok je forma roditelja još otvorena, a nadređeni objekat još nije upisan.

Da bi se zaobišlo ovo ograničenje, ova funkcija se može koristiti za upravljanje vrednostima sekvence u zasebnoj tabeli u formatima zasnovanim na sqlite-u, kao što je gpkg.

Tabela sekvence biće filtrirana po id-ju sekvence (filter_attribute i filter_value), a trenutna vrednost id_field biće uvećana za 1 i vraćena.

Ako je za dodatne kolone potrebno zadati vrednosti, u tu svrhu se može koristiti mapa default_values.

Napomena

Ova funkcija menja ciljnu sqlite tabelu. Namenjena je za korišćenje sa konfiguracijama podrazumevanih vrednosti atributa.

Kada je parametar database sloj, a sloj je u režimu transakcije, vrednost će biti preuzeta samo jednom tokom trajanja transakcije, keširana i uvećana. Zbog toga nije bezbedno raditi nad istom bazom podataka iz više procesa paralelno.

Sintaksa

sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values])

[] označava opcione argumente

Argumenti

  • database - Putanja do sqlite datoteke ili geopackage sloja

  • table - Naziv tabele koja upravlja sekvencama

  • id_field - Naziv polja koje sadrži trenutnu vrednost

  • filter_attribute - Naziv polja koje sadrži jedinstveni identifikator ove sekvence. Mora imati UNIQUE indeks.

  • filter_value - Naziv sekvence koja se koristi.

  • default_values - Mapa sa podrazumevanim vrednostima za dodatne kolone u tabeli. Vrednosti moraju biti u potpunosti pod navodnicima. Funkcije su dozvoljene.

Primeri

  • 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

Više informacija: Data Sources Properties, Setting relations between multiple layers

9.2.23.17. uuid

Generiše univerzalno jedinstveni identifikator (UUID) za svaki red pomoću Qt metoda QUuid::createUuid.

Sintaksa

uuid([format:=’WithBraces’])

[] označava opcione argumente

Argumenti

  • format - Format u kojem će UUID biti formatiran. ’WithBraces’, ’WithoutBraces’ ili ’Id128’.

Primeri

  • uuid() → ’{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}’

  • uuid('WithoutBraces') → ’0bd2f60f-f157-4a6d-96af-d4ba4cb366a1’

  • uuid('Id128') → ’0bd2f60ff1574a6d96afd4ba4cb366a1’

9.2.24. Relacije

Ova grupa sadrži listu relacija dostupnih u trenutnom projektu, sa njihovim opisom. Omogućava brz pristup ID-ju relacije za pisanje izraza (npr. pomoću funkcije relation_aggregate) ili prilagođavanje forme.

9.2.25. Funkcije za senzore

Ova grupa sadrži funkcije za rad sa senzorima.

9.2.25.1. sensor_data

Vraća poslednju zabeleženu vrednost (ili vrednosti kao mapu za senzore koji prijavljuju više vrednosti) sa registrovanog senzora.

Sintaksa

sensor_data(name, [expiration])

[] označava opcione argumente

Argumenti

  • name - naziv senzora

  • expiration - najveći dozvoljeni broj milisekundi od poslednje zabeležene vrednosti

Primeri

  • sensor_data('geiger_1') → ’2000’

9.2.26. Funkcije za niske

Ova grupa sadrži funkcije koje rade sa niskama (npr. koje zamenjuju, pretvaraju u velika slova).

9.2.26.1. ascii

Vraća unicode kod povezan sa prvim znakom niske.

Sintaksa

ascii(string)

Argumenti

  • string - niska koja se pretvara u unicode kod

Primeri

  • ascii('Q') → 81

9.2.26.2. char

Vraća znak povezan sa unicode kodom.

Sintaksa

char(code)

Argumenti

  • code - broj unicode koda

Primeri

  • char(81) → ’Q’

9.2.26.3. concat

Spaja više niski u jednu. NULL vrednosti se pretvaraju u prazne niske. Druge vrednosti (kao brojevi) pretvaraju se u niske.

Sintaksa

concat(string1, string2, …)

Argumenti

  • string - vrednost tipa niska

Primeri

  • concat('sun', 'set') → ’sunset’

  • concat('a','b','c','d','e') → ’abcde’

  • concat('Anno ', 1984) → ’Anno 1984’

  • concat('The Wall', NULL) → ’The Wall’

O spajanju polja

Niske ili vrednosti polja možete spajati i pomoću operatora || ili +, uz neke posebnosti:

  • Operator + znači i sabiranje izraza, pa ako imate celobrojni operand (polje ili numeričku vrednost), ovo može biti podložno greškama i bolje je da koristite ostale:

    'My feature id is: ' + "gid" => triggers an error as gid returns an integer
    
  • Kada je bilo koji od argumenata NULL vrednost, i || i + vratiće NULL vrednost. Da biste vratili ostale argumente bez obzira na NULL vrednost, možete koristiti funkciju concat ili array_to_string:

    'My feature id is: ' + NULL ==> NULL
    'My feature id is: ' || NULL => NULL
    concat('My feature id is: ', NULL) => 'My feature id is: '
    array_to_string( array('My feature id is: ', NULL) ) => 'My feature id is: '
    

više informacija: array_to_string, ||, +

9.2.26.4. format

Formatira nisku pomoću zadatih argumenata.

Sintaksa

format(string, arg1, arg2, …)

Argumenti

  • string - Niska sa čuvarima mesta %1, %2 itd. za argumente. Čuvari mesta se mogu ponavljati. Čuvar mesta sa najmanjim brojem zamenjuje se sa arg1, sledeći sa arg2 itd.

  • arg - bilo koji tip. Bilo koji broj argumenata.

Primeri

  • format('This %1 a %2','is', 'test') → ’This is a test’

  • format('This is %2','a bit unexpected but 2 is lowest number in string','normal') → ’This is a bit unexpected but 2 is lowest number in string’

9.2.26.5. format_date

Formatira tip datuma ili nisku u prilagođeni format niske. Koristi Qt formate datuma/vremena. Pogledajte QDateTime::toString.

Sintaksa

format_date(datetime, format, [language])

[] označava opcione argumente

Argumenti

  • datetime - vrednost datuma, vremena ili datetime

  • format - Šablon niske koji se koristi za formatiranje niske.

    Expression

    Izlaz

    d

    dan kao broj bez vodeće nule (1 do 31)

    dd

    dan kao broj sa vodećom nulom (01 do 31)

    ddd

    skraćeni lokalizovani naziv dana (npr. ’Mon’ do ’Sun’)

    dddd

    dugi lokalizovani naziv dana (npr. ’Monday’ do ’Sunday’)

    M

    mesec kao broj bez vodeće nule (1-12)

    MM

    mesec kao broj sa vodećom nulom (01-12)

    MMM

    skraćeni lokalizovani naziv meseca (npr. ’Jan’ do ’Dec’)

    MMMM

    dugi lokalizovani naziv meseca (npr. ’January’ do ’December’)

    yy

    godina kao dvocifren broj (00-99)

    yyyy

    godina kao četvorocifren broj

    Ovi izrazi se mogu koristiti za vremenski deo niske formata:

    Expression

    Izlaz

    h

    sat bez vodeće nule (0 do 23 ili 1 do 12 ako je prikaz AM/PM)

    hh

    sat sa vodećom nulom (00 do 23 ili 01 do 12 ako je prikaz AM/PM)

    H

    sat bez vodeće nule (0 do 23, čak i uz AM/PM prikaz)

    HH

    sat sa vodećom nulom (00 do 23, čak i uz AM/PM prikaz)

    m

    minut bez vodeće nule (0 do 59)

    mm

    minut sa vodećom nulom (00 do 59)

    s

    sekunda bez vodeće nule (0 do 59)

    ss

    sekunda sa vodećom nulom (00 do 59)

    z

    milisekunde bez pratećih nula (0 do 999)

    zzz

    milisekunde sa pratećim nulama (000 do 999)

    AP ili A

    tumači se kao AM/PM vreme. AP mora biti ili ’AM’ ili ’PM’.

    ap ili a

    Tumači se kao AM/PM vreme. ap mora biti ili ’am’ ili ’pm’.

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za formatiranje datuma u prilagođenu nisku. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

Primeri

  • 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’, ako je trenutni lokalitet neka engleska varijanta

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

9.2.26.6. format_number

Vraća broj formatiran sa graničnikom hiljada prema lokalitetu. Podrazumevano se koristi trenutni QGIS korisnički lokalitet. Takođe skraćuje decimalna mesta na zadati broj mesta.

Sintaksa

format_number(number, [places:=0], [language], [omit_group_separators:=false], [trim_trailing_zeroes:=false])

[] označava opcione argumente

Argumenti

  • number - broj koji se formatira

  • places - ceo broj koji predstavlja broj decimalnih mesta na koji se niska skraćuje.

  • language - jezik (mala slova, dvoslovni ili troslovni ISO 639 kod jezika) koji se koristi za formatiranje broja u nisku. Podrazumevano se koristi trenutni QGIS korisnički lokalitet.

  • omit_group_separators - ako je postavljeno na true, graničnici grupa neće biti uključeni u nisku

  • trim_trailing_zeroes - ako je postavljeno na true, prateće nule iza decimalne tačke biće uklonjene iz niske

Primeri

  • format_number(10000000.332,2) → ’10,000,000.33’ ako je npr. trenutni lokalitet neka engleska varijanta

  • format_number(10000000.332,2,'fr') → ’10 000 000,33’

9.2.26.7. left

Vraća podnisku koja sadrži n krajnjih levih znakova niske.

Sintaksa

left(string, length)

Argumenti

  • string - niska

  • length - ceo broj. Broj znakova sa leve strane niske koji se vraćaju.

Primeri

  • left('Hello World',5) → ’Hello’

Više informacija: right

9.2.26.8. length

Vraća broj znakova u niski ili dužinu linijske geometrije.

Varijanta sa niskom

Vraća broj znakova u niski.

Sintaksa

length(string)

Argumenti

  • string - niska čija se dužina broji

Primeri

  • length('hello') → 5

Varijanta sa geometrijom

Računa dužinu objekta linijske geometrije. Izračunavanja su uvek planimetrijska u prostornom referentnom sistemu (SRS) te geometrije, a jedinice vraćene dužine odgovaraće jedinicama tog SRS-a. Ovo se razlikuje od izračunavanja koja vrši funkcija $length, koja izvodi elipsoidna izračunavanja na osnovu podešavanja elipsoida i jedinice rastojanja projekta.

Sintaksa

length(geometry)

Argumenti

  • geometry - objekat linijske geometrije

Primeri

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

9.2.26.9. lower

Pretvara nisku u mala slova.

Sintaksa

lower(string)

Argumenti

  • string - niska koja se pretvara u mala slova

Primeri

  • lower('HELLO World') → ’hello world’

Više informacija: upper, title

9.2.26.10. lpad

Vraća nisku dopunjenu sa leve strane do zadate širine, pomoću znaka za popunu. Ako je ciljna širina manja od dužine niske, niska se skraćuje.

Sintaksa

lpad(string, width, fill)

Argumenti

  • string - niska koja se dopunjuje

  • width - dužina nove niske

  • fill - znak kojim se popunjava preostali prostor

Primeri

  • lpad('Hello', 10, 'x') → ’xxxxxHello’

  • lpad('Hello', 3, 'x') → ’Hel’

Više informacija: rpad

9.2.26.11. ltrim

Uklanja najdužu nisku koja sadrži samo zadate znakove (podrazumevano razmak) sa početka niske.

Sintaksa

ltrim(string, [characters:=’ ’])

[] označava opcione argumente

Argumenti

  • string - niska koja se skraćuje

  • characters - znakovi koji se skraćuju

Primeri

  • ltrim('   hello world  ') → ’hello world ’

  • ltrim('zzzytest', 'xyz') → ’test’

Više informacija: rtrim, trim

9.2.26.12. regexp_match

Vraća prvu poziciju podudaranja sa regularnim izrazom unutar unicode niske, ili 0 ako podniska nije pronađena.

Sintaksa

regexp_match(input_string, regex)

Argumenti

  • input_string - niska koja se testira regularnim izrazom

  • regex - Regularni izraz sa kojim se testira. Znakovi obrnute kose crte moraju biti dvostruko izbegnuti (npr. „\\s” za podudaranje sa belim znakom ili „\\b” za podudaranje sa granicom reči).

Primeri

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

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

Više informacija: strpos

9.2.26.13. regexp_replace

Vraća nisku sa zamenjenim zadatim regularnim izrazom.

Sintaksa

regexp_replace(input_string, regex, replacement)

Argumenti

  • input_string - niska u kojoj se zamenjuju podudaranja

  • regex - Regularni izraz koji se zamenjuje. Znakovi obrnute kose crte moraju biti dvostruko izbegnuti (npr. „\\s” za podudaranje sa belim znakom).

  • replacement - Niska koja će zameniti sva podudaranja zadatog regularnog izraza. Uhvaćene grupe mogu se umetnuti u nisku zamene pomoću \\1, \\2 itd.

Primeri

  • regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ') → ’QGIS DOES ROCK’

  • regexp_replace('ABC123','\\d+','') → ’ABC’

  • regexp_replace('my name is John','(.*) is (.*)','\\2 is \\1') → ’John is my name’

Više informacija: replace, array_replace

9.2.26.14. regexp_substr

Vraća deo niske koji se podudara sa zadatim regularnim izrazom.

Sintaksa

regexp_substr(input_string, regex)

Argumenti

  • input_string - niska u kojoj se traže podudaranja

  • regex - Regularni izraz sa kojim se traži podudaranje. Znakovi obrnute kose crte moraju biti dvostruko izbegnuti (npr. „\\s” za podudaranje sa belim znakom).

Primeri

  • regexp_substr('abc123','(\\d+)') → ’123’

Više informacija: substr, regexp_matches

9.2.26.15. repeat

Ponavlja nisku zadati broj puta.

Sintaksa

repeat(string, number)

Argumenti

  • string - niska koja se ponavlja

  • number - broj ponavljanja niske

Primeri

  • repeat('Hello', 3) → ’HelloHelloHello’

9.2.26.16. replace

Vraća nisku sa zamenjenom zadatom niskom, nizom ili mapom niski.

Varijanta sa niskom i nizom

Vraća nisku u kojoj je zadata niska ili niz niski zamenjen niskom ili nizom niski.

Sintaksa

replace(string, before, after)

Argumenti

  • string - ulazna niska

  • before - niska ili niz niski koje se zamenjuju

  • after - niska ili niz niski koje se koriste kao zamena

Primeri

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

Varijanta sa mapom

Vraća nisku u kojoj su zadati ključevi mape zamenjeni uparenim vrednostima. Duži ključevi mape izračunavaju se prvi.

Sintaksa

replace(string, map)

Argumenti

  • string - ulazna niska

  • map - mapa koja sadrži ključeve i vrednosti

Primeri

  • replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES')) → ’QGIS DOES ROCK’

  • replace('forty two',map('for','4','two','2','forty two','42')) → ’42’

Više informacija: regexp_replace, array_replace

9.2.26.17. reverse

Obrće smer linije ili obrće tekstualnu nisku.

Varijanta sa niskom

Obrće redosled znakova u niski.

Sintaksa

reverse(string)

Argumenti

  • string - niska koja se obrće

Primeri

  • reverse('hello') → ’olleh’

Varijanta sa geometrijom

Obrće smer linije obrtanjem redosleda njenih temena.

Sintaksa

reverse(geometry)

Argumenti

  • geometry - geometrija

Primeri

  • geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → ’LINESTRING(2 2, 1 1, 0 0)’

9.2.26.19. rpad

Vraća nisku dopunjenu sa desne strane do zadate širine, pomoću znaka za popunu. Ako je ciljna širina manja od dužine niske, niska se skraćuje.

Sintaksa

rpad(string, width, fill)

Argumenti

  • string - niska koja se dopunjuje

  • width - dužina nove niske

  • fill - znak kojim se popunjava preostali prostor

Primeri

  • rpad('Hello', 10, 'x') → ’Helloxxxxx’

  • rpad('Hello', 3, 'x') → ’Hel’

Više informacija: lpad

9.2.26.20. rtrim

Uklanja najdužu nisku koja sadrži samo zadate znakove (podrazumevano razmak) sa kraja niske.

Sintaksa

rtrim(string, [characters:=’ ’])

[] označava opcione argumente

Argumenti

  • string - niska koja se skraćuje

  • characters - znakovi koji se skraćuju

Primeri

  • rtrim('   hello world  ') → ’ hello world’

  • rtrim('testxxzx', 'xyz') → ’test’

Više informacija: ltrim, trim

9.2.26.21. strpos

Vraća prvu poziciju podudaranja podniske unutar druge niske, ili 0 ako podniska nije pronađena.

Sintaksa

strpos(haystack, needle)

Argumenti

  • haystack - niska koja se pretražuje

  • needle - niska koja se traži

Primeri

  • strpos('HELLO WORLD','WORLD') → 7

  • strpos('HELLO WORLD','GOODBYE') → 0

Više informacija: regexp_match

9.2.26.22. substr

Vraća deo niske.

Sintaksa

substr(string, start, [length])

[] označava opcione argumente

Argumenti

  • string - puna ulazna niska

  • start - ceo broj koji predstavlja početnu poziciju izdvajanja, počev od 1; ako je start negativan, vraćena niska počinje od kraja niske umanjenog za vrednost start

  • length - ceo broj koji predstavlja dužinu niske koja se izdvaja; ako je length negativan, vraćena niska izostavlja zadatu dužinu znakova sa kraja niske

Primeri

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

Više informacija: regexp_substr, regexp_matches

9.2.26.23. title

Pretvara sve reči niske u naslovna slova (sve reči malim slovima sa velikim početnim slovom).

Sintaksa

title(string)

Argumenti

  • string - niska koja se pretvara u naslovna slova

Primeri

  • title('hello WOrld') → ’Hello World’

Više informacija: lower, upper

9.2.26.24. to_string

Pretvara broj u nisku. Pretvaranje ne uzima u obzir lokalitet; za alternativu koja uzima lokalitet u obzir pogledajte ’format_number’.

Sintaksa

to_string(number)

Argumenti

  • number - Ceo ili realan broj. Broj koji se pretvara u nisku.

Primeri

  • to_string(1.23) → ’1.23’

Više informacija: format_number

9.2.26.25. trim

Uklanja sve vodeće i prateće beline (razmake, tabulatore itd.) iz niske.

Sintaksa

trim(string)

Argumenti

  • string - niska koja se skraćuje

Primeri

  • trim('   hello world  ') → ’hello world’

Više informacija: ltrim, rtrim

9.2.26.26. upper

Pretvara nisku u velika slova.

Sintaksa

upper(string)

Argumenti

  • string - niska koja se pretvara u velika slova

Primeri

  • upper('hello WOrld') → ’HELLO WORLD’

Više informacija: lower, title

9.2.26.27. wordwrap

Vraća nisku prelomljenu na maksimalan/minimalan broj znakova.

Sintaksa

wordwrap(string, wrap_length, [delimiter_string])

[] označava opcione argumente

Argumenti

  • string - niska koja se prelama

  • wrap_length - ceo broj. Ako je wrap_length pozitivan, broj predstavlja idealan maksimalan broj znakova za prelamanje; ako je negativan, broj predstavlja minimalan broj znakova za prelamanje.

  • delimiter_string - Opciona niska graničnika za prelamanje u novi red.

Primeri

  • wordwrap('UNIVERSITY OF QGIS',13) → ’UNIVERSITY OF<br>QGIS’

  • wordwrap('UNIVERSITY OF QGIS',-3) → ’UNIVERSITY<br>OF QGIS’

9.2.27. Korisnički izrazi

Ova grupa sadrži izraze sačuvane kao korisnički izrazi.

9.2.28. Promenljive

Ova grupa sadrži dinamičke promenljive vezane za aplikaciju, projektnu datoteku i druga podešavanja. Dostupnost promenljivih zavisi od konteksta:

  • iz dijaloga expressionSelect Izaberi izrazom

  • iz dijaloga calculateField Kalkulator polja

  • iz dijaloga svojstava sloja

  • iz štampanog prikaza

Da biste ove promenljive koristili u izrazu, ispred njih treba staviti znak @ (npr. @row_number).

Variable

Opis

algorithm_id

Jedinstveni ID algoritma

animation_end_time

Kraj ukupnog vremenskog opsega animacije (kao datetime vrednost)

animation_interval

Trajanje ukupnog vremenskog opsega animacije (kao interval vrednost)

animation_start_time

Početak ukupnog vremenskog opsega animacije (kao datetime vrednost)

atlas_feature

Trenutni objekat atlasa (kao feature objekat)

atlas_featureid

ID trenutnog objekta atlasa

atlas_featurenumber

Broj trenutnog objekta atlasa u prikazu

atlas_filename

Naziv trenutne atlas datoteke

atlas_geometry

Geometrija trenutnog objekta atlasa

atlas_layerid

ID sloja pokrivača atlasa

atlas_layername

Naziv sloja pokrivača atlasa

atlas_pagename

Naziv trenutne strane atlasa

atlas_totalfeatures

Ukupan broj objekata u atlasu

band

Broj kanala u rasterskom sloju

band_description

Opis kanala u rasterskom sloju

band_name

Naziv kanala u rasterskom sloju

canvas_cursor_point

Poslednji položaj kursora na platnu u geografskim koordinatama projekta

cluster_color

Boja simbola unutar klastera, ili NULL ako simboli imaju mešane boje

cluster_size

Broj simbola sadržanih u klasteru

current_feature

Objekat koji se trenutno uređuje u atributskoj formi ili redu tabele

current_geometry

Geometrija objekta koji se trenutno uređuje u formi ili redu tabele

current_parent_feature

predstavlja objekat koji se trenutno uređuje u nadređenoj formi. Upotrebljivo samo u kontekstu ugrađene forme.

current_parent_geometry

predstavlja geometriju objekta koji se trenutno uređuje u nadređenoj formi. Upotrebljivo samo u kontekstu ugrađene forme.

form_mode

Za šta se forma koristi, kao AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode ili IdentifyMode, kao niska.

feature

Trenutni objekat koji se izračunava. Ovo se može koristiti sa funkcijom ’attribute’ za izračunavanje vrednosti atributa trenutnog objekta.

frame_duration

Vremensko trajanje svakog kadra animacije (kao interval vrednost)

frame_number

Broj trenutnog kadra tokom reprodukcije animacije

frame_rate

Broj kadrova u sekundi tokom reprodukcije animacije

fullextent_maxx

Maksimalna x vrednost punog obuhvata platna (uključujući sve slojeve)

fullextent_maxy

Maksimalna y vrednost punog obuhvata platna (uključujući sve slojeve)

fullextent_minx

Minimalna x vrednost punog obuhvata platna (uključujući sve slojeve)

fullextent_miny

Minimalna y vrednost punog obuhvata platna (uključujući sve slojeve)

geometry

Geometrija trenutnog objekta koji se izračunava

geometry_part_count

Broj delova u geometriji iscrtanog objekta

geometry_part_num

Broj trenutnog dela geometrije objekta koji se iscrtava

geometry_point_count

Broj tačaka u delu iscrtane geometrije

geometry_point_num

Broj trenutne tačke u delu iscrtane geometrije

geometry_ring_num

Broj trenutnog prstena geometrije za objekat koji se iscrtava (samo za poligonske objekte). Spoljni prsten ima vrednost 0.

grid_axis

Trenutna osa napomene mreže (npr. ’x’ za geografsku dužinu, ’y’ za geografsku širinu)

grid_number

Trenutna vrednost napomene mreže

id

ID trenutnog objekta koji se izračunava

item_id

Korisnički ID stavke prikaza (nije nužno jedinstven)

item_uuid

Jedinstveni ID stavke prikaza

layer

Trenutni sloj

layer_crs

ID autoriteta koordinatnog referentnog sistema trenutnog sloja

layer_crs_ellipsoid

ID autoriteta elipsoida CRS-a trenutnog sloja

layer_cursor_point

Geometrija tačke ispod položaja miša na platnu karte (ili GetFeatureInfo položaj u kontekstu QGIS Servera), u CRS-u aktivnog sloja

layer_id

ID trenutnog sloja

layer_ids

ID-jevi svih slojeva karte u trenutnom projektu kao lista

layer_name

Naziv trenutnog sloja

layer_vertical_crs

Identifikator vertikalnog koordinatnog referentnog sistema sloja (npr. ’EPSG:5703’)

layer_vertical_crs_definition

Puna definicija vertikalnog koordinatnog referentnog sistema sloja

layer_vertical_crs_description

Naziv vertikalnog koordinatnog referentnog sistema sloja

layer_vertical_crs_wkt

WKT definicija vertikalnog koordinatnog referentnog sistema trenutnog sloja

layers

Svi slojevi karte u trenutnom projektu kao lista

layout_dpi

Rezolucija kompozicije (DPI)

layout_name

Naziv prikaza

layout_numpages

Broj strana u prikazu

layout_page

Broj strane trenutne stavke u prikazu

layout_pageheight

Visina aktivne strane u prikazu (u mm za standardne veličine papira, ili u jedinici korišćenoj za prilagođenu veličinu papira)

layout_pageoffsets

Niz Y koordinata vrha svake strane. Omogućava dinamičko postavljanje stavki na strane u kontekstu u kojem se veličine strana mogu menjati

layout_pagewidth

Širina aktivne strane u prikazu (u mm za standardne veličine papira, ili u jedinici korišćenoj za prilagođenu veličinu papira)

legend_column_count

Broj kolona u legendi

legend_filter_by_map

Označava da li je sadržaj legende filtriran kartom

legend_filter_out_atlas

Označava da li je atlas izostavljen iz legende

legend_split_layers

Označava da li se slojevi mogu deliti u legendi

legend_title

Naslov legende

legend_wrap_string

Znak(ovi) koji se koriste za prelamanje teksta legende

map_crs

Koordinatni referentni sistem trenutne karte

map_crs_acronym

Akronim koordinatnog referentnog sistema trenutne karte

map_crs_definition

Puna definicija koordinatnog referentnog sistema trenutne karte

map_crs_description

Naziv koordinatnog referentnog sistema trenutne karte

map_crs_ellipsoid

Akronim elipsoida koordinatnog referentnog sistema trenutne karte

map_crs_proj4

Proj4 definicija koordinatnog referentnog sistema trenutne karte

map_crs_projection

Opisni naziv metode projekcije koju koristi koordinatni referentni sistem karte (npr. ’Albers Equal Area’)

map_crs_wkt

WKT definicija koordinatnog referentnog sistema trenutne karte

map_end_time

Kraj vremenskog opsega karte (kao datetime vrednost)

map_extent

Geometrija koja predstavlja trenutni obuhvat karte

map_extent_center

Tačkasti objekat u centru karte

map_extent_height

Trenutna visina karte

map_extent_width

Trenutna širina karte

map_id

ID trenutnog odredišta karte. Biće ’canvas’ za iscrtavanje na platnu, a ID stavke za iscrtavanje karte u prikazu

map_interval

Trajanje vremenskog opsega karte (kao interval vrednost)

map_layer_ids

Lista ID-jeva slojeva karte vidljivih na karti

map_layers

Lista slojeva karte vidljivih na karti

map_rotation

Trenutna rotacija karte

map_scale

Trenutna razmera karte

map_start_time

Početak vremenskog opsega karte (kao datetime vrednost)

map_units

Jedinice mera karte

map_z_range_lower

Donja visina visinskog opsega karte

map_z_range_upper

Gornja visina visinskog opsega karte

model_path

Puna putanja (uključujući naziv datoteke) trenutnog modela (ili putanja projekta ako je model ugrađen u projekat).

model_folder

Folder koji sadrži trenutni model (ili folder projekta ako je model ugrađen u projekat).

model_name

Naziv trenutnog modela

model_group

Grupa trenutnog modela

notification_message

Sadržaj poruke obaveštenja koju šalje provajder (dostupno samo za radnje pokrenute obaveštenjima provajdera).

parent

Odnosi se na trenutni objekat u nadređenom sloju, omogućavajući pristup njegovim atributima i geometriji pri filtriranju agregatne funkcije

plot_axis

Pripadajuća osa grafika, npr. ’x’ ili ’y’.

plot_axis_value

Trenutna vrednost za osu grafika.

project_abstract

Apstrakt projekta, preuzet iz metapodataka projekta

project_area_units

Jedinica površine za trenutni projekat, koja se koristi pri računanju površina geometrija

project_author

Autor projekta, preuzet iz metapodataka projekta

project_basename

Osnovni naziv datoteke trenutnog projekta (bez putanje i ekstenzije)

project_creation_date

Datum kreiranja projekta, preuzet iz metapodataka projekta

project_crs

Identifikator koordinatnog referentnog sistema projekta (npr. ’EPSG:4326’)

project_crs_arconym

Akronim koordinatnog referentnog sistema projekta

project_crs_definition

Puna definicija koordinatnog referentnog sistema projekta

project_crs_description

Opis koordinatnog referentnog sistema projekta

project_crs_ellipsoid

Elipsoid koordinatnog referentnog sistema projekta

project_crs_proj4

Proj4 predstavljanje koordinatnog referentnog sistema projekta

project_crs_wkt

WKT (well known text) predstavljanje koordinatnog referentnog sistema projekta

project_distance_units

Jedinica rastojanja za trenutni projekat, koja se koristi pri računanju dužina geometrija i rastojanja

project_ellipsoid

Naziv elipsoida trenutnog projekta, koji se koristi pri računanju geodetskih površina ili dužina geometrija

project_filename

Naziv datoteke trenutnog projekta

project_folder

Folder trenutnog projekta

project_home

Matična putanja trenutnog projekta

project_identifier

Identifikator projekta, preuzet iz metapodataka projekta

project_keywords

Ključne reči projekta, preuzete iz metapodataka projekta

project_last_saved

Datum/vreme poslednjeg čuvanja projekta.

project_path

Puna putanja (uključujući naziv datoteke) trenutnog projekta

project_title

Naslov trenutnog projekta

project_units

Jedinice CRS-a projekta

project_vertical_crs

Identifikator vertikalnog koordinatnog referentnog sistema projekta (npr. ’EPSG:5703’)

project_vertical_crs_definition

Puna definicija vertikalnog koordinatnog referentnog sistema projekta

project_vertical_crs_description

Opis vertikalnog koordinatnog referentnog sistema projekta

project_vertical_crs_wkt

WKT (well known text) predstavljanje vertikalnog koordinatnog referentnog sistema projekta

qgis_locale

Trenutni jezik QGIS-a

qgis_os_name

Naziv trenutnog operativnog sistema, npr. ’windows’, ’linux’ ili ’osx’

qgis_platform

QGIS platforma, npr. ’desktop’ ili ’server’

qgis_release_name

Naziv trenutnog QGIS izdanja

qgis_short_version

Kratka niska trenutne verzije QGIS-a

qgis_version

Niska trenutne verzije QGIS-a

qgis_version_no

Broj trenutne verzije QGIS-a

row_number

Čuva broj trenutnog reda

snapping_results

Omogućava pristup rezultatima lepljenja tokom digitalizacije objekta (dostupno samo pri dodavanju objekta)

scale_value

Trenutna vrednost rastojanja razmernika

selected_file_path

Izabrana putanja datoteke iz birača datoteka pri otpremanju datoteke sistemom spoljnog skladištenja

symbol_angle

Ugao simbola koji se koristi za iscrtavanje objekta (važi samo za markerske simbole)

symbol_color

Boja simbola koji se koristi za iscrtavanje objekta

symbol_count

Broj objekata koje predstavlja simbol (u legendi prikaza)

symbol_frame

Broj kadra (samo za animirane simbole)

symbol_id

Interni ID simbola (u legendi prikaza)

symbol_label

Natpis simbola (bilo korisnički definisan natpis ili podrazumevani automatski generisan natpis - u legendi prikaza)

symbol_layer_count

Ukupan broj slojeva simbola u simbolu

symbol_layer_index

Indeks trenutnog sloja simbola

symbol_marker_column

Broj kolone za marker (važi samo za tačkaste popune šarom).

symbol_marker_row

Broj reda za marker (važi samo za tačkaste popune šarom).

user_account_name

Naziv naloga trenutnog korisnika na operativnom sistemu

user_full_name

Korisničko ime trenutnog korisnika na operativnom sistemu

value

Trenutna vrednost

vector_tile_zoom

Tačan nivo uvećanja vektorskih pločica karte koja se iscrtava (izveden iz trenutne razmere karte). Obično u intervalu [0, 20]. Za razliku od @zoom_level, ova promenljiva je vrednost u pokretnom zarezu koja se može koristiti za interpolaciju vrednosti između dva celobrojna nivoa uvećanja.

with_variable

Omogućava postavljanje promenljive za upotrebu unutar izraza i izbegavanje ponovnog računanja iste vrednosti

zoom_level

Nivo uvećanja vektorskih pločica karte koja se iscrtava (izveden iz trenutne razmere karte). Obično u intervalu [0, 20].

Nekoliko primera:

  • Vraća X koordinatu centra stavke karte u prikazu:

    x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
    
  • Vraća, za svaki objekat na trenutnom sloju, broj preklapajućih objekata aerodroma:

    aggregate( layer:='airport', aggregate:='count', expression:="code",
                   filter:=intersects( $geometry, geometry( @parent ) ) )
    
  • Preuzmi object_id prve zalepljene tačke linije:

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

9.2.29. Nedavne funkcije

Ova grupa sadrži nedavno korišćene funkcije. U zavisnosti od konteksta upotrebe (izbor objekata, kalkulator polja, opšte), nedavno primenjeni izrazi dodaju se u odgovarajuću listu (do deset izraza), poređani od novijih ka starijim. Time se omogućava brzo preuzimanje i ponovna primena prethodno korišćenih izraza.