Expressions documentation single page (locale ja)

集計

データ構造(配列)

色

条件

型の変換

日付時刻(DateTime)

ファイルとパス

フォーム

ファジー・マッチング

汎用関数

ジオメトリ

レイアウト

地図のレイヤ

データ構造(マップ型オブジェクト)

数学

Processing

Python

ラスタ

レコードと属性

文字列

グループ 集計

このグループには、属性値を集約する関数があります。

関数 aggregate

別のレイヤの地物を使って計算された値の集計値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

layer レイヤ名かレイヤIDのどちらかを表す文字列
aggregate 集計するデータを示す文字列のオプション:
  • count
  • count_distinct
  • count_missing
  • min
  • max
  • sum
  • mean
  • median
  • stdev
  • stdevsample
  • range
  • minority
  • majority
  • q1: 第1四分位数
  • q3: 第3四分位数
  • iqr: 四分位範囲
  • min_length: 文字列長の最小値
  • max_length: 文字列長の最大値
  • concatenate: 文字列の連結
  • concatenate_unique: ユニークな文字列だけの連結
  • collect: ジオメトリをマルチパートにまとめたもの
  • array_agg: データの配列
expression 式またはフィールド名
filter (オプション)フィルタ式で集計の計算に使用する地物を制限します。対象の地物は、変数@parentでアクセスできます。
concatenator (concatenateの場合だけ)値を結合する区切り文字列
order_by (オプション)並び順を決める式

例

  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers") → rail_stationsレイヤのpassengers属性の値の合計
  • aggregate('rail_stations','sum', "passengers"/7) → passengers属性を7で割って、一日平均を計算しています
  • aggregate(layer:='rail_stations',aggregate:='sum',expression:="passengers",filter:="class">3) → class属性が3より大きな地物だけを合計しています
  • aggregate(layer:='rail_stations',aggregate:='concatenate', expression:="name", concatenator:=',') → rail_stationsレイヤの全地物のname属性をコンマ区切りで連結しています
  • aggregate(layer:='countries', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry(@parent) ) ) → countriesレイヤで交差する国のうち、国コードが最大のもの

関数 array_agg

属性値を集約し、配列として返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式
order_by (オプション)並び順を決める式

例

  • array_agg("name",group_by:="state") → state属性でグループ化した、name属性のリスト

関数 collect

式で集約されたジオメトリをマルチパートジオメトリとして返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression ジオメトリ
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • collect( $geometry ) → マルチパートジオメトリ

関数 concatenate

属性または式の値を、区切り文字(デリミタ)で連結した文字列を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式
concatenator (オプション)区切り文字列
order_by (オプション)並び順を決める式

例

  • concatenate("town_name",group_by:="state",concatenator:=',') → state属性でグループ化された、town_names属性値のコンマ区切りリスト

関数 concatenate_unique

属性または式の重複のない値を、区切り文字(デリミタ)で連結した文字列で返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式
concatenator (オプション)区切り文字列
order_by (オプション)並び順を決める式

例

  • concatenate("town_name",group_by:="state",concatenator:=',') → state属性でグループ化し、(各州ごとに重複がない)town_names属性のカンマ区切りリスト

関数 count

マッチする地物の数を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • count("stations",group_by:="state") → state属性でグループ化されたstationsの数

関数 count_distinct

重複を除いた(distinctな)値の数を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • count_distinct("stations",group_by:="state") → state属性によってグループ化した、(各州ごとに重複のない)stations属性値の数

関数 count_missing

欠損値(null)の数を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • count_missing("stations",group_by:="state") → state属性でグループ化された、stationsの欠損値の数

関数 iqr

フィールドまたは式の値の四分位範囲(IQR)を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • iqr("population",group_by:="state") → state属性でグループ化された、population値の四分位範囲

関数 majority

フィールドまたは式の最頻値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • majority("class",group_by:="state") → state属性でグループ化した、最も頻繁に出現するclass属性値

関数 max_length

フィールドまたは式の文字列の最大長を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • max_length("town_name",group_by:="state") → state属性でグループ化されたtown_name属性(文字列)の最大長

関数 maximum

フィールドまたは式の最大値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • maximum("population",group_by:="state") → state属性でグループ分けした、populationの最大値

関数 mean

フィールドまたは式の平均値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • mean("population",group_by:="state") → state属性でグループ分けした、populationの平均値

関数 median

フィールドまたは式の中央値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • median("population",group_by:="state") → state属性でグループ化した、populationの中央値

関数 min_length

フィールドまたは式の文字列の最短長を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • min_length("town_name",group_by:="state") → state属性でグループ化した、town_name属性(文字列)の最短長

関数 minimum

フィールドまたは式の最小値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • minimum("population",group_by:="state") → state属性でグループ化した、populationの最小値

関数 minority

フィールドまたは式の最少出現値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • minority("class",group_by:="state") → state属性でグループ化した、最も稀なclass値

関数 q1

フィールドまたは式の値の第1四分位数を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • q1("population",group_by:="state") → state属性でグループ化した、population値の第1四分位数

関数 q3

フィールドまたは式の値の第3四分位数を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • q3("population",group_by:="state") → state属性の値でグループ分けした、populationの第3四分位数

関数 range

フィールドまたは式の値の範囲(最大値 - 最小値)を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • range("population",group_by:="state") → state属性の値でグループ分けした、population値の範囲

関数 relation_aggregate

レイヤリレーションでマッチする地物の属性値の集計値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

relation リレーションIDを表す文字列
aggregate 集計するデータを示す文字列のオプション:
  • count
  • count_distinct
  • count_missing
  • min
  • max
  • sum
  • mean
  • median
  • stdev
  • stdevsample
  • range
  • minority
  • majority
  • q1: 第1四分位数
  • q3: 第3四分位数
  • iqr: 四分位範囲
  • min_length: 文字列長の最小値
  • max_length: 文字列長の最大値
  • concatenate: 文字列の連結
  • concatenate_unique: ユニークな文字列だけの連結
  • collect: ジオメトリをマルチパートにまとめたもの
  • array_agg: データの配列
expression 式またはフィールド名
concatenator (concatenateの場合だけ)値を結合する区切り文字列
order_by optional expression to order the features used for calculating the aggregate. Fields and geometry are from the features on the joined layer.

例

  • relation_aggregate(relation:='my_relation',aggregate:='mean',expression:="passengers") → my_relationリレーションを使用してマッチする地物の平均値
  • relation_aggregate('my_relation','sum', "passengers"/7) → my_relationリレーションを使用してマッチする地物の、passengers値を7で割った値の合計
  • relation_aggregate('my_relation','concatenate', "towns", concatenator:=',') → my_relationリレーションを使用し、マッチする地物のtowns値をコンマで連結したリスト
  • relation_aggregate('my_relation','array_agg', "id") → my_relationリレーションを使ってマッチした地物の、id値の配列

関数 stdev

フィールドまたは式の標準偏差を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • stdev("population",group_by:="state") → state属性の値でグループ分けした、populationの標準偏差

関数 sum

フィールドまたは式の合計値を返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

expression 集計する属性(式)
group_by (オプション)グループ化に使う式
filter (オプション)フィルタ式

例

  • sum("population",group_by:="state") → state属性の値によってグループ分けした、populationの合計

グループ データ構造(配列)

このグループには、配列(リストデータ構造とも呼ばれます)の作成と操作のための関数が含まれています。配列では値の順序こそが重要で、値がキーによって識別される「マップ型オブジェクト」のデータ構造とは異なります。

関数 array

パラメータとして渡されたすべての値を、配列として返します。

構文

array ( value1 , value2 …)

引数

value 値

例

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

関数 array_all

配列の値をすべて含んでいる配列の場合、trueを返します。

構文

array_all ( array_a , array_b )

引数

array_a 配列
array_b 検索する配列

例

  • array_all(array(1,2,3),array(2,3)) → true
  • array_all(array(1,2,3),array(1,2,4)) → false

関数 array_append

値が最後に追加された配列を返します。

構文

array_append ( array , value )

引数

array 配列
value 追加する値

例

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

関数 array_cat

すべての配列を連結して、一つの配列として返します。

構文

array_cat ( array1 , array2 …)

引数

array 配列

例

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

関数 array_contains

配列に指定された値が含まれている場合、trueを返します。

構文

array_contains ( array , value )

引数

array 配列
value 検索する値

例

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

関数 array_distinct

指定された配列の、異なる(distinctな)値の配列を返します。

構文

array_distinct ( array )

引数

array 配列

例

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

関数 array_filter

式がtrueと判定した要素だけを含む配列を返します。

構文

array_filter ( array , expression )

引数

array 配列
expression それぞれの要素に対して評価する式。変数@elementが各要素を表します。

例

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

関数 array_find

配列内の値のインデックス(最初のものは0)を返します。値が見つからない場合は-1を返します。

構文

array_find ( array , value )

引数

array 配列
value 検索する値

例

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

関数 array_first

配列の最初の値を返します。

構文

array_first ( array )

引数

array 配列

例

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

関数 array_foreach

式で評価した結果を配列として返します。

構文

array_foreach ( array , expression )

引数

array 配列
expression それぞれの要素に対して評価する式。変数@elementが各要素を表します。

例

  • array_foreach(array('a','b','c'),upper(@element)) → [ 'A', 'B', 'C' ]
  • array_foreach(array(1,2,3),@element + 10) → [ 11, 12, 13 ]

関数 array_get

配列のN番目の値(最初の値は0)を返します。

構文

array_get ( array , index )

引数

array 配列
index 取り出すインデックス(最初は0)

例

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

関数 array_insert

指定された位置に値が挿入された配列を返します。

構文

array_insert ( array , pos , value )

引数

array 配列
pos 挿入する位置(最初は0)
value 追加する値

例

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

関数 array_intersect

配列array1の要素が一つでも配列array2に存在する場合、trueを返します。

構文

array_intersect ( array1 , array2 )

引数

array1 配列
array2 別の配列

例

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

関数 array_last

配列の最後の値を返します。

構文

array_last ( array )

引数

array 配列

例

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

関数 array_length

配列の要素の数を返します。

構文

array_length ( array )

引数

array 配列

例

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

関数 array_prepend

値を先頭に追加した配列を返します。

構文

array_prepend ( array , value )

引数

array 配列
value 追加する値

例

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

関数 array_remove_all

指定された値が削除された配列を返します。

構文

array_remove_all ( array , value )

引数

array 配列
value 削除する値

例

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

関数 array_remove_at

指定された位置(インデックス)の要素が削除された配列を返します。

構文

array_remove_at ( array , pos )

引数

array 配列
pos 削除する位置(最初は0)

例

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

関数 array_reverse

逆順にした配列を返します。

構文

array_reverse ( array )

引数

array 配列

例

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

関数 array_slice

配列の一部を返します。start_posとend_posの引数で定義されます。

構文

array_slice ( array , start_pos , end_pos )

引数

array 配列
start_pos 開始位置(インデックス)。負の数の場合、リストの最後から数えます(最後の要素は-1)。
end_pos 終了位置(インデックス)。負の数の場合、リストの最後から数えます(最後の要素は-1)。

例

  • 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_slice(array('Dufour','Valmiera','Chugiak','Brighton'),-2,-1) → [ 'Chugiak', 'Brighton' ]

関数 array_sort

ソートされた配列を返します。

構文

array_sort ( array [, ascending=true ])

記号[]は、オプションの引数を意味します。

引数

array 配列
ascending 降順にソートする場合はfalse

例

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

関数 array_to_string

配列要素を区切り文字で連結した文字列を返します。空の値を置き換える文字列を指定できます。

構文

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

記号[]は、オプションの引数を意味します。

引数

array 入力配列
delimiter 区切り文字
empty_value (オプション)空のマッチの代わりに使用する文字列

例

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

関数 generate_series

連続した数字からなる配列を作ります。

構文

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

記号[]は、オプションの引数を意味します。

引数

start 最初の値
stop 最後の値
step 増分値

例

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

関数 regexp_matches

正規表現のグループによってキャプチャされた文字列を、配列として返します。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 対象文字列
regex グループを取得するために使用される正規表現
empty_value (オプション)空のマッチの代わりに使用する文字列

例

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

関数 string_to_array

文字列を区切り文字で配列に分割します。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 入力文字列
delimiter 区切り文字
empty_value (オプション)空のマッチの代わりに使用する文字列

例

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

グループ 色

このグループには、色を操作する関数があります。

関数 color_cmyk

CMYK(シアン、マゼンタ、イエロー、ブラック)で指定した色を表す文字列を返します。

構文

color_cmyk ( cyan , magenta , yellow , black )

引数

cyan シアン(0から100までの整数のパーセント)
magenta マゼンタ(0から100までの整数のパーセント)
yellow イエロー(0から100までの整数のパーセント)
black ブラック(0から100までの整数のパーセント)

例

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

関数 color_cmyka

CMYKA(シアン、マゼンタ、イエロー、ブラック、アルファ)で指定した色を表す文字列を返します。

構文

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

引数

cyan シアン(0から100までの整数のパーセント)
magenta マゼンタ(0から100までの整数のパーセント)
yellow イエロー(0から100までの整数のパーセント)
black ブラック(0から100までの整数のパーセント)
alpha アルファ(0から255までの整数)

例

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

関数 color_grayscale_average

グレースケールフィルタを適用した色の文字列表現を返します。

構文

color_grayscale_average ( color )

引数

color 色を表す文字列

例

  • color_grayscale_average('255,100,50') → 127,127,127,255

関数 color_hsl

HSL(色相、彩度、輝度)で指定した色を表す文字列を返します。

構文

color_hsl ( hue , saturation , lightness )

引数

hue 色相(0から360までの整数)
saturation 彩度(0から100までの整数のパーセント)
lightness 輝度(0から100までの整数のパーセント)

例

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

関数 color_hsla

HSLA(色相、彩度、輝度、アルファ)で指定した色を表す文字列を返します。

構文

color_hsla ( hue , saturation , lightness , alpha )

引数

hue 色相(0から360までの整数)
saturation 彩度(0から100までの整数のパーセント)
lightness 輝度(0から100までの整数のパーセント)
alpha アルファ(0から255までの整数)

例

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

関数 color_hsv

HSV(色相、彩度、明度)で指定した色を表す文字列を返します。

構文

color_hsv ( hue , saturation , value )

引数

hue 色相(0から360までの整数)
saturation 彩度(0から100までの整数のパーセント)
value 明度(0から100までの整数のパーセント)

例

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

関数 color_hsva

HSVA(色相、彩度、明度、アルファ)で指定した色を表す文字列を返します。

構文

color_hsva ( hue , saturation , value , alpha )

引数

hue 色相(0から360までの整数)
saturation 彩度(0から100までの整数のパーセント)
value 明度(0から100までの整数のパーセント)
alpha アルファ(0から255までの整数)

例

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

関数 color_mix_rgb

比率に基づいて混合した色を表すRGB文字列を返します。

構文

color_mix_rgb ( color1 , color2 , ratio )

引数

color1 色を表す文字列
color2 色を表す文字列
ratio 混合比率

例

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

関数 color_part

色の特定成分を返します。

構文

color_part ( color , component )

引数

color 色を表す文字列
component 色の構成要素に対応する文字列は次の通り:
  • red: RGBの赤 (0-255)
  • green: RGBの緑 (0-255)
  • blue: RGBの青 (0-255)
  • alpha: アルファ値(0-255)
  • hue: HSVの色相 (0-360)
  • saturation: HSVの彩度 (0-100)
  • value: HSVの明度 (0-100)
  • hsl_hue: HSLの色相 (0-360)
  • hsl_saturation: HSLの彩度 (0-100)
  • lightness: HSLの輝度 (0-100)
  • cyan: CMYKのシアン (0-100)
  • magenta: CMYKのマゼンタ (0-100)
  • yellow: CMYKのイエロー (0-100)
  • black: CMYKのブラック (0-100)

例

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

関数 color_rgb

RGB(赤、緑、青)で指定した色を表す文字列を返します。

構文

color_rgb ( red , green , blue )

引数

red 赤(0から255までの整数の値)
green 緑(0から255までの整数の値)
blue 青(0から255までの整数の値)

例

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

関数 color_rgba

RGBA(赤、緑、青、アルファ)で指定した色を表す文字列を返します。

構文

color_rgba ( red , green , blue , alpha )

引数

red 赤(0から255までの整数の値)
green 緑(0から255までの整数の値)
blue 青(0から255までの整数の値)
alpha アルファ(0から255までの整数)

例

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

関数 create_ramp

色とステップのマップ型オブジェクトで定義されたグラデーションランプを返します。

構文

create_ramp ( map [, discrete ])

記号[]は、オプションの引数を意味します。

引数

map 色とステップのマップ型オブジェクト
discrete カラーランプが離散的かどうか

例

  • ramp_color(create_array(map(0,'0,0,0',1,'255,0,0')),1) → '255,0,0,255'

関数 darker

指定した色を基準に、より暗い(または明るい)色の文字列を返します。

構文

darker ( color , factor )

引数

color 色を表す文字列
factor 暗化係数(整数):
  • 係数が100より大きい場合、暗い色を返します(たとえば、係数を300に設定すると、3分の1の輝度を持つ色が返されます)。
  • 係数が100未満の場合、戻り値の色はより明るくなりますが、この目的ではlighter関数を使用することをお勧めします。
  • 係数が0または負の場合、戻り値は未定義です。

例

  • darker('200,10,30',300) → '66,3,10,255'

関数 lighter

より明るい(または暗い)色を返します。

構文

lighter ( color , factor )

引数

color 色を表す文字列
factor 明化係数(整数):
  • 係数が100より大きい場合、より明るい色を返します(たとえば、150に設定すると50%明るい色が返します)。
  • 係数が100より小さい場合、より暗い色を返しますが、この目的ではdarker関数を使用することをお勧めします。
  • 係数が0または負の場合、戻り値は未定義です。

例

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

関数 project_color

プロジェクトのカラースキーマの色を返します。

構文

project_color ( name )

引数

name 色の名前

例

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

関数 ramp_color

カラーランプから色を表す文字列を返します。

保存済みランプ

保存済みランプの色を表す文字列を返します。

構文

ramp_color ( ramp_name , value )

引数

ramp_name カラーランプの名前(Spectralなど)
value 色を取得するランプ上の位置(0から1までの実数値)

例

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

注意

利用可能なカラーランプは、QGISのバージョンで異なります。そのため、この関数は期待した結果にならない場合があります。

式によって定義されたランプ

式によって定義されたランプの色を表す文字列を返します。

構文

ramp_color ( ramp , value )

引数

ramp カラーランプ
value 色を取得するランプ上の位置(0から1までの実数値)

例

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

関数 set_color_part

色の文字列の成分を設定します。

構文

set_color_part ( color , component , value )

引数

color 色を表す文字列
component 設定する色の構成要素は次の通り:
  • red: RGBの赤 (0-255)
  • green: RGBの緑 (0-255)
  • blue: RGBの青 (0-255)
  • alpha: アルファ値(0-255)
  • hue: HSVの色相 (0-360)
  • saturation: HSVの彩度 (0-100)
  • value: HSVの明度 (0-100)
  • hsl_hue: HSLの色相 (0-360)
  • hsl_saturation: HSLの彩度 (0-100)
  • lightness: HSLの輝度 (0-100)
  • cyan: CMYKのシアン (0-100)
  • magenta: CMYKのマゼンタ (0-100)
  • yellow: CMYKのイエロー (0-100)
  • black: CMYKのブラック (0-100)
value 構成要素の値。上記の範囲内の値にします。

例

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

グループ 条件

このグループには、式の中で条件分けに使う関数があります。

関数 coalesce

引数リストを順に評価し、NULLではない最初の値を返します。
この関数は、任意の数の引数をとることができます。

構文

coalesce ( expression1 , expression2 …)

引数

expression 式または値(型は無関係)

例

  • coalesce(NULL, 2) → 2
  • coalesce(NULL, 2, 3) → 2
  • coalesce(7, NULL, 3*2) → 7
  • coalesce("fieldA", "fallbackField", 'ERROR') → フィールドfieldAの値がNULLでない場合はその値。そうでなければ、フィールドfallbackFieldの値。両方ともNULLの場合は文字列ERROR(シングル引用符に注意)

関数 if

条件をテストし、それに応じて異なる結果を返します。

構文

if ( condition , result_when_true , result_when_false )

引数

condition チェックする条件
result_when_true 条件がtrueか、あるいはfalseに変換できない値である場合に返される結果
result_when_false 条件が偽であるか、0や''といったfalseに変換される値である場合に返される結果。NULLもfalseに変換されます。

例

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

関数 nullif

value1がvalue2と等しい場合、nullを返します。それ以外の場合、value1を返します。

構文

nullif ( value1 , value2 )

引数

value1 そのまま使われるか、NULLに置き換えられる値
value2 NULL置換の基準になる値

例

  • nullif('(none)', '(none)') → NULL
  • nullif('text', '(none)') → 'text'
  • nullif("name", '') → nameが空文字(またはNULL)の場合はNULL、それ以外の場合はname

関数 regexp_match

正規表現に一致する最初の位置を返します。部分文字列が見つからない場合、0を返します。

構文

regexp_match ( input_string , regex )

引数

input_string 正規表現に対してテストする文字列
regex テストする正規表現。バックスラッシュは二重にエスケープする必要があります(空白文字に一致させるには\\sなど)。

例

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

関数 try

式を評価し、エラーでない値を返すことを保証します(いわゆる例外処理)。式がエラーを返す場合、指定した値を返します。指定値がない場合はnullを返します。

構文

try ( expression [, alternative ])

記号[]は、オプションの引数を意味します。

引数

expression 評価したい式
alternative 式がエラーを起こした際に返したい値

例

  • try( to_int( '1' ), 0 ) → 1
  • try( to_int( 'a' ), 0 ) → 0
  • try( to_date( 'invalid_date' ) ) → NULL

グループ 型の変換

このグループには、データ型を他の型に変換する関数が含まれます。たとえば、文字列から整数、整数から文字列への変換です。

関数 from_base64

Decodes a string in the Base64 encoding into a binary value.

構文

from_base64 ( string )

引数

string the string to decode

例

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

関数 hash

指定した方法で文字列のハッシュを生成する

構文

hash ( string , method )

引数

string ハッシュ化する文字列
method ハッシュ化方法 'md4', 'md5', 'sha1', 'sha224', 'sha384', 'sha512', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'keccak_224', 'keccak_256', 'keccak_384', 'keccak_512'

例

  • 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'
  • keccak_512('QGIS') → '6f0f751776b505e317de222508fa5d3ed7099d8f07c74fed54ccee6e7cdc6b89b4a085e309f2ee5210c9'

関数 md5

文字列からmd5ハッシュを作る

構文

md5 ( string )

引数

string ハッシュ化する文字列

例

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

関数 sha256

文字列からsha256ハッシュを作る

構文

sha256 ( string )

引数

string ハッシュ化する文字列

例

  • sha256('QGIS') → 'eb045cba7a797aaa06ac58830846e40c8e8c780bc0676d3393605fae50c05309'

関数 to_base64

Encodes a binary value into a string, using the Base64 encoding.

構文

to_base64 ( value )

引数

value the binary value to encode

例

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

関数 to_date

文字列を日付型オブジェクト(date)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 日付を表す文字列
format フォーマット形式
language 文字列をdateに変換する言語(小文字、ISO 639)

例

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

関数 to_datetime

文字列を日時型オブジェクト(datetime)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 日時を表す文字列
format 文字列をdatetimeに変換するフォーマット
language 文字列をdatetimeに変換する言語(小文字、ISO 639)

例

  • 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
  • to_datetime('29 juin, 2019 @ 12:34','d MMMM, yyyy @ HH:mm','fr') → 2019-06-29T12:34

関数 to_dm

座標を度・分単位に変換します。

構文

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

記号[]は、オプションの引数を意味します。

引数

coordinate 緯度か経度
axis 座標軸(xかy)
precision 小数点桁数
formatting フォーマット・型を指定する(NULLか aligned か suffix)

例

  • to_dm(6.3545681, 'x', 3) → 6°21.274′
  • to_dm(6.3545681, 'y', 4, 'suffix') → 6°21.2741′N

関数 to_dms

座標を度、分、秒形式に変換します。

構文

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

記号[]は、オプションの引数を意味します。

引数

coordinate 緯度か経度
axis 座標軸(xかy)
precision 小数点桁数
formatting フォーマット・型を指定する(NULLか aligned か suffix)

例

  • to_dms(6.3545681, 'x', 3) → 6°21′16.445″
  • to_dms(6.3545681, 'y', 4, 'suffix') → 6°21′16.4452″N

関数 to_int

文字列を整数値に変換します。整数値に変換できない場合は何も返されません(例えば '123asd' は不正です)

構文

to_int ( string )

引数

string 整数値に変換する文字列

例

  • to_int('123') → 123

関数 to_interval

文字列をインターバル型に変換します。日付や月、時間などを取得することに利用できます。

構文

to_interval ( string )

引数

string インターバルを表す文字列。フォーマットの例は{n} days {n} hours {n} months, years, weeks, minutes, secondsが使用できます。

例

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

関数 to_real

文字列を実数型に変換します。変換できない場合は何も返されません(例えば'123.56asd'は不正です)。フィールドの精度が変換結果の精度より小さい場合、保存時に数値が丸められます。

構文

to_real ( string )

引数

string 実数型に変換する文字列

例

  • to_real('123.45') → 123.45

関数 to_string

数値を文字列に変換します。

構文

to_string ( number )

引数

number 整数または実数値

例

  • to_string(123) → '123'

関数 to_time

文字列を時間型オブジェクト(time)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 時刻の値を表す文字列
format 文字列をtimeに変換するフォーマット
language 文字列をtimeに変換する言語(小文字、ISO 639)

例

  • 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

グループ 日付時刻(datetime)

このグループには、日付や時刻を扱う関数があります。

関数 age

2つの日付や日時の差を返します。
差は Interval 型として返されるので、有用な情報を抽出するためには次のいずれかの関数と一緒に使用する必要があるでしょう:

構文

age ( datetime1 , datetime2 )

引数

datetime1 時間的に後の時間を表す日付型または日時型、文字列
datetime2 時間的に前の時間を表す日付型または日時型、文字列

例

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

関数 datetime_from_epoch

1970-01-01T00:00:00.00(Qt.UTC)からの経過時間をdatetime型を返す。

構文

datetime_from_epoch ( int )

引数

int 数値(ミリ秒)

例

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

関数 day

日付型から日を取り出します。インターバル型からは日単位の長さを取り出します。

Date型バージョン

日付型(date)または日時型(datetime)から日を取り出します。

構文

day ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを日単位で計算します。

構文

day ( interval )

引数

interval 日数を取得するインターバルの値

例

  • day(to_interval('3 days')) → 3
  • day(to_interval('3 weeks 2 days')) → 23
  • day(age('2012-01-01','2010-01-01')) → 730

関数 day_of_week

日付または日時の曜日を表す整数を返します。返される値は0から6で、0が日曜日、6が土曜日に対応します。

構文

day_of_week ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

関数 epoch

Unixエポックと日付値とのインターバルをミリ秒単位で返します。

構文

epoch ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

関数 format_date

日付型または文字列をカスタム形式でフォーマットします。詳しくは QDateTime::toString を参照してください。

構文

format_date ( datetime , format [, language ])

記号[]は、オプションの引数を意味します。

引数

datetime 日付、時刻または日時の値
format 文字列の書式設定に使用される文字列テンプレート(以下は英語からの直訳です。日本語設定の場合、デフォルトでは、例えば「Jun」はエラーになり、半角数字の「6月」は正しく解釈されます)
式 出力
d ゼロなしの日付(1〜31)
DD ゼロ付きの日付(01〜31)
DDD 短縮曜日名(例えば、MonからSun)
dddd 長い曜日名(例えば、MondayからSunday)
M ゼロなし月(1〜12)
MM ゼロ付きの月(01〜12)
MMM 短縮されたローカル月名(例えば、JanからDec)
MMMM 長いローカル月名(例えば、JanuaryからDecember)
yy 2桁の年(00-99)
yyyy 4桁の年

以下の書式文字列は、時間部分に使用できます。

式 出力
h ゼロなしの時(0〜23またはAM / PM表示の場合の1〜12)
hh ゼロ付きの時(00〜23またはAM / PM表示の場合の01〜12)
H ゼロなしの時間(AM / PM表示でも0〜23)
HH ゼロ付きの時(AM / PM表示でも00〜23)
m ゼロなしの分(0〜59)
mm ゼロ付きの分(00〜59)
s ゼロなしの秒(0〜59)
SS ゼロ付きの秒(00〜59)
z ゼロなしのミリ秒(0〜999)
zzz ゼロ付きのミリ秒(000〜999)
APまたはA AM / PM時間として解釈。 AP はAMまたはPMでなければなりません。
apまたはa AM / PM時間として解釈。 ap はamまたはpmでなければなりません。
language dateをカスタム文字列に変換するフォーマットの言語(小文字、ISO 639)

例

  • format_date('2012-05-15','dd.MM.yyyy') → '15.05.2012'
  • format_date('2012-05-15','d MMMM yyyy','fr') → '15 juin 2012'

関数 hour

時間型(time)または日時型(datetime)から時の部分を取り出します。インターバル型からは時間数を取り出します。

時刻

時間型(time)または日時型(datetime)から時の部分を取り出します。

構文

hour ( datetime )

引数

datetime 時間型(time)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを時間単位で計算します。

構文

hour ( interval )

引数

interval インターバルの値

例

  • hour(tointerval('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

関数 make_date

Creates a date value from year, month and day numbers.

構文

make_date ( year , month , day )

引数

year Year number. Years 1 to 99 are interpreted as is. Year 0 is invalid.
month Month number, where 1=January
day Day number, beginning with 1 for the first day in the month

例

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

関数 make_datetime

Creates a datetime value from year, month, day, hour, minute and second numbers.

構文

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

引数

year Year number. Years 1 to 99 are interpreted as is. Year 0 is invalid.
month Month number, where 1=January
day Day number, beginning with 1 for the first day in the month
hour Hour number
minute Minutes
second Seconds (fractional values include milliseconds)

例

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

関数 make_interval

Creates an interval value from year, month, weeks, days, hours, minute and seconds values.

構文

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

記号[]は、オプションの引数を意味します。

引数

years Number of years (assumes a 365.25 day year length).
months Number of months (assumes a 30 day month length)
weeks Number of weeks
days Number of days
hours Number of hours
minutes Number of minutes
seconds Number of seconds

例

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

関数 make_time

Creates a time value from hour, minute and second numbers.

構文

make_time ( hour , minute , second )

引数

hour Hour number
minute Minutes
second Seconds (fractional values include milliseconds)

例

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

関数 minute

日時型(datetime)または時間型(time)から分の部分を取り出します。インターバル型(interval)からは長さを分の単位で取り出します。

時刻

時間(time)または日時(datetime)から分の部分を取り出します。

構文

minute ( datetime )

引数

datetime 時間型(time)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを分単位で計算します。

構文

minute ( interval )

引数

interval インターバル型

例

  • minute(tointerval('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

関数 month

日付型(date)から月の部分を取り出します。インターバル型(interval)からは長さを月単位で取り出します。

Date型バージョン

日付型(date)または日時型(datetime)から月の部分を取り出します。

構文

month ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを月単位で計算します。

構文

month ( interval )

引数

interval インターバル型

例

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

関数 now

現在の時間を返します。この関数は静的で、評価時に一貫した値を返します。

構文

now ()

例

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

関数 second

日時型(datetime)または時間型(time)から秒の部分を取り出します。インターバル型からは長さを秒単位を取り出します。

時刻

時間型または日時型から秒の部分を取り出します。

構文

second ( datetime )

引数

datetime 時間型(time)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを秒単位で計算します。

構文

second ( interval )

引数

interval インターバル型

例

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

関数 to_date

文字列を日付型オブジェクト(date)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 日付を表す文字列
format フォーマット形式
language 文字列をdateに変換する言語(小文字、ISO 639)

例

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

関数 to_datetime

文字列を日時型オブジェクト(datetime)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 日時を表す文字列
format 文字列をdatetimeに変換するフォーマット
language 文字列をdatetimeに変換する言語(小文字、ISO 639)

例

  • 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
  • to_datetime('29 juin, 2019 @ 12:34','d MMMM, yyyy @ HH:mm','fr') → 2019-06-29T12:34

関数 to_interval

文字列をインターバル型に変換します。日付や月、時間などを取得することに利用できます。

構文

to_interval ( string )

引数

string インターバルを表す文字列。フォーマットの例は{n} days {n} hours {n} months, years, weeks, minutes, secondsが使用できます。

例

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

関数 to_time

文字列を時間型オブジェクト(time)に変換します。オプションとして、文字列をパースするためのフォーマット形式を指定できます。詳しくは、 QDate::fromString をご覧ください。

構文

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

記号[]は、オプションの引数を意味します。

引数

string 時刻の値を表す文字列
format 文字列をtimeに変換するフォーマット
language 文字列をtimeに変換する言語(小文字、ISO 639)

例

  • 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

関数 week

日付型から週番号を取り出します。インターバル型からは週単位の長さを取り出します。

Date型バージョン

日付型(date)または日時型(datetime)から週番号を取り出します。

構文

week ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを週単位で計算します。

構文

week ( interval )

引数

interval インターバル型

例

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

関数 year

日付型(date)から年の部分を取り出します。インターバル型からは年単位で長さを取り出します。

Date型バージョン

日付型(date)または日時型(datetime)から年の部分を取り出します。

構文

year ( date )

引数

date 日付型(date)または日時型(datetime)の値

例

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

インターバル型バージョン

インターバル型の長さを年単位で計算します。

構文

year ( interval )

引数

interval インターバル型の値

例

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

グループ ファイルとパス

このグループには、ファイルとパス名を操作する関数があります。

関数 base_file_name

(ディレクトリも拡張子もない)ファイル名を返します。

構文

base_file_name ( path )

引数

path ファイルのパス

例

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

関数 file_exists

ファイルが存在する場合、trueを返します。

構文

file_exists ( path )

引数

path ファイルのパス

例

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

関数 file_name

ファイルパスの、拡張子付きファイル名を返します。ディレクトリは含みません。

構文

file_name ( path )

引数

path ファイルのパス

例

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

関数 file_path

ファイルのパスの、ディレクトリ部分を返します。

構文

file_path ( path )

引数

path ファイルのパス

例

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

関数 file_size

ファイルサイズを返します。単位はbytes。

構文

file_size ( path )

引数

path ファイルのパス

例

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

関数 file_suffix

ファイルのパスの拡張子部分を返します。

構文

file_suffix ( path )

引数

path ファイルのパス

例

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

関数 is_directory

ファイルパスがディレクトリの場合、trueを返します。

構文

is_directory ( path )

引数

path ファイルのパス

例

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

関数 is_file

ファイルパスがファイルの場合、trueを返します。

構文

is_file ( path )

引数

path ファイルのパス

例

  • is_file('/home/qgis/data/country_boundaries.shp') → true
  • is_file('/home/qgis/data/') → false
Formの関数のヘルプはありません。

関数 current_parent_value

Only usable in an embedded form context, this function returns the current, unsaved value of a field in the parent form currently being edited. This will differ from the parent feature's actual attribute values for features which are currently being edited or have not yet been added to a parent layer. When used in a value-relation widget filter expression, this function should be wrapped into a 'coalesce()' that can retrieve the actual parent feature from the layer when the form is not used in an embedded context.

構文

current_parent_value ( field_name )

引数

field_name a field name in the current parent form

例

  • current_parent_value( 'FIELD_NAME' ) → The current value of a field 'FIELD_NAME' in the parent form.

関数 current_value

現在編集中のフォームまたはテーブルで、属性の(未保存の)値を返します。

構文

current_value ( field_name )

引数

field_name 現在のフォームまたはテーブルの属性名

例

  • current_value( 'FIELD_NAME' ) → FIELD_NAME属性の現在の値

グループ ファジー・マッチング

このグループには、値同士を曖昧に比較するファジー・マッチング関数があります。

関数 hamming_distance

2つの文字列間のハミング距離を返します。この距離は、入力文字列の対応する位置にある異なった文字の数です。入力文字列は同じ長さでなければならず、大文字と小文字を区別して比較されます。

構文

hamming_distance ( string1 , string2 )

引数

string1 文字列
string2 文字列

例

  • hamming_distance('abc','xec') → 2
  • hamming_distance('abc','ABc') → 2
  • hamming_distance(upper('abc'),upper('ABC')) → 0

関数 levenshtein

2つの文字列の間のLevenshtein編集距離を返します。これは、ある文字列を別の文字列に変更するために必要な文字編集(挿入、削除または置換)の最小数に相当します。
Levenshtein距離は、2つの文字列間の類似性の尺度です。距離が小さいほど文字列はより似ており、距離が長いほど文字列が異なることを示します。距離は大文字と小文字を区別します。

構文

levenshtein ( string1 , string2 )

引数

string1 文字列
string2 文字列

例

  • levenshtein('kittens','mitten') → 2
  • levenshtein('Kitten','kitten') → 1
  • levenshtein(upper('Kitten'),upper('kitten')) → 0

関数 longest_common_substring

2つの文字列の、最も長い共通部分を返します。たとえば、 "ABABC"と "BABCA"の最も長い共通部分は"ABC"です。部分文字列は大文字と小文字を区別します。

構文

longest_common_substring ( string1 , string2 )

引数

string1 文字列
string2 文字列

例

  • longest_common_substring('ABABC','BABCA') → 'ABC'
  • longest_common_substring('abcDeF','abcdef') → 'abc'
  • longest_common_substring(upper('abcDeF'),upper('abcdex')) → 'ABCDE'

関数 soundex

文字列のSoundex表現を返します。Soundexは音声マッチングアルゴリズムで。同じ音の文字列は同じSoundexコードで表現されます。

構文

soundex ( string )

引数

string 文字列

例

  • soundex('robert') → 'R163'
  • soundex('rupert') → 'R163'
  • soundex('rubin') → 'R150'

グループ 汎用関数

このグループには、さまざまな汎用関数があります。

関数 env

環境変数を取得し、その内容を文字列として返します。変数が見つからない場合、NULLが返します。 この関数は、ドライブ文字やパスプレフィックスなどのシステム固有の設定を取得するために有用です。環境変数の定義はオペレーティングシステムによって異なりますので、システム管理者またはオペレーティングシステムのマニュアルを参照して設定方法を確認してください。

構文

env ( name )

引数

name 環境変数の名前

例

  • env( 'LANG' ) → 'en_US.UTF-8'
  • env( 'MY_OWN_PREFIX_VAR' ) → 'Z:'
  • env( 'I_DO_NOT_EXIST' ) → NULL

関数 eval

文字列で渡された式を評価します。これを使えば、コンテキスト変数またはフィールドとして渡されたパラメータを動的に展開できます。

構文

eval ( expression )

引数

expression 式を表す文字列

例

  • eval(''nice'') → 'nice'
  • eval(@expression_var) → [@expression_varを評価した結果...]

関数 eval_template

Evaluates a template which is passed in a string. Useful to expand dynamic parameters passed as context variables or fields.

構文

eval_template ( template )

引数

template a template string

例

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

関数 is_layer_visible

指定されたレイヤが表示されている場合、trueを返します。

構文

is_layer_visible ( layer )

引数

layer レイヤ名かレイヤIDのどちらかを表す文字列

例

  • is_layer_visible('baseraster') → True

関数 layer_property

該当するレイヤのプロパティまたはメタデータの値を返します。

構文

layer_property ( layer , property )

引数

layer レイヤ名かレイヤIDのどちらかを表す文字列
property a string corresponding to the property to return. Valid options are:
  • name: layer name
  • id: layer ID
  • title: metadata title string
  • abstract: metadata abstract string
  • keywords: metadata keywords
  • data_url: metadata URL
  • attribution: metadata attribution string
  • attribution_url: metadata attribution URL
  • source: layer source
  • min_scale: minimum display scale for layer
  • max_scale: maximum display scale for layer
  • is_editable: if layer is in edit mode
  • crs: layer CRS
  • crs_definition: layer CRS full definition
  • crs_description: layer CRS description
  • extent: layer extent (as a geometry object)
  • distance_units: layer distance units
  • type: layer type, e.g., Vector or Raster
  • storage_type: storage format (vector layers only)
  • geometry_type: geometry type, e.g., Point (vector layers only)
  • feature_count: approximate feature count for layer (vector layers only)
  • path: File path to the layer data source. Only available for file based layers.

例

  • layer_property('streets','title') → 'Basemap Streets'
  • layer_property('airports','feature_count') → 120
  • layer_property('landsat','crs') → 'EPSG:4326'

関数 var

変数名の値を返します。

構文

var ( name )

引数

name 変数名

例

  • var('qgis_version') → '2.12'

関数 with_variable

この関数は、第3引数の式で使われる変数を設定します。同じ計算結果を別の場所で繰り返し使用する必要があるような、複雑な式を構成する際に使われます。

構文

with_variable ( name , value , expression )

引数

name 設定する変数の名前
value 設定する値
expression 変数が使用できる式

例

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

グループ ジオメトリ

このグループには、長さや面積など、ジオメトリを扱う関数があります。

関数 $area

地物の面積を返します。この関数で計算される面積は、現在のプロジェクトの楕円体の設定と領域単位の設定の両方を反映します。 例えば、プロジェクトに回転楕円体が設定されている場合、楕円体面積になり、設定されていない場合、平面上の面積になります。

構文

$area

例

  • $area → 42

関数 $geometry

現在の地物のジオメトリを返します。他の関数と組み合わせて使います。

構文

$geometry

例

  • geomToWKT( $geometry ) → POINT(6 50)

関数 $length

線の長さを返します。ポリゴンの境界の長さが必要な場合は、$perimeter を使用してください。 計算には、現在のプロジェクトの楕円体の設定と距離単位の設定の両方が影響します。例えば、プロジェクトに楕円体が設定されている場合、楕円体長(測地線長)になり、楕円体が設定されていない場合、平面長になります。

構文

$length

例

  • $length → 42.4711

関数 $perimeter

現在の地物の周長を返します。この関数で計算される周囲は、現在のプロジェクトの楕円体の設定と距離単位の設定の両方が影響します。 たとえば、プロジェクトに楕円体が設定されている場合、計算された周長は楕円体長(測地線)になり、楕円が設定されていない場合、計算された周長は平面長になります。

構文

$perimeter

例

  • $perimeter → 42

関数 $x

現在の地物のx座標を返します。

構文

$x

例

  • $x → 42

関数 $x_at

現在の地物のジオメトリのx座標を抜き出します。

構文

$x_at ( i )

引数

i 線の構成点のインデックス(始点は0から始まり、負の数は終点から数えます)

例

  • $x_at(1) → 5

関数 $y

現在の地物のy座標を返します。

構文

$y

例

  • $y → 42

関数 $y_at

現在の地物のジオメトリのy座標を抜き出します。

構文

$y_at ( i )

引数

i 線の構成点のインデックス(始点は0から始まり、負の数は終点から数えます)

例

  • $y_at(1) → 2

関数 angle_at_vertex

線を構成する頂点の二等分線角度(平均角度)を返します。 角度は北から時計回りです。例えば、北向きのセグメント(0度)と東向きのセグメント(90度)の共通頂点では、45になります。

構文

angle_at_vertex ( geometry , vertex )

引数

geometry 線のジオメトリ
vertex 点のインデックス(0から。負の数は最後尾から数えます)

例

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

関数 area

ポリゴンの面積を返します。常に、このジオメトリの座標参照系で平面的として計算されます。単位は座標参照系の単位と一致します。 この面積は、プロジェクトの楕円体と面積単位設定にもとづいた楕円体として計算される $area 関数とは微妙に異なります。

構文

area ( geometry )

引数

geometry ポリゴンのジオメトリ

例

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

関数 azimuth

point_aから見たpoint_bの方位(北をゼロにして時計回り)をラジアンで返します。

構文

azimuth ( point_a , point_b )

引数

point_a 点(POINT)
point_b 点(POINT)

例

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

関数 boundary

ジオメトリのクロージャ(トポロジカル境界)を返します。例えば、ポリゴンでは外側と内側のリングが、線では両端の頂点が、トポロジカル境界です。点やコレクションには境界が定義されていないため、nullが返されます。

構文

boundary ( geometry )

引数

geometry ジオメトリ

例

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

関数 bounds

ジオメトリのバウンディングボックスを返します。計算は、ジオメトリの座標参照系で行われます。

構文

bounds ( geom )

引数

geom ジオメトリ

例

  • bounds($geometry) → $geometry のバウンディングボックス

関数 bounds_height

ジオメトリのバウンディングボックスの高さを返します。計算は、このジオメトリの座標参照系で行われます。

構文

bounds_height ( geom )

引数

geom ジオメトリ

例

  • bounds_height($geometry) → $geometry のバウンディングボックスの高さ

関数 bounds_width

ジオメトリのバウンディングボックスの幅を返します。計算は、このジオメトリの座標参照系で行われます。

構文

bounds_width ( geom )

引数

geom ジオメトリ

例

  • bounds_width($geometry) → $geometry のバウンディングボックスの幅

関数 buffer

ジオメトリからの距離が一定値未満の領域(バッファ)を返します。距離の計算は、ジオメトリの座標参照系で行われます。

構文

buffer ( geom , distance [, segments=8 ])

記号[]は、オプションの引数を意味します。

引数

geom ジオメトリ
distance バッファ距離
segments バッファの四分円に使用するセグメントの数。数値が大きいほど、より多くの点で構成された、なめらかなバッファが生成されます。

例

  • buffer($geometry, 10.5) → 10.5のサイズで作られたバッファのポリゴン

関数 buffer_by_m

線に沿って可変幅のバッファを作成します。バッファの直径は各頂点のm値に従って変化します。

構文

buffer_by_m ( geometry [, segments=8 ])

記号[]は、オプションの引数を意味します。

引数

geometry 入力ジオメトリ。m値を持つ線である必要があります。
segments 四分円のセグメント数

例

  • buffer_by_m(geometry:=geom_from_wkt('LINESTRINGM(1 2 0.5, 4 2 0.2)'),segments:=8) → 線に沿って直径が0.5から0.2に連続的に変わる可変幅バッファ

関数 centroid

ジオメトリの重心を返します。

構文

centroid ( geom )

引数

geom ジオメトリ

例

  • centroid($geometry) → 点(Point)

関数 close_line

Returns a closed line string of the input line string by appending the first point to the end of the line, if it is not already closed. If the geometry is not a line string or multi line string then the result will be null.

構文

close_line ( geometry )

引数

geometry 線のジオメトリ

例

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

関数 closest_point

geometry2に最も近いgeometry1上の点を返します。

構文

closest_point ( geometry1 , geometry2 )

引数

geometry1 検索対象のジオメトリ
geometry2 基準となるジオメトリ

例

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

関数 collect_geometries

ジオメトリを集約したマルチパートのジオメトリを返します。

引数バージョン

ジオメトリ部分は、関数の引数として個別に指定します。

構文

collect_geometries ( geometry1 , geometry2 …)

引数

geometry ジオメトリ

例

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

配列バージョン

ジオメトリの配列として指定します。

構文

collect_geometries ( array )

引数

array ジオメトリオブジェクトの配列

例

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

関数 combine

2つのジオメトリの結合を返します。

構文

combine ( geometry1 , geometry2 )

引数

geometry1 ジオメトリ
geometry2 ジオメトリ

例

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

関数 contains

ジオメトリが他のジオメトリを包含するかどうかをテストします。 ジオメトリbの点がジオメトリaの外側になく、bの内部の少なくとも1つの点がaの内部にある場合に true を返します。

構文

contains ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 convex_hull

凸包(convex hul)を返します。すべてのジオメトリを含む最小面積のポリゴンです。

構文

convex_hull ( geometry )

引数

geometry ジオメトリ

例

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

関数 crosses

ジオメトリが他のジオメトリと交差するかどうかをテストします。ジオメトリが全部ではなく一部に共通する内部点を持つ場合、trueを返します。

構文

crosses ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 difference

geometry_aのうち、geometry_bと交差しない部分を表すジオメトリを返します。

構文

difference ( geometry_a , geometry_b )

引数

geometry_a ジオメトリ
geometry_b ジオメトリ

例

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

関数 disjoint

空間的に交差していないかどうかをテストします。空間を共有しない場合、trueを返します。

構文

disjoint ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 distance

2つのジオメトリ間の最小距離を返します。

構文

distance ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

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

関数 distance_to_vertex

インデックスで指定した点までの、ジオメトリに沿った距離を返します。

構文

distance_to_vertex ( geometry , vertex )

引数

geometry 線のジオメトリ
vertex 点のインデックス(0から。負の数は最後尾から数えます)

例

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

関数 end_point

ジオメトリの最後のノード(点)を返します。

構文

end_point ( geometry )

引数

geometry ジオメトリ

例

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

関数 extend

線ジオメトリの始点と終点を指定量だけ延長します。最初と最後のセグメントを、その方位に向けて延長します。距離の単位はジオメトリの座標参照系を使います。

構文

extend ( geometry , start_distance , end_distance )

引数

geometry 線のジオメトリ
start_distance 始点の延長距離
end_distance 終点の延長距離。

例

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

関数 exterior_ring

ポリゴンの外側のリングを返します。ジオメトリがポリゴンではない場合は、nullになります。

構文

exterior_ring ( geom )

引数

geom ポリゴン

例

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

関数 extrude

線または曲線のジオメトリを、xとyで指定した距離だけ並行移動させてできるポリゴンを返します。

構文

extrude ( geom , x , y )

引数

geom ポリゴン
x x方向のシフト量
y y方向のシフト量

例

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

関数 flip_coordinates

頂点のXとYを入れ替えたジオメトリを返します。緯度と経度を間違えたジオメトリを修復する際に便利です。

構文

flip_coordinates ( geom )

引数

geom ジオメトリ

例

  • geom_to_wkt(flip_coordinates(make_point(1, 2))) → Point (2 1)

関数 force_rhr

ポリゴンのジオメトリに右手ルールを強制します。 右手ルールとは、ポリゴンの境界線の右手側が必ず内側になることで、外側の輪郭線は時計回りに描かれ、ポリゴンの穴の輪郭線は反時計回りに描かれます。シェープファイルは右手ルールです。

構文

force_rhr ( geom )

引数

geom ジオメトリ。ポリゴンではないジオメトリはそのまま返します。

例

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

関数 geom_from_gml

GMLのジオメトリを返します。

構文

geom_from_gml ( gml )

引数

gml GML表現の文字列

例

  • geom_from_gml('<gml:LineString srsName="EPSG:4326"><gml:coordinates>4,4 5,5 6,6</gml:coordinates></gml:LineString>') → 線のジオメトリ

関数 geom_from_wkb

Well-Known Binary(WKB)形式からジオメトリを返す

構文

geom_from_wkb ( binary )

引数

binary Well-Known Binary(WK)形式のジオメトリ

例

  • geom_from_wkb( geom_to_wkb( make_point(4,5) ) ) → 点のジオメトリオブジェクト

関数 geom_from_wkt

Well-known text(WKT)のジオメトリを返します。

構文

geom_from_wkt ( text )

引数

text Well-known text(WKT)表現の文字列

例

  • geom_from_wkt( 'POINT(4 5)' ) → ジオメトリオブジェクト

関数 geom_to_wkb

Returns the Well-Known Binary (WKB) representation of a geometry

構文

geom_to_wkb ( geometry )

引数

geometry ジオメトリ

例

  • geom_to_wkb( $geometry ) → ジオメトリオブジェクトを含むBlob

関数 geom_to_wkt

SRIDメタデータのないWell-known text(WKT)表現を返します。

構文

geom_to_wkt ( geometry [, precision ])

記号[]は、オプションの引数を意味します。

引数

geometry ジオメトリ
precision 数値精度

例

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

関数 geometry

地物のジオメトリを返します。

構文

geometry ( feature )

引数

feature 地物オブジェクト

例

  • geom_to_wkt( geometry( get_feature( layer, attributeField, value ) ) ) → 'POINT(6 50)'
  • intersects( $geometry, geometry( get_feature( layer, attributeField, value ) ) ) → true

関数 geometry_n

ジオメトリコレクションから特定の要素を返します。入力ジオメトリがコレクションではない場合、nullを返します。

構文

geometry_n ( geometry , index )

引数

geometry ジオメトリコレクション
index インデックス。最初のジオメトリが1になります。

例

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

関数 hausdorff_distance

ジオメトリ間のハウスドルフ距離(Hausdorff)を返します。ハウスドルフ距離は、2つのジオメトリがどれほど類似しているかを測る指標で、距離が近いほど類似したジオメトリを示します。
オプションとしてdensify関数を指定できます。指定されていない場合は、標準的なハウスドルフ距離近似が使用されます。この近似は、大きなサブセットでは十分に正確です。例えば、

デフォルトの近似が不十分な場合、オプションのdensify関数を指定します。この関数を指定すると、離散ハウスドルフ距離を計算する前にセグメントの稠密化が実行されます。パラメータは緻密化比率で、各セグメントはこの比率で等しい長さのサブセグメントに分割されます。稠密化比率を小さくすれば、距離は真のハウスドルフ距離に近づきます。

構文

hausdorff_distance ( geometry a , geometry b [, densify_fraction ])

記号[]は、オプションの引数を意味します。

引数

geometry a ジオメトリ
geometry b ジオメトリ
densify_fraction 緻密化比率

例

  • hausdorff_distance( geometry1:= geom_from_wkt('LINESTRING (0 0, 2 1)'),geometry2:=geom_from_wkt('LINESTRING (0 0, 2 0)')) → 2
  • hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)')) → 14.142135623
  • hausdorff_distance( geom_from_wkt('LINESTRING (130 0, 0 0, 0 150)'),geom_from_wkt('LINESTRING (10 10, 10 150, 130 10)'),0.5) → 70.0

関数 inclination

point_aとpoint_bの間の傾斜角を返します。

構文

inclination ( point_a , point_b )

引数

point_a 点(POINT)
point_b 点(POINT)

例

  • 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

関数 interior_ring_n

ポリゴンの特定の内側のリングを返します。ジオメトリがポリゴンではない場合、nullを返します。

構文

interior_ring_n ( geometry , index )

引数

geometry ポリゴンジオメトリ
index 内側のリングのインデックス。最初のリングが1になります。

例

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

関数 intersection

2つのジオメトリの共有部分を表すジオメトリを返します。

構文

intersection ( geometry1 , geometry2 )

引数

geometry1 ジオメトリ
geometry2 ジオメトリ

例

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

関数 intersects

ジオメトリが交差するかどうかテストします。ジオメトリが空間的に交差(空間の一部を共有)する場合はtrueを、そうでなければfalseを返します

構文

intersects ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 intersects_bbox

ジオメトリのバウンディングボックスが別のジオメトリのバウンディングボックスに重なるかどうかをテストします。空間的に交差する場合はtrueを、そうでない場合はfalseを返します

構文

intersects_bbox ( geometry , geometry )

引数

geometry ジオメトリ
geometry ジオメトリ

例

  • 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

関数 is_closed

線が閉じている(開始点と終了点が一致している)場合はtrueを、そうでない場合はfalseを返します。ジオメトリが線ではない場合、nullを返します。

構文

is_closed ( geom )

引数

geom 線のジオメトリ

例

  • 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

関数 is_empty

ジオメトリが空の場合はtrue、空でないならfalse、ジオメトリが存在しないならNULLを返します。is_empty_or_nullも参照してください。

構文

is_empty ( geom )

引数

geom ジオメトリ

例

  • 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

関数 is_empty_or_null

ジオメトリがNULLか空の場合はtrue、それ以外ならfalseを返します。この関数は、 '$geometry IS NULL or is_empty($geometry)'に似ています。

構文

is_empty_or_null ( geom )

引数

geom ジオメトリ

例

  • 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

関数 is_multipart

Returns true if the geometry is of Multi type.

構文

is_multipart ( geometry )

引数

geometry ジオメトリ

例

  • is_multipart(geom_from_wkt('MULTIPOINT ((0 0),(1 1),(2 2))')) → true
  • is_multipart(geom_from_wkt('POINT (0 0)')) → false

関数 is_valid

ジオメトリが有効(OGCの規約に合う2Dジオメトリ)な場合、trueを返します。

構文

is_valid ( geom )

引数

geom ジオメトリ

例

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

関数 length

文字列の文字数、または線の長さを返します。

文字列バージョン

文字列の文字数を返します。

構文

length ( string )

引数

string 文字数を数える文字列

例

  • length('hello') → 5

ジオメトリ・バージョン

線の長さを返します。常に、ジオメトリの座標参照系(CRS)で平面的に計算されます。長さの単位はCRSの単位と一致します。 この値は、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $length 関数とは微妙に異なります。

構文

length ( geometry )

引数

geometry 線のジオメトリ

例

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

関数 line_interpolate_angle

始点から線に沿って測った距離にある点での、線の方角を返します。方角の単位は度で、北から時計回りです。 ノード上では平均角度になります。

構文

line_interpolate_angle ( geometry , distance )

引数

geometry 線のジオメトリ
distance (始点からの)線に沿った距離

例

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

関数 line_interpolate_point

始点から線に沿って測った距離にある点を返します。

構文

line_interpolate_point ( geometry , distance )

引数

geometry 線のジオメトリ
distance (始点からの)線に沿った距離

例

  • geom_to_wkt(line_interpolate_point(geometry:=geom_from_wkt('LineString(0 0, 10 0)'),distance:=5)) → 'Point (5 0)'

関数 line_locate_point

基準点から線にもっと近い点の、始点から線に沿って測った距離を返します。

構文

line_locate_point ( geometry , point )

引数

geometry 線のジオメトリ
point 基準点

例

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

関数 line_merge

複数の線をマージした、単一の線ジオメトリを返します。線でない場合、nullを返します。

構文

line_merge ( geometry )

引数

geometry 線のジオメトリ

例

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

関数 line_substring

(始点から測った距離で指定した)始点から終点までを切り出した直線・曲線のジオメトリを返します。Z値とM値は線形内挿されます。

構文

line_substring ( geometry , start_distance , end_distance )

引数

geometry 線・曲線のジオメトリ
start_distance 切り出し始点
end_distance 切り出し終点

例

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

関数 m

点のm値を返します。

構文

m ( geom )

引数

geom 点(Point)

例

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

関数 m_max

Returns the maximum m (measure) value of a geometry.

構文

m_max ( geometry )

引数

geometry a geometry containing m values

例

  • 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

関数 m_min

Returns the minimum m (measure) value of a geometry.

構文

m_min ( geometry )

引数

geometry a geometry containing m values

例

  • 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

関数 make_circle

円形のポリゴンを作成します。

構文

make_circle ( center , radius [, segment=36 ]…)

記号[]は、オプションの引数を意味します。

引数

center 中心点
radius 半径
segment セグメント数。デフォルトは36

例

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

関数 make_ellipse

楕円形のポリゴンを作成します。

構文

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

記号[]は、オプションの引数を意味します。

引数

center 中心点
semi_major_axis 半長軸
semi_minor_axis 半短軸
azimuth 楕円の向き
segment セグメント数。デフォルトは36

例

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

関数 make_line

一連の点ジオメトリから線ジオメトリを作成します。

引数バージョン

線の頂点は、関数の引数として個別に指定します。

構文

make_line ( point1 , point2 …)

引数

point 点のジオメトリ(あるいは点の配列)

例

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

配列バージョン

点の配列として線の頂点を指定

構文

make_line ( array )

引数

array 点の配列

例

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

関数 make_point

xとyの値を指定して点ジオメトリを作成します。

構文

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

記号[]は、オプションの引数を意味します。

引数

x x座標
y y座標
z z座標(オプション)
m (オプション)m値

例

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

関数 make_point_m

x, yおよびm値から点ジオメトリを作成します。

構文

make_point_m ( x , y , m )

引数

x x座標
y y座標
m m値

例

  • geom_to_wkt(make_point_m(2,4,6)) → 'PointM (2 4 6)'

関数 make_polygon

外側のリングおよび内側のリング(オプション)でポリゴンを作成します。

構文

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

記号[]は、オプションの引数を意味します。

引数

outerRing 外側リング(閉じた線)
innerRing 内側リング(閉じた線、オプション)

例

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

関数 make_rectangle_3points

3点を指定して長方形を作成します。

構文

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

記号[]は、オプションの引数を意味します。

引数

point1 第1点
point2 第2点
point3 第3点
option 長方形を作るモード。デフォルト値は0。 値は0(距離モード)か1(投影モード)。距離モードの場合、第二距離が第2点と第3点の距離に等しくなります。投影モードの場合、第二距離が第3点をセグメント上に垂直に射影した距離に等しくなります。

例

  • geom_to_wkt(make_rectangle(make_point(0, 0), make_point(0,5), make_point(5, 5), 0))) → 'Polygon ((0 0, 0 5, 5 5, 5 0, 0 0))'
  • geom_to_wkt(make_rectangle(make_point(0, 0), make_point(0,5), make_point(5, 3), 1))) → 'Polygon ((0 0, 0 5, 5 5, 5 0, 0 0))'

関数 make_regular_polygon

正多角形を作成します。

構文

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

記号[]は、オプションの引数を意味します。

引数

center 中心点
radius 2番目の点。内接モードの場合、最初の頂点です。外接モードの場合、最初の辺の中間点です。
number_sides 辺の数
circle (オプション)正多角形を構築するモード。デフォルトは0。値は0(内接モード)または1(外接モード)

例

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

関数 make_square

対角線を指定して正方形を作成します。

構文

make_square ( point1 , point2 …)

引数

point1 正多角形の最初の点
point2 第2点

例

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

関数 make_triangle

三角形のポリゴンを作成します。

構文

make_triangle ( point 1 , point 2 , point 3 )

引数

point 1 最初の点
point 2 2番目の点
point 3 3番目の点

例

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

関数 minimal_circle

ジオメトリの最小包囲円を返します。すべてのジオメトリを包み込む最小の円を表します。

構文

minimal_circle ( geometry [, segment=36 ])

記号[]は、オプションの引数を意味します。

引数

geometry ジオメトリ
segment セグメント数。デフォルトは36

例

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

関数 nodes_to_points

入力ジオメトリのすべてのノード(点)からなるマルチポイントジオメトリを返します。

構文

nodes_to_points ( geometry [, ignore_closing_nodes=false ])

記号[]は、オプションの引数を意味します。

引数

geometry ジオメトリ
ignore_closing_nodes 線やポリゴンのリングを閉じる重複ノードを含めるかどうかを指定します。デフォルトはfalse。重複ノードを含めないようにするにはtrueを指定します。

例

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

関数 num_geometries

ジオメトリコレクション内のジオメトリの数を返します。入力ジオメトリがコレクションでない場合、nullを返します。

構文

num_geometries ( geometry )

引数

geometry ジオメトリコレクション

例

  • num_geometries(geom_from_wkt('GEOMETRYCOLLECTION(POINT(0 1), POINT(0 0), POINT(1 0), POINT(1 1))')) → 4

関数 num_interior_rings

ポリゴンまたはジオメトリコレクション中の内側のリングの数を返します。ポリゴンでもコレクションでもない場合、nullを返します。

構文

num_interior_rings ( geometry )

引数

geometry 入力ジオメトリ

例

  • 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

関数 num_points

ジオメトリの頂点数を返します。

構文

num_points ( geom )

引数

geom ジオメトリ

例

  • num_points($geometry) → $geometryの頂点の数

関数 num_rings

ポリゴンまたはジオメトリコレクション中のリング(外側のリングを含む)の数を返します。ポリゴンでもコレクションでもない場合はnullを返します

構文

num_rings ( geometry )

引数

geometry 入力ジオメトリ

例

  • 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

関数 offset_curve

線ジオメトリを側面方向にオフセットさせたジオメトリを返します。距離の単位はジオメトリの座標参照系です。

構文

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

記号[]は、オプションの引数を意味します。

引数

geometry 線のジオメトリ
distance オフセット距離。正の値は線の左側にバッファリングされ、負の値は右にバッファされます。
segments 丸め継ぎ結合が使用されているときに四分円を表すために使用するセグメントの数。数値が大きいほど、より多くのノードでより滑らかな線になります。
join 角のスタイル。1=Round(丸め継ぎ)、2=Miter(留め継ぎ)、3=Bevel(斜角継ぎ)を表します。
miter_limit 非常に鋭い角に使用される留め継ぎ比の制限(留め継ぎ結合の場合のみ)

例

  • offset_curve($geometry, 10.5) → 左側に10.5単位オフセットされています
  • offset_curve($geometry, -10.5) → 右側に10.5単位オフセットされています
  • offset_curve($geometry, 10.5, segments=16, join=1) → ラインオフセットが10.5単位で左にオフセットされ、より多くのセグメントを使用してより滑らかなカーブになります
  • offset_curve($geometry, 10.5, join=3) → 斜角継ぎ(Bevel)を使用して、左に10.5単位だけオフセットされています

関数 order_parts

与えられた基準によってマルチジオメトリを並べ替えます。

構文

order_parts ( geom , orderby , ascending )

引数

geom マルチパートのジオメトリ
orderby 順序基準を定義する式
ascending 昇順はTrue、降順はFalse

例

  • 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)))
  • order_parts(geom_from_wkt('LineString(1 2, 3 2, 4 3)'), '1', True) → LineString(1 2, 3 2, 4 3)

関数 oriented_bbox

バウンディングボックスのジオメトリを返します。

構文

oriented_bbox ( geom )

引数

geom ジオメトリ

例

  • geom_to_wkt( oriented_bbox( geom_from_wkt( 'MULTIPOINT(1 2, 3 4, 3 2)' ) ) ) → Polygon ((1 4, 1 2, 3 2, 3 4, 1 4))

関数 overlaps

ジオメトリが別のジオメトリに重なるかどうかをテストします。ジオメトリが空間を共有していて同じ次元であり、かつ、互いが完全に含まれない場合、trueを返します。

構文

overlaps ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 perimeter

ポリゴンの周長を返します。常にジオメトリの座標参照系で平面上で計算されます。面積の単位はCRSの単位と一致します。 この点で、プロジェクトの楕円体と面積単位設定にもとづいた楕円体計算が行われる $perimeter 関数とは異なります。

構文

perimeter ( geometry )

引数

geometry ポリゴンのジオメトリ

例

  • perimeter(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))')) → 12.0

関数 point_n

ジオメトリの特定のノードを返します。

構文

point_n ( geometry , index )

引数

geometry ジオメトリ
index 点のインデックス(1から。負の数は最後尾から数えます)

例

  • geom_to_wkt(point_n(geom_from_wkt('POLYGON((0 0, 4 0, 4 2, 0 2, 0 0))'),2)) → 'Point (4 0)'

関数 point_on_surface

ジオメトリの表面上に存在することが保証される点(内部保証点)を返します。

構文

point_on_surface ( geom )

引数

geom ジオメトリ

例

  • point_on_surface($geometry) → 点(Point)

関数 pole_of_inaccessibility

ポリゴンの表面から最も離れた内部点を近似的に計算します。 使用するpolylabelアルゴリズム(Vladimir Agafonkin, 2016)は、指定された許容範囲内で「到達不能極」を見つける反復的手法です。許容範囲を厳しくすると反復計算の時間がかかります。 到達不能極(Pole of inaccessibility, PIA)とは、陸上で最も海から遠い点、または海上で最も陸から遠い点のことです。

構文

pole_of_inaccessibility ( geometry , tolerance )

引数

geometry ジオメトリ
tolerance 最大許容誤差(距離)

例

  • 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.55, 1.55)

関数 project

指定した距離と方位(単位はラジアン)、標高を使って、始点から投影された点を返します。

構文

project ( point , distance , azimuth [, elevation ])

記号[]は、オプションの引数を意味します。

引数

point 起点
distance 距離
azimuth 方位角(ラジアン、北を0として時計周り)
elevation 傾斜の角度(ラジアン)

例

  • geom_to_wkt(project(make_point(1, 2), 3, radians(270))) → Point(-2, 2)

関数 relate

2つのジオメトリの関係のDimensional Extended 9 Intersection Model (DE-9IM)表現をテストします。

リレーション・バージョン

2つのジオメトリの関係のDimensional Extended 9 Intersection Model (DE-9IM)表現を返します。

構文

relate ( geometry , geometry )

引数

geometry ジオメトリ
geometry ジオメトリ

例

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ) ) → 'FF1F00102'

パターンマッチ・バージョン

2つのジオメトリ間のDE-9IM関係が、指定パターンに一致するかどうかをテストします。

構文

relate ( geometry , geometry , pattern )

引数

geometry ジオメトリ
geometry ジオメトリ
pattern マッチするDE-9IMパターン

例

  • relate( geom_from_wkt( 'LINESTRING(40 40,120 120)' ), geom_from_wkt( 'LINESTRING(40 40,60 120)' ), '**1F001**' ) → True

関数 reverse

(点の順序を逆にして)線の向きを反転します。

構文

reverse ( geom )

引数

geom ジオメトリ

例

  • geom_to_wkt(reverse(geom_from_wkt('LINESTRING(0 0, 1 1, 2 2)'))) → 'LINESTRING(2 2, 1 1, 0 0)'

関数 rotate

回転したジオメトリを返します。計算はジオメトリの座標参照系で行われます。

構文

rotate ( geom , rotation [, point ])

記号[]は、オプションの引数を意味します。

引数

geom ジオメトリ
rotation 単位は度(時計回り)
point 回転の中心(指定しない場合、バウンディングボックスの中心が使われます)

例

  • rotate($geometry, 45, make_point(4, 5)) → 点(4, 5)を中心に、45度回転させたジオメトリ
  • rotate($geometry, 45) → バウンディングボックスの中央を中心に、45度回転させたジオメトリ

関数 segments_to_lines

入力ジオメトリのすべてのセグメントからなる線ジオメトリ(マルチパート)を返します。

構文

segments_to_lines ( geometry )

引数

geometry ジオメトリ

例

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

関数 shortest_line

geometry1とgeometry2を結合する最短の直線を返します。向きは、geometry1を始点とし、geometry2を終点とします。

構文

shortest_line ( geometry1 , geometry2 )

引数

geometry1 始点側のジオメトリ
geometry2 終点側のジオメトリ

例

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

関数 simplify

距離の閾値を使用してノード(点)を削除し、ジオメトリを単純化します(いわゆるDouglas Peuckerアルゴリズム)。このアルゴリズムは、ほぼ直線上にある頂点を減らすことで、ジオメトリの大まかな形を維持しようとします。

構文

simplify ( geometry , tolerance )

引数

geometry ジオメトリ
tolerance 除去される点の、直線部分からの逸脱距離

例

  • geom_to_wkt(simplify(geometry:=geom_from_wkt('LineString(0 0, 5 0.1, 10 0)'),tolerance:=5)) → 'LineString(0 0, 10 0)'

関数 simplify_vw

面積の閾値を使ってノードを削除し、ジオメトリを単純化します(いわゆるVisvalingam-Whyattアルゴリズム)。このアルゴリズムは、細長いスパイクやほぼ直線上にあるセグメントなど、非常に小さな面積を生み出す頂点を削除します。

構文

simplify_vw ( geometry , tolerance )

引数

geometry ジオメトリ
tolerance ノード(点)の除去によって削除される面積の最大値

例

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

関数 single_sided_buffer

線の片側だけにバッファを作ったジオメトリを返します。単位はジオメトリの座標参照系です。

構文

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

記号[]は、オプションの引数を意味します。

引数

geometry 線のジオメトリ
distance バッファ距離。正の値は線の左側、負の値は右側を意味します。
segments バッファの四分円に使用するセグメントの数。数値が大きいほど、より多くの点で構成された、なめらかなバッファが生成されます。
join 角のスタイル。1=Round(丸め継ぎ)、2=Miter(留め継ぎ)、3=Bevel(斜角継ぎ)を表します。
miter_limit 非常に鋭い角に使用される留め継ぎ比の制限(留め継ぎ結合の場合のみ)

例

  • single_sided_buffer($geometry, 10.5) → 10.5単位で左側にバッファリングされた線
  • single_sided_buffer($geometry, -10.5) → 10.5単位で右側にバッファリングされた線
  • single_sided_buffer($geometry, 10.5, segments=16, join=1) → よりなめらかなバッファ
  • single_sided_buffer($geometry, 10.5, join=3) → 斜角継ぎ(Bevel)を使用し、左側に10.5単位だけバッファリングされた線

関数 smooth

点を追加して角を丸め、ジオメトリを滑らかにします。入力ジオメトリにZ値またはM値が含まれている場合でも、同じように滑らかにされ、出力ジオメトリは入力ジオメトリと同じ次元を保ちます。

構文

smooth ( geometry [, iterations ][, offset ][, min_length ][, max_angle ])

記号[]は、オプションの引数を意味します。

引数

geometry ジオメトリ
iterations 適用するスムージングの反復回数。数値が大きいほど、より滑らかで複雑な形状になります。
offset 0から0.5までの値で、元のジオメトリにどれくらい従うかを制御します。値を小さくするとスムージングが弱く、値を大きくすると滑らかになります。
min_length スムージングを適用するセグメントの長さの下限。このパラメータは、短いセグメントに余分なノードを追加することを避けるために使用されます。
max_angle 平滑化を適用するノードの最大角度(0〜180)。最大角度を小さくすると、鋭角を維持することができます。例えば、80度にするとジオメトリの直角を維持します。

例

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

関数 start_point

ジオメトリの最初のノード(点)を返します。

構文

start_point ( geometry )

引数

geometry ジオメトリ

例

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

関数 sym_difference

2つのジオメトリの、交差しない部分を表すジオメトリを返します。

構文

sym_difference ( geometry1 , geometry2 )

引数

geometry1 ジオメトリ
geometry2 ジオメトリ

例

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

関数 tapered_buffer

線に沿って、バッファの直径が均等に変化するバッファ(テイパードバッファ)を作成します。

構文

tapered_buffer ( geometry , start_width , end_width [, segments=8 ])

記号[]は、オプションの引数を意味します。

引数

geometry 入力ジオメトリ。線ジオメトリでなければなりません。
start_width 始点のバッファ幅
end_width 終点のバッファ幅
segments 四分円のセグメント数

例

  • tapered_buffer(geometry:=geom_from_wkt('LINESTRING(1 2, 4 2)'),start_width:=1,end_width:=2,segments:=8) → 線ジオメトリに沿って直径1で始まり、直径2で終わるテイパードバッファ

関数 touches

ジオメトリが別のジオメトリに接するかどうかをテストします。ジオメトリが共通の点を持ち、かつ内部が交差しない場合、trueを返します。

構文

touches ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 transform

変換元CRSから変換先CRSに変換されたジオメトリを返します。

構文

transform ( geom , source_auth_id , dest_auth_id )

引数

geom ジオメトリ
source_auth_id 変換元CRS
dest_auth_id 変換先CRS

例

  • geom_to_wkt( transform( $geometry, 'EPSG:2154', 'EPSG:4326' ) ) → POINT(0 51)

関数 translate

平行移動したジオメトリを返します。計算はジオメトリの座標参照系で行われます。

構文

translate ( geom , dx , dy )

引数

geom ジオメトリ
dx x方向の移動
dy y方向の移動

例

  • translate($geometry, 5, 10) → 元データと同じジオメトリを持っている

関数 union

ジオメトリの点集合を表すジオメトリを返します。

構文

union ( geometry1 , geometry2 )

引数

geometry1 ジオメトリ
geometry2 ジオメトリ

例

  • geom_to_wkt( union( geom_from_wkt( 'POINT(4 4)' ), geom_from_wkt( 'POINT(5 5)' ) ) ) → MULTIPOINT(4 4, 5 5)

関数 wedge_buffer

点ジオメトリから生成されたくさび形バッファを返します。

構文

wedge_buffer ( center , azimuth , width , outer_radius [, inner_radius=0.0 ])

記号[]は、オプションの引数を意味します。

引数

center バッファの中心点(原点)。点ジオメトリでなければなりません。
azimuth くさび形の中央と点の角度(単位は度)
width バッファ幅(度)。ウェッジは、方位角の方向にバッファ幅の半分の大きさで両側に伸びることに注意してください。
outer_radius 外側半径
inner_radius (オプション)内側半径

例

  • wedge_buffer(center:=geom_from_wkt('POINT(1 2)'),azimuth:=90,width:=180,outer_radius:=1) → 東に面する点(1,2)を中心とするくさび形バッファで、幅は180度、外半径は1です。

関数 within

ジオメトリが別のジオメトリの内部にあるかどうかをテストします。geometry aが完全にgeoemtry bの内部にある場合、trueを返します。

構文

within ( geometry a , geometry b )

引数

geometry a ジオメトリ
geometry b ジオメトリ

例

  • 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

関数 x

点のx座標を返します。点ではない場合は、重心のx座標を返します。

構文

x ( geom )

引数

geom ジオメトリ

例

  • x( geom_from_wkt( 'POINT(2 5)' ) ) → 2
  • x( $geometry ) → 現在の地物の重心のx座標

関数 x_max

ジオメトリのx座標の最大値を返します。計算はこのジオメトリの座標参照系で行われます。

構文

x_max ( geom )

引数

geom ジオメトリ

例

  • x_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 4

関数 x_min

ジオメトリのx座標の最小値を返します。計算はこのジオメトリの座標参照系で行われます。

構文

x_min ( geom )

引数

geom ジオメトリ

例

  • x_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 2

関数 y

点のy座標を返します。点ではない場合、重心のy座標を返します。

構文

y ( geom )

引数

geom ジオメトリ

例

  • y( geom_from_wkt( 'POINT(2 5)' ) ) → 5
  • y( $geometry ) → 現在の地物の重心のy座標

関数 y_max

ジオメトリのy座標の最大値を返します。計算はこのジオメトリの座標参照系で行われます。

構文

y_max ( geom )

引数

geom ジオメトリ

例

  • y_max( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 8

関数 y_min

ジオメトリのy座標の最小値を返します。計算はこのジオメトリの座標参照系で行われます。

構文

y_min ( geom )

引数

geom ジオメトリ

例

  • y_min( geom_from_wkt( 'LINESTRING(2 5, 3 6, 4 8)') ) → 5

関数 z

点のz座標を返します。

構文

z ( geom )

引数

geom 点(Point)

例

  • z( geom_from_wkt( 'POINTZ(2 5 7)' ) ) → 7

関数 z_max

Returns the maximum z coordinate of a geometry.

構文

z_max ( geometry )

引数

geometry a geometry with z coordinate

例

  • z_max( geom_from_wkt( 'POINT ( 0 0 1 )' ) ) → 1
  • z_max( make_line( make_point( 0,0,0 ), make_point( -1,-1,-2 ) ) ) → 0

関数 z_min

Returns the minimum z coordinate of a geometry.

構文

z_min ( geometry )

引数

geometry a geometry with z coordinate

例

  • z_min( geom_from_wkt( 'POINT ( 0 0 1 )' ) ) → 1
  • z_min( make_line( make_point( 0,0,0 ), make_point( -1,-1,-2 ) ) ) → -2
Layoutの関数のヘルプはありません。

関数 item_variables

このコンポジション内にあるコンポーザアイテムの変数を、マップ型オブジェクトとして返します。

構文

item_variables ( id )

引数

id コンポーザアイテムID

例

  • map_get(item_variables('main_map'), 'map_scale') → 2000

グループ 地図のレイヤ

このグループには、現在のプロジェクトで使用可能なレイヤがあります。

関数 decode_uri

レイヤのURIを返します。

構文

decode_uri ( layer [, part ])

記号[]は、オプションの引数を意味します。

引数

layer 対象レイヤ
part URIの一部。指定しない場合はURI全体が返ります。

例

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

グループ データ構造(マップ型オブジェクト)

このグループには、マップ型オブジェクト(辞書オブジェクト、キーと値のペア、または連想配列とも呼ばれます)の作成と操作のための関数があります。マップ型オブジェクトでは、指定されたキーに値を割り当てることができ、配列と違って、順序は関係ありません。

関数 from_json

JSON文字列を読み込む

構文

from_json ( string )

引数

string JSON文字列

例

  • from_json('{"qgis":"rocks"}') → { "qgis" : "rocks" }
  • from_json('[1,2,3]') → [1,2,3]

関数 hstore_to_map

hstore形式の文字列をマップ型オブジェクトに変換します。

構文

hstore_to_map ( string )

引数

string 入力文字列

例

  • hstore_to_map('qgis=>rocks') → { "qgis" : "rocks" }

関数 json_to_map

json形式の文字列をマップ型オブジェクトに変換します。

構文

json_to_map ( string )

引数

string 入力文字列

例

  • json_to_map('{"qgis":"rocks"}') → { "qgis" : "rocks" }

関数 map

パラメータのペアとして渡された、すべてのキーと値のマップ型オブジェクトを返します。

構文

map ( key1 , value1 , key2 , value2 …)

引数

key キー(文字列)
value 値

例

  • map('1','one','2', 'two') → { '1': 'one', '2': 'two' }

関数 map_akeys

マップ型オブジェクトのすべてのキーを、配列として返します。

構文

map_akeys ( map )

引数

map マップ型オブジェクト

例

  • map_akeys(map('1','one','2','two')) → [ '1', '2' ]

関数 map_avals

マップ型オブジェクトのすべての値を、配列として返します。

構文

map_avals ( map )

引数

map マップ型オブジェクト

例

  • map_avals(map('1','one','2','two')) → [ 'one', 'two' ]

関数 map_concat

複数のマップ型データのすべてのペア(キーと値)をマージしたマップ型オブジェクトを返します。同じキーが含まれている場合、2番目の値が使用されます。

構文

map_concat ( map1 , map2 …)

引数

map マップ型オブジェクト

例

  • map_concat(map('1','one', '2','overridden'),map('2','two', '3','three')) → { '1': 'one, '2': 'two', '3': 'three' }

関数 map_delete

指定されたキーの要素が削除されたマップ型オブジェクトを返します。

構文

map_delete ( map , key )

引数

map マップ型オブジェクト
key 削除するキー

例

  • map_delete(map('1','one','2','two'),'2') → { '1': 'one' }

関数 map_exist

指定されたキーがマップ型オブジェクトに存在する場合、trueを返します。

構文

map_exist ( map , key )

引数

map マップ型オブジェクト
key 検索するキー

例

  • map_exist(map('1','one','2','two'),'3') → false

関数 map_get

マップ型オブジェクトの値を返します。

構文

map_get ( map , key )

引数

map マップ型オブジェクト
key 検索するキー

例

  • map_get(map('1','one','2','two'),'2') → 'two'

関数 map_insert

キー・値を追加したマップ型オブジェクトを返します。

構文

map_insert ( map , key , value )

引数

map マップ型オブジェクト
key 追加するキー
value 追加する値

例

  • map_insert(map('1','one'),'3','three') → { '1': 'one', '3': 'three' }

関数 map_to_hstore

マップ型オブジェクトをhstore形式の文字列に変換します。

構文

map_to_hstore ( map )

引数

map マップ型オブジェクト

例

  • map_to_hstore(map('qgis','rocks')) → "qgis"=>"rocks"}

関数 map_to_json

マップ型オブジェクトをjson形式の文字列に変換します。

構文

map_to_json ( map )

引数

map マップ型オブジェクト

例

  • map_to_json(map('qgis','rocks')) → {"qgis":"rocks"}

関数 to_json

マップ型オブジェクトや配列などから、JSON文字列を作成します。

構文

to_json ( value )

引数

value 入力値

例

  • to_json(map('qgis','rocks')) → {"qgis":"rocks"}
  • to_json(array(1,2,3)) → [1,2,3]

グループ 数学

このグループには、平方根や三角関数のような算術関数があります。

関数 abs

数値の絶対値を返します。

構文

abs ( value )

引数

value 数値

例

  • abs(-2) → 2

関数 acos

逆コサイン(アークコサイン)をラジアンで返します。

構文

acos ( value )

引数

value 角度の余弦(ラジアン)

例

  • acos(0.5) → 1.0471975511966

関数 asin

逆サイン(アークサイン)をラジアンで返します。

構文

asin ( value )

引数

value 角度の正弦(ラジアン)

例

  • asin(1.0) → 1.5707963267949

関数 atan

逆タンジェント(アークタンジェント)をラジアンで返します。

構文

atan ( value )

引数

value 角度の正接(ラジアン)

例

  • atan(0.5) → 0.463647609000806

関数 atan2

2つの引数を用いてdy/dxの逆タンジェント(アークタンジェント)を返します。

構文

atan2 ( dy , dx )

引数

dy y座標の差
dx x座標の差

例

  • atan2(1.0, 1.732) → 0.523611477769969

関数 azimuth

point_aから見たpoint_bの方位(北をゼロにして時計回り)をラジアンで返します。

構文

azimuth ( point_a , point_b )

引数

point_a 点(POINT)
point_b 点(POINT)

例

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

関数 ceil

整数に切り上げた値を返します。

構文

ceil ( value )

引数

value 数値

例

  • ceil(4.9) → 5
  • ceil(-4.9) → -4

関数 clamp

指定の範囲に制限(clamp)した値を返します。

構文

clamp ( minimum , input , maximum )

引数

minimum input が取りうる最も小さな値
input minimum と maximum で指定される範囲に制限される値
maximum input が取りうる最も大きな値

例

  • clamp(1,5,10) → 5 ( input は1と10の間にあるので、5をそのまま返します)
  • clamp(1,0,10) → 1 ( input は最小値の1より小さいので、1を返します)
  • clamp(1,11,10) → 10 ( input は最大値の10より大きいので、10を返します)

関数 cos

コサインを返します。

構文

cos ( angle )

引数

angle 角度(ラジアン)

例

  • cos(1.571) → 0.000796326710733263

関数 degrees

ラジアンから度に変換します。

構文

degrees ( radians )

引数

radians 数値

例

  • degrees(3.14159) → 180
  • degrees(1) → 57.2958

関数 exp

自然対数の底(ネイピア数)のべき乗を返します。

構文

exp ( value )

引数

value 指数

例

  • exp(1.0) → 2.71828182845905

関数 floor

整数に切り下げた値を返します。

構文

floor ( value )

引数

value 数値

例

  • floor(4.9) → 4
  • floor(-4.9) → -5

関数 inclination

point_aとpoint_bの間の傾斜角を返します。

構文

inclination ( point_a , point_b )

引数

point_a 点(POINT)
point_b 点(POINT)

例

  • 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

関数 ln

自然対数を返します。

構文

ln ( value )

引数

value 数値

例

  • ln(1) → 0
  • ln(2.7182818284590452354) → 1

関数 log

指定した底の対数を返します。

構文

log ( base , value )

引数

base 正の数
value 正の数

例

  • log(2, 32) → 5
  • log(0.5, 32) → -5

関数 log10

常用対数を返します。

構文

log10 ( value )

引数

value 正の数

例

  • log10(1) → 0
  • log10(100) → 2

関数 max

最大値を返します。

構文

max ( value1 , value2 …)

引数

value 数値

例

  • max(2,10.2,5.5) → 10.2
  • max(20.5,NULL,6.2) → 20.5

関数 min

最小値を返します。

構文

min ( value1 , value2 …)

引数

value 数値

例

  • min(20.5,10,6.2) → 6.2
  • min(2,-10.3,NULL) → -10.3

関数 pi

円周率を返します。

構文

pi ()

例

  • pi() → 3.14159265358979

関数 radians

角度をラジアンに変換します。

構文

radians ( degrees )

引数

degrees 数値

例

  • radians(180) → 3.14159
  • radians(57.2958) → 1

関数 rand

最小値と最大値の引数で指定された範囲内(境界値を含む)のランダムな整数を返します。seedが固定されている場合、値は常に同じになります。

構文

rand ( min , max [, seed=null ])

記号[]は、オプションの引数を意味します。

引数

min 乱数の下限値
max 乱数の上限値
seed 乱数のseed

例

  • rand(1, 10) → 8

関数 randf

最小値と最大値の引数で指定された範囲内(境界値を含む)のランダムな浮動小数点数を返します。seedが固定されている場合、値は常に同じになります。

構文

randf ([ min=0.0 ][, max=1.0 ][, seed=null ])

記号[]は、オプションの引数を意味します。

引数

min 乱数の下限値
max 乱数の上限値
seed 乱数のseed

例

  • randf(1, 10) → 4.59258286403147

関数 round

指定した桁数になるように四捨五入した数値を返します。

構文

round ( value [, places=0 ])

記号[]は、オプションの引数を意味します。

引数

value 丸められる数値
places 数値を丸める桁(オプション、負の値も可)

例

  • round(1234.567, 2) → 1234.57
  • round(1234.567) → 1235

関数 scale_exp

指数曲線を用いて、与えられた値を入力範囲から出力範囲に変換します。この関数は、入力値から指定された出力範囲の内外の対応する値を得るために使用することができます。

構文

scale_exp ( val , domain_min , domain_max , range_min , range_max , exponent )

引数

val 入力範囲内の値
domain_min 入力範囲の最小値を指定します。入力値がとるべき最小値です。
domain_max 入力範囲の最大値を指定します。入力値がとるべき最大値です。
range_min 出力範囲の最小値を指定します。関数の最小の出力値です。
range_max 出力範囲の最大値を指定します。関数の最大の出力値です。
exponent 入力値が出力範囲にマッピングされる方法を規定する正の値。大きな値を指定すると、出力値が'ease in'する(ゆっくり始まる)ようになり、入力値が範囲の最大値に近づくにつれて加速します。小さな値(1より小さい)を指定すると、出力値が'ease out'する(ゆっくり終わる)ようになり、範囲の最大値に近づくにつれて減速します。

例

  • scale_exp(5,0,10,0,100,2) → 25 (2の指数を使用したeasing in)
  • scale_exp(3,0,10,0,100,0.5) → 54.772 (0.5の指数を使用したeasing out)

関数 scale_linear

線形補間を用いて、与えられた値を入力範囲から出力範囲に変換します。

構文

scale_linear ( val , domain_min , domain_max , range_min , range_max )

引数

val 入力範囲内の値
domain_min 入力範囲の最小値を指定します。入力値がとるべき最小値です。
domain_max 入力範囲の最大値を指定します。入力値がとるべき最大値です。
range_min 出力範囲の最小値を指定します。関数の最小の出力値です。
range_max 出力範囲の最大値を指定します。関数の最大の出力値です。

例

  • scale_linear(5,0,10,0,100) → 50
  • scale_linear(0.2,0,1,0,360) → 72 (0から1までの値を、0から360までの角度に変換します)
  • scale_linear(1500,1000,10000,9,20) → 9.6111111 (1000から10000までの様々な人口の値を9から20のフォントサイズにスケールする)

関数 sin

サインを返します。

構文

sin ( angle )

引数

angle 角度(ラジアン)

例

  • sin(1.571) → 0.999999682931835

関数 sqrt

平方根を返します。

構文

sqrt ( value )

引数

value 数値

例

  • sqrt(9) → 3

関数 tan

タンジェントを返します。

構文

tan ( angle )

引数

angle 角度(ラジアン)

例

  • tan(1.0) → 1.5574077246549
Processingの関数のヘルプはありません。

関数 parameter

プロセシングアルゴリズムの入力パラメータの値を返します。

構文

parameter ( name )

引数

name 対応する入力パラメータの名前

例

  • parameter('BUFFER_SIZE') → 5.6
Pythonの関数のヘルプはありません。

$mask_geometryの関数のヘルプはありません。

in_maskの関数のヘルプはありません。

グループ ラスタ

このグループには、ラスタの統計量を計算する関数があります。

関数 raster_statistic

ラスタレイヤの統計値を返します。

構文

raster_statistic ( layer , band , property )

引数

layer ラスタレイヤ名またはレイヤIDを表す文字列
band (1から始まる)バンド番号を表す整数
property 統計値のオプションは次のとおりです。
  • min (最小値)
  • max (最大値)
  • avg (平均)
  • stdev (標準偏差)
  • range (範囲)
  • sum (合計)

例

  • raster_statistic('lc',1,'avg') → lcレイヤのバンド1の平均値
  • raster_statistic('ac2010',3,'min') → ac2010レイヤのバンド3の最小値

関数 raster_value

指定された点のラスタ値を返します。

構文

raster_value ( layer , band , point )

引数

layer ラスタレイヤの名前またはid
band バンド番号
point 点のジオメトリ(マルチパートの場合は対応していません)

例

  • raster_value('dem', 1, make_point(1,1)) → 25

グループ レコードと属性

このグループには、レコード(テーブル上の各地物)を特定するような関数があります。

関数 $currentfeature

現在の地物を返します。'attribute'関数で使用すると、現在の地物の属性値を取得できます。

構文

$currentfeature

例

  • attribute( $currentfeature, 'name' ) → 現在の地物の'name'属性に格納されている値

関数 $id

現在の行の地物IDを返します。

構文

$id

例

  • $id → 42

関数 attribute

地物の属性を返します。2バージョンあります。

カレント・バージョン

現在の地物の属性値を返します。

構文

attribute ( attribute_name )

引数

attribute_name 返される属性名

例

  • attribute( 'name' ) → 現在の地物の'name'属性に格納されている値

指定地物バージョン

指定された地物の属性値を返します。

構文

attribute ( feature , attribute_name )

引数

feature 地物
attribute_name 返される属性名

例

  • attribute( @atlas_feature, 'name' ) → 地図帳の地物の'name'属性に格納されている値

関数 attributes

地物のすべての属性をマップ型オブジェクトとして返します。属性名がキーになった辞書型オブジェクトです。

カレント・バージョン

現在の地物の全属性をマップ型オブジェクトとして返します。

構文

attributes ()

例

  • attributes()['name'] → 現在の地物の'name'属性に格納されている値

指定地物バージョン

地物を指定するバージョン

構文

attributes ( feature )

引数

feature 地物

例

  • attributes( @atlas_feature )['name'] → 地図帳の地物の'name'属性に格納されている値

関数 display_expression

Returns the display expression for a given feature in a layer. If called with no parameters, it evaluates the current feature. The expression is evaluated by default.

構文

display_expression ([ feature=current feature ][, layer=current layer ][, evaluate=true ])

記号[]は、オプションの引数を意味します。

引数

feature The feature which should be evaluated.
layer The layer (or its id or name).
evaluate If the expression must be evaluated. If false, the expression will be returned as a string literal only (which could potentially be later evaluated using the 'eval' function).

例

  • display_expression() → The display expression of the current feature.
  • display_expression(get_feature_by_id('streets', 1), 'streets') → The display expression of the feature with the ID 1 on the layer 'streets'.
  • display_expression('a_layer_id', $currentfeature, 'False') → The display expression of the given feature not evaluated.

関数 get_feature

属性値にマッチする最初の地物を返します。

構文

get_feature ( layer , attribute , value )

引数

layer レイヤ名またはID
attribute 属性名
value マッチさせる属性値

例

  • get_feature('streets','name','main st') → "streets"レイヤの"name"フィールドの値が"main st"の最初の地物

関数 get_feature_by_id

IDで指定した地物を返します。

構文

get_feature_by_id ( layer , feature_id )

引数

layer レイヤ名またはレイヤID
feature_id 地物のID

例

  • get_feature('streets', 1) → streetsレイヤのIDが1の地物

関数 is_selected

Returns True if a feature is selected. Can be used with zero, one or two arguments, see below for details.

No parameters

If called with no parameters, the function will return true if the current feature in the current layer is selected.

構文

is_selected ()

例

  • is_selected() → True if the current feature in the current layer is selected.

One 'feature' parameter

If called with a 'feature' parameter only, the function returns true if the specified feature from the current layer is selected.

構文

is_selected ( feature )

引数

feature 対象地物

例

  • is_selected(@atlas_feature) → True if the current atlas feature is selected.

Two parameters

If the function is called with both a layer and a feature, it will return true if the specified feature from the specified layer is selected.

構文

is_selected ( layer , feature )

引数

layer The layer (or its ID or name) on which the selection will be checked.
feature 対象地物

例

  • is_selected( 'streets', get_feature('streets', 'name', "street_name")) → True if the current building's street is selected (assuming the building layer has a field named 'street_name' and the 'streets' layer has a field called 'name').

関数 maptip

Returns the maptip for a given feature in a layer. If called with no parameters, it evaluates the current feature. The maptip is evaluated by default.

構文

maptip ([ feature=current feature ][, layer=current layer ][, evaluate=true ])

記号[]は、オプションの引数を意味します。

引数

feature The feature which should be evaluated.
layer The layer (or its id or name).
evaluate If the expression must be evaluated. If false, the expression will be returned as a string literal only (which could potentially be later evaluated using the 'eval_template' function).

例

  • maptip() → The maptip of the current feature.
  • maptip(get_feature('streets', 1), 'streets') → The maptip of the feature with the ID 1 on the layer 'streets'.
  • maptip('a_layer_id', $currentfeature, 'False') → The maptip of the given feature not evaluated.

関数 num_selected

選択された地物の数を返します。デフォルトでは、式が評価されるレイヤ上で動作します。

構文

num_selected ([ layer=current layer ])

記号[]は、オプションの引数を意味します。

引数

layer 対象レイヤ(IDまたは名前)

例

  • num_selected() → 現在のレイヤで選択されている地物の数。
  • num_selected('streets') → streetsレイヤ上の選択された地物の数

関数 represent_value

フォーマット処理された属性値を返します。結果はウィジェットのタイプによって異なります。多くの場合、ウィジェットの作成に使われます。

構文

represent_value ( value , fieldName )

引数

value フォーマット処理する値。通常はフィールド名。
fieldName ウィジェットの設定があるフィールド名(オプション)

例

  • represent_value("field_with_value_map") → 通常、値の表示でしょう
  • represent_value('static value', 'field_name') → 通常、static valueに関する表示でしょう

関数 sqlite_fetch_and_increment

sqliteデータベースの自動インクリメントを管理します。

sqliteのデフォルト値は挿入(INSERT)時にしか適用されません。

このため、AUTO_INCREMENTでインクリメントされた値をデータベースに行を作る前に取得することは不可能です。(注)Postgresでは デフォルト値を評価 するオプションがあります。

親子関係のある地物を追加する際、親要素が挿入(コミット)される前に子要素を追加できれば大変便利です。

この関数は、この制約を回避するため、gpkgのようなsqliteベースのテーブルのインクリメントテーブルを管理します。

インクリメントテーブルは、連続ID (filter_attributeとfilter_value)と現在のid_field値によって選択され、1だけインクリメントし、その値を返します。

もし、別のカラム用に別の値を指定する必要がある場合、default_valueマップを使用できます。

注
この関数は、sqliteのテーブルを更新します。これは各属性のデフォルト設定を使用することが想定されているためです。

データベースのパラメータがレイヤで、レイヤがトランザクションモードの場合、値はトランザクション中に一度だけ取り出され、キャシュされます。このため、複数のプロセスで並行して同じデータベースを操作することは安全ではありません。

構文

sqlite_fetch_and_increment ( database , table , id_field , filter_attribute , filter_value [, default_values ])

記号[]は、オプションの引数を意味します。

引数

database SQliteファイルまたはgeopackageレイヤのパス
table テーブルの名前
id_field フィールド名
filter_attribute ID値を格納するフィールドの名前(UNIQUE設定が必要です)
filter_value 連続値の名前
default_values テーブルの追加カラムのデフォルト値。値には引用符が必要です。関数も可能です。

例

  • 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

関数 uuid

Qtの QUuid::createUuid メソッドを使って唯一識別子(UUID)を生成します。UUIDの長さは38文字です。

構文

uuid ()

例

  • uuid() → '{0bd2f60f-f157-4a6d-96af-d4ba4cb366a1}'

グループ 文字列

このグループには、文字列を扱う関数があります。置き換えや文字列の大文字化です。

関数 ascii

Returns the unicode code associated with the first character of a string.

構文

ascii ( string )

引数

string the string to convert to unicode code

例

  • ascii('Q') → 81

関数 char

ユニコード番号に対応した文字を返します。

構文

char ( code )

引数

code ユニコード番号

例

  • char(81) → 'Q'

関数 concat

複数の文字列を1つに結合したものを返します。NULL値は空文字列に変換されます。数値等は文字列に変換されます。

構文

concat ( string1 , string2 …)

引数

string 文字列

例

  • concat('sun', 'set') → 'sunset'
  • concat('a','b','c','d','e') → 'abcde'
  • concat('Anno ', 1984) → 'Anno 1984'
  • concat('The Wall', NULL) → 'The Wall'

関数 format

指定された引数を用いて文字列をフォーマットします。

構文

format ( string , arg1 , arg2 …)

引数

string 引数のプレースホルダを含む文字列。プレースホルダには%1や%2などを使います。プレースホルダは繰り返し使用できます。
arg 任意の型。任意の数の引数

例

  • format('This %1 a %2','is', 'test') → 'This is a test''

関数 format_date

日付型または文字列をカスタム形式でフォーマットします。詳しくは QDateTime::toString を参照してください。

構文

format_date ( datetime , format [, language ])

記号[]は、オプションの引数を意味します。

引数

datetime 日付、時刻または日時の値
format 文字列の書式設定に使用される文字列テンプレート(以下は英語からの直訳です。日本語設定の場合、デフォルトでは、例えば「Jun」はエラーになり、半角数字の「6月」は正しく解釈されます)
式 出力
d ゼロなしの日付(1〜31)
DD ゼロ付きの日付(01〜31)
DDD 短縮曜日名(例えば、MonからSun)
dddd 長い曜日名(例えば、MondayからSunday)
M ゼロなし月(1〜12)
MM ゼロ付きの月(01〜12)
MMM 短縮されたローカル月名(例えば、JanからDec)
MMMM 長いローカル月名(例えば、JanuaryからDecember)
yy 2桁の年(00-99)
yyyy 4桁の年

以下の書式文字列は、時間部分に使用できます。

式 出力
h ゼロなしの時(0〜23またはAM / PM表示の場合の1〜12)
hh ゼロ付きの時(00〜23またはAM / PM表示の場合の01〜12)
H ゼロなしの時間(AM / PM表示でも0〜23)
HH ゼロ付きの時(AM / PM表示でも00〜23)
m ゼロなしの分(0〜59)
mm ゼロ付きの分(00〜59)
s ゼロなしの秒(0〜59)
SS ゼロ付きの秒(00〜59)
z ゼロなしのミリ秒(0〜999)
zzz ゼロ付きのミリ秒(000〜999)
APまたはA AM / PM時間として解釈。 AP はAMまたはPMでなければなりません。
apまたはa AM / PM時間として解釈。 ap はamまたはpmでなければなりません。
language dateをカスタム文字列に変換するフォーマットの言語(小文字、ISO 639)

例

  • format_date('2012-05-15','dd.MM.yyyy') → '15.05.2012'
  • format_date('2012-05-15','d MMMM yyyy','fr') → '15 juin 2012'

関数 format_number

Returns a number formatted with the locale separator for thousands. Also truncates the decimal places to the number of supplied places.

構文

format_number ( number , places [, language ])

記号[]は、オプションの引数を意味します。

引数

number フォーマットする数値
places 小数点以下の桁数を表す整数
language language (lowercase, two- or three-letter, ISO 639 language code) used to format the number into a string

例

  • format_number(10000000.332,2) → '10,000,000.33'

関数 left

文字列の左端の n 文字分を返します。

構文

left ( string , length )

引数

string 文字列
length 取得する文字数

例

  • left('Hello World',5) → 'Hello'

関数 length

文字列の文字数、または線の長さを返します。

文字列バージョン

文字列の文字数を返します。

構文

length ( string )

引数

string 文字数を数える文字列

例

  • length('hello') → 5

ジオメトリ・バージョン

線の長さを返します。常に、ジオメトリの座標参照系(CRS)で平面的に計算されます。長さの単位はCRSの単位と一致します。 この値は、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $length 関数とは微妙に異なります。

構文

length ( geometry )

引数

geometry 線のジオメトリ

例

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

関数 lower

小文字に変換します。

構文

lower ( string )

引数

string 小文字に変換する文字列

例

  • lower('HELLO World') → 'hello world'

関数 lpad

左側を指定文字で詰め、指定した幅にした文字列を返します。指定した幅が文字列の長さよりも小さい場合、文字列は切り詰められます。

構文

lpad ( string , width , fill )

引数

string 幅を揃える文字列
width 文字列の長さ
fill 余白を埋める文字

例

  • lpad('Hello', 10, 'x') → 'xxxxxHello'
  • lpad('Hello', 3, 'x') → 'Hel'

関数 regexp_match

正規表現に一致する最初の位置を返します。部分文字列が見つからない場合、0を返します。

構文

regexp_match ( input_string , regex )

引数

input_string 正規表現に対してテストする文字列
regex テストする正規表現。バックスラッシュは二重にエスケープする必要があります(空白文字に一致させるには\\sなど)。

例

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

関数 regexp_replace

正規表現を用いて置き換えられた文字列を返します。

構文

regexp_replace ( input_string , regex , replacement )

引数

input_string 置換対象文字列
regex 置換する正規表現。バックスラッシュは二重にエスケープする必要があります(空白文字に一致させるには\\sなど)。
replacement 置き換える文字列。捕捉されたグループは、\\ 1、\\ 2などを使用して置換文字列に挿入できます。

例

  • regexp_replace('QGIS SHOULD ROCK','\\sSHOULD\\s',' DOES ') → 'QGIS DOES ROCK'

関数 regexp_substr

正規表現にマッチする文字列を返します。

構文

regexp_substr ( input_string , regex )

引数

input_string 検索対象文字列
regex 一致させる正規表現。バックスラッシュは二重にエスケープする必要があります(空白文字に一致させるには\\sなど)。

例

  • regexp_substr('abc123','(\\d+)') → '123'

関数 replace

文字列を別の文字列で置換した文字列を返します。

文字列配列バージョン

文字列またはその配列で指定した置換の結果を返します。

構文

replace ( string , before , after )

引数

string 入力文字列
before 置換対象の文字列またはその配列
after 代わりに使用する文字列またはその配列

例

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

マップ型バージョン

キーと値のペア(マップ型オブジェクト)で指定した置換の結果を返します。キーが値に置換されます。

構文

replace ( string , map )

引数

string 入力文字列
map キーと値のペアのマップ型オブジェクト

例

  • replace('APP SHOULD ROCK',map('APP','QGIS','SHOULD','DOES')) → 'QGIS DOES ROCK'

関数 right

文字列の右端の n 文字分を返します。

構文

right ( string , length )

引数

string 文字列
length 切り取る文字数

例

  • right('Hello World',5) → 'World'

関数 rpad

右側を指定文字で詰め、指定した幅にした文字列を返します。指定した幅が文字列の長さよりも小さい場合、文字列は切り詰められます。

構文

rpad ( string , width , fill )

引数

string 幅を揃える文字列
width 文字列の長さ
fill 余白を埋める文字

例

  • rpad('Hello', 10, 'x') → 'Helloxxxxx'
  • rpad('Hello', 3, 'x') → 'Hel'

関数 strpos

文字列中で最初にマッチする部分の位置を返します。部分文字列が見つからなければ、0を返します。

構文

strpos ( haystack , needle )

引数

haystack 対象文字列
needle 検索する文字列

例

  • strpos('HELLO WORLD','WORLD') → 7
  • strpos('HELLO WORLD','GOODBYE') → 0

関数 substr

文字列の一部分を返します。

構文

substr ( string , start [, length ])

記号[]は、オプションの引数を意味します。

引数

string 入力文字列の全体
start 抽出位置を指定する、1から始まるインデックス。負の場合、文末から数えた位置になります。
length 抽出する文字列の長さを表す整数。負の整数は、末尾の省略文字数を意味します。

例

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

関数 title

文字列の単語を、タイトルケース(先頭が大文字で後に小文字が続く)に変換します。

構文

title ( string )

引数

string 変換する文字列

例

  • title('hello WOrld') → 'Hello World'

関数 to_string

数値を文字列に変換します。

構文

to_string ( number )

引数

number 整数または実数値

例

  • to_string(123) → '123'

関数 trim

文字列の先頭と末尾からすべてのホワイトスペース(空白、タブなど)を削除します。

構文

trim ( string )

引数

string 対象文字列

例

  • trim(' hello world ') → 'hello world'

関数 upper

大文字に変換します。

構文

upper ( string )

引数

string 大文字に変換する文字列

例

  • upper('hello WOrld') → 'HELLO WORLD'

関数 wordwrap

指定した最大・最小文字数に合わせてワードラップ(改行)した文字列を返します。

構文

wordwrap ( string , wrap_length [, delimiter_string ])

記号[]は、オプションの引数を意味します。

引数

string ワードラップする文字列
wrap_length wrap_lengthが正の場合は、理想的な一行あたりの最大文字数を意味します。負の場合は最小文字数を意味します。
delimiter_string (オプション)新しい行に折り返す区切り文字

例

  • wordwrap('UNIVERSITY OF QGIS',13) → 'UNIVERSITY OF
    QGIS'
  • wordwrap('UNIVERSITY OF QGIS',-3) → 'UNIVERSITY
    OF QGIS'