13.2. 関数のリスト
QGISで利用可能な関数、演算子、変数をカテゴリ別でまとめて以下に示します。
13.2.1. 集計関数
このグループには、レイヤやフィールドの値を集計する関数が含まれます。
13.2.1.1. aggregate
別のレイヤの地物を使って計算された値の集計値を返します。
構文 |
aggregate(layer, aggregate, expression, [filter], [concatenator=''], [order_by]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.2. array_agg
属性値を集約し、配列として返します。
構文 |
array_agg(expression, [group_by], [filter], [order_by]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.3. collect
式で集約されたジオメトリをマルチパートジオメトリとして返します。
構文 |
collect(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.4. concatenate
フィールドまたは式の値を区切り文字(デリミタ)で連結した文字列を返します。
構文 |
concatenate(expression, [group_by], [filter], [concatenator], [order_by]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.5. concatenate_unique
フィールドまたは式による文字列を重複を除外して区切り文字(デリミタ)で連結した文字列を返します。
構文 |
concatenate_unique(expression, [group_by], [filter], [concatenator], [order_by]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.6. count
マッチする地物の数を返します。
構文 |
count(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.7. count_distinct
重複を除いた(distinctな)値の数を返します。
構文 |
count_distinct(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.8. count_missing
欠損値(NULL)の数を返します
構文 |
count_missing(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.9. iqr
フィールドまたは式の値の四分位範囲(IQR)を返します。
構文 |
iqr(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.10. majority
フィールドまたは式の最頻値(最もよく出現する値)を返します。
構文 |
majority(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.11. max_length
フィールドまたは式の文字列の最大長を返します。
構文 |
max_length(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.12. maximum
フィールドまたは式の最大値を返します。
構文 |
maximum(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.13. mean
フィールドまたは式の平均値を返します。
構文 |
mean(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.14. median
フィールドまたは式の中央値を返します。
構文 |
median(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.15. min_length
フィールドまたは式の文字列の最短長を返します。
構文 |
min_length(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.16. minimum
フィールドまたは式の最小値を返します。
構文 |
minimum(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.17. minority
フィールドまたは式の最少出現値(出現が最も少ない値)を返します。
構文 |
minority(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.18. q1
フィールドまたは式の値の第1四分位数を返します。
構文 |
q1(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.19. q3
フィールドまたは式の値の第3四分位数を返します。
構文 |
q3(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.20. range
フィールドまたは式の値の範囲(最大値 - 最小値)を返します。
構文 |
range(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.21. relation_aggregate
レイヤのリレーションからマッチする子地物を使用して計算された集計値を返します。
構文 |
relation_aggregate(relation, aggregate, expression, [concatenator=''], [order_by]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
関連する項目: 1対多または多対多のリレーションの作成
13.2.1.22. stdev
フィールドまたは式の標準偏差を返します。
構文 |
stdev(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.1.23. sum
フィールドまたは式の合計値を返します。
構文 |
sum(expression, [group_by], [filter]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2. 配列関数
このグループには、配列(リストデータ構造とも呼ばれます)の作成と操作のための関数が含まれています。配列では、値の順序こそが重要です。これは、キーと値のペアの順序は関係なく、値はキーによって識別される 「マップ型」のデータ構造 とは異なっています。
13.2.2.1. array
パラメータとして渡されたすべての値を含む配列を返します。
構文 |
array(value1, value2, ...) |
引数 |
|
例 |
|
13.2.2.2. array_all
配列が与えられた配列のすべての値を含む場合に TRUE を返します。
構文 |
array_all(array_a, array_b) |
引数 |
|
例 |
|
13.2.2.3. array_append
与えられた値が最後に追加された配列を返します。
構文 |
array_append(array, value) |
引数 |
|
例 |
|
13.2.2.4. array_cat
与えられたすべての配列を連結して、一つの配列として返します。
構文 |
array_cat(array1, array2, ...) |
引数 |
|
例 |
|
13.2.2.5. array_contains
配列が与えられた値を含む場合に TRUE を返します。
構文 |
array_contains(array, value) |
引数 |
|
例 |
|
13.2.2.6. array_count
与えられた値が配列内に存在する数をカウントします。
構文 |
array_count(array, value) |
引数 |
|
例 |
|
13.2.2.7. array_distinct
与えられた配列の値から、相異なる値を含む配列を返します。
構文 |
array_distinct(array) |
引数 |
|
例 |
|
13.2.2.8. array_filter
式がtrueと判定した要素だけを含む配列を返します。
構文 |
array_filter(array, expression, [limit=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.9. array_find
ある値の配列内における最小インデックス(最初は0から数える)を返します。値が配列内で見つからない場合には -1 を返します。
構文 |
array_find(array, value) |
引数 |
|
例 |
|
13.2.2.10. array_first
配列の最初の値を返します。
構文 |
array_first(array) |
引数 |
|
例 |
|
13.2.2.11. array_foreach
配列の各要素を与えられた式で評価した結果を配列として返します。
構文 |
array_foreach(array, expression) |
引数 |
|
例 |
|
13.2.2.12. array_get
配列のN番目の値(最初は0から数える)、または最後から -N番目の値(最後は-1 から数える)を返します。
構文 |
array_get(array, pos) |
引数 |
|
例 |
|
ヒント
配列から値を取得するには インデックス演算子 ([]) も使用できます。
13.2.2.13. array_insert
配列の指定された位置に値が挿入された配列を返します。
構文 |
array_insert(array, pos, value) |
引数 |
|
例 |
|
13.2.2.14. array_intersect
array1 の要素が array2 に少なくとも 1 つ存在する場合に TRUE を返します。
構文 |
array_intersect(array1, array2) |
引数 |
|
例 |
|
13.2.2.15. array_last
配列の最後の値を返します。
構文 |
array_last(array) |
引数 |
|
例 |
|
13.2.2.16. array_length
配列の要素の数を返します。
構文 |
array_length(array) |
引数 |
|
例 |
|
13.2.2.17. array_majority
配列内で最も頻出する値を返します。
構文 |
array_majority(array, [option='all']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.18. array_max
配列の最大値を返します。
構文 |
array_max(array) |
引数 |
|
例 |
|
13.2.2.19. array_mean
配列の算術平均値を返します。配列内の非数値は無視されます。
構文 |
array_mean(array) |
引数 |
|
例 |
|
13.2.2.20. array_median
配列の中央値を返します。配列内の非数値は無視されます。
構文 |
array_median(array) |
引数 |
|
例 |
|
13.2.2.21. array_min
配列の最小値を返します。
構文 |
array_min(array) |
引数 |
|
例 |
|
13.2.2.22. array_minority
配列内で最も稀な値を返します。
構文 |
array_minority(array, [option='all']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.23. array_prepend
与えられた値が先頭に追加された配列を返します。
構文 |
array_prepend(array, value) |
引数 |
|
例 |
|
13.2.2.24. array_prioritize
ある配列を別の配列で指定された順序でソートしたものを返します。第1引数の配列にはあり、第2引数の配列には無い値は、結果の配列の末尾に追加されます。
構文 |
array_prioritize(array, array_prioritize) |
引数 |
|
例 |
|
13.2.2.25. array_remove_all
配列から指定された値がすべて削除された配列を返します。
構文 |
array_remove_all(array, value) |
引数 |
|
例 |
|
13.2.2.26. array_remove_at
与えられたインデックスの項目を取り除いた配列を返します。正のインデックス(最初の要素は0)および負のインデックス(最後の-N番目の値、最後の要素は-1)をサポートします。
構文 |
array_remove_at(array, pos) |
引数 |
|
例 |
|
13.2.2.27. array_replace
配列を指定した別の値、配列またはマップ型オブジェクトで置換した配列を返します。
値・配列バージョン
指定された値または値の配列を、別の値または値の配列で置換した配列を返します。
構文 |
array_replace(array, before, after) |
引数 |
|
例 |
|
マップ型バージョン
指定されたマップ型のキーを対応する値で置き換えた配列を返します。
構文 |
array_replace(array, map) |
引数 |
|
例 |
|
13.2.2.28. array_reverse
逆順にした配列を返します。
構文 |
array_reverse(array) |
引数 |
|
例 |
|
13.2.2.29. array_slice
配列の一部を返します。スライスは、start_posとend_posの引数で定義されます。
構文 |
array_slice(array, start_pos, end_pos) |
引数 |
|
例 |
|
13.2.2.30. array_sort
指定された配列の要素をソートして返します。
構文 |
array_sort(array, [ascending=true]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.31. array_sum
配列の合計値を返します。配列内の非数値は無視されます。
構文 |
array_sum(array) |
引数 |
|
例 |
|
13.2.2.32. array_to_string
配列の要素を区切り文字で連結した文字列を返します。空の値を置き換える文字列を指定できます。
構文 |
array_to_string(array, [delimiter=','], [empty_value='']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.33. generate_series
連続した数字からなる配列を作ります。
構文 |
generate_series(start, stop, [step=1]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.34. geometries_to_array
ジオメトリをより単純なジオメトリに分割し、配列にします。
構文 |
geometries_to_array(geometry) |
引数 |
|
例 |
|
13.2.2.35. regexp_matches
文字列に対する正規表現でグループが現れた順に、キャプチャグループによってキャプチャされた文字列すべての配列を返します。
構文 |
regexp_matches(string, regex, [empty_value='']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.2.36. string_to_array
文字列を指定された区切り文字で配列に分割します。空の値の代わりの文字列を指定するオプションがあります。
構文 |
string_to_array(string, [delimiter=','], [empty_value='']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.3. 色関数
このグループには、色を操作するための関数が含まれています。
13.2.3.1. color_cmyk
シアン、マゼンタ、イエロー、ブラック成分に基づいて、色を表す文字列を返します。
構文 |
color_cmyk(cyan, magenta, yellow, black) |
引数 |
|
例 |
|
13.2.3.2. color_cmyka
シアン、マゼンタ、イエロー、ブラックおよびアルファ(透明度)成分に基づいて、色を表す文字列を返します。
構文 |
color_cmyka(cyan, magenta, yellow, black, alpha) |
引数 |
|
例 |
|
13.2.3.3. color_grayscale_average
指定された色にグレースケールフィルタを適用した色を表す文字列を返します。
構文 |
color_grayscale_average(color) |
引数 |
|
例 |
|
13.2.3.4. color_hsl
色相、彩度、輝度属性に基づいて、色を表す文字列を返します。
構文 |
color_hsl(hue, saturation, lightness) |
引数 |
|
例 |
|
13.2.3.5. color_hsla
色相、彩度、輝度およびアルファ(透明度)属性に基づいて、色を表す文字列を返します。
構文 |
color_hsla(hue, saturation, lightness, alpha) |
引数 |
|
例 |
|
13.2.3.6. color_hsv
色相、彩度、明度属性に基づいて、色を表す文字列を返します。
構文 |
color_hsv(hue, saturation, value) |
引数 |
|
例 |
|
13.2.3.7. color_hsva
色相、彩度、明度およびアルファ(透明度)属性に基づいて、色を表す文字列を返します。
構文 |
color_hsva(hue, saturation, value, alpha) |
引数 |
|
例 |
|
13.2.3.8. color_mix_rgb
2つの指定された色の赤、緑、青、アルファ値を、与えられた比率に基づいて混合させた色を表す文字列を返します。
構文 |
color_mix_rgb(color1, color2, ratio) |
引数 |
|
例 |
|
13.2.3.9. color_part
色を表す文字列から、赤色成分やアルファ成分など特定の成分を返します。
構文 |
color_part(color, component) |
引数 |
|
例 |
|
13.2.3.10. color_rgb
赤、緑、青成分に基づいて、色を表す文字列を返します。
構文 |
color_rgb(red, green, blue) |
引数 |
|
例 |
|
13.2.3.11. color_rgba
赤、緑、青およびアルファ(透明度)成分に基づいて、色を表す文字列を返します。
構文 |
color_rgba(red, green, blue, alpha) |
引数 |
|
例 |
|
13.2.3.12. create_ramp
色文字列とステップのマップ型オブジェクトで定義された、グラデーションランプを返します。
構文 |
create_ramp(map, [discrete=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.3.13. darker
指定した色を基準に、より暗い(または明るい)色の色文字列を返します。
構文 |
darker(color, factor) |
引数 |
|
例 |
|
参考: lighter
13.2.3.14. lighter
指定した色を基準に、より明るい(または暗い)色の色文字列を返します。
構文 |
lighter(color, factor) |
引数 |
|
例 |
|
参考: darker
13.2.3.15. project_color
プロジェクトのカラースキーマから色を返します。
構文 |
project_color(name) |
引数 |
|
例 |
|
参考: プロジェクトの色の設定
13.2.3.16. ramp_color
カラーランプから、色を表す文字列を返します。
保存済みカラーランプバージョン
保存済みカラーランプから、色を表す文字列を返します。
構文 |
ramp_color(ramp_name, value) |
引数 |
|
例 |
|
注釈
利用可能なカラーランプはQGISのインストール環境によって異なります。異なるインストール環境にQGISプロジェクトを移動した場合、この関数は期待した結果が得られない場合があります。
式によって定義されたカラーランプバージョン
式によって定義されたカラーランプから、色を表す文字列を返します。
構文 |
ramp_color(ramp, value) |
引数 |
|
例 |
|
13.2.3.17. set_color_part
色を表す文字列に対して、赤色成分やアルファ成分など特定の色成分を設定します。
構文 |
set_color_part(color, component, value) |
引数 |
|
例 |
|
13.2.4. 条件関数
このグループには、式の中で条件分けに使う関数があります。
13.2.4.1. CASE
CASEは、一連の条件を評価し、条件が最初に満たされる結果を返します。条件は上から順に評価され、ある条件がtrueであれば評価を停止し、対応する結果が返されます。どの条件もtrueでない場合は、ELSE節の値が返されます。ELSE節が無く、いずれの条件も満たさない場合には、NULLが返されます。
CASE
WHEN condition THEN result
[ …n ]
[ ELSE result ]
END
記号[]は、オプションの引数を意味します。
引数 |
|
例 |
|
13.2.4.2. coalesce
式リストから最初の非NULL値を返します。
この関数は、任意の数の引数をとることができます。
構文 |
coalesce(expression1, expression2, ...) |
引数 |
|
例 |
|
13.2.4.3. if
条件をテストし、それに応じて異なる結果を返します。
構文 |
if(condition, result_when_true, result_when_false) |
引数 |
|
例 |
|
13.2.4.4. nullif
value1がvalue2と等しい場合にはNULLを返し、そうでない場合にはvalue1を返します。この関数は、条件によって値をNULLに置き換える場合に便利です。
構文 |
nullif(value1, value2) |
引数 |
|
例 |
|
13.2.4.5. regexp_match
unicode文字列内で正規表現にマッチする最初の位置を返します。部分文字列が見つからない場合、0を返します。
構文 |
regexp_match(input_string, regex) |
引数 |
|
例 |
|
13.2.4.6. try
式の評価を試し、エラーがなければその値を返します。式がエラーとなる場合には、指定された代替値を返します。指定値がない場合はNULLを返します。
構文 |
try(expression, [alternative]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.5. 変換関数
このグループには、あるデータ型を他の型に変換する関数が含まれます(例えば文字列型と整数型の変換、文字列型とバイナリ型の変換、文字列から日付への変換など)。
13.2.5.1. from_base64
Base64エンコードの文字列をバイナリ値にデコードします。
構文 |
from_base64(string) |
引数 |
|
例 |
|
13.2.5.2. hash
指定された方法で文字列からハッシュを作ります。1バイト(8ビット)は16進数2文字で表されるので、 'md4' (16 bytes)では 16 * 2 = 32 文字に、 'keccak_512' (64 bytes)では 64 * 2 = 128 文字になります。
構文 |
hash(string, method) |
引数 |
|
例 |
|
13.2.5.3. md5
文字列からmd5ハッシュを作ります。
構文 |
md5(string) |
引数 |
|
例 |
|
13.2.5.4. sha256
文字列からsha256ハッシュを作ります。
構文 |
sha256(string) |
引数 |
|
例 |
|
13.2.5.5. to_base64
バイナリ値をBase64エンコードを使用して文字列にエンコードします。
構文 |
to_base64(value) |
引数 |
|
例 |
|
13.2.5.6. to_date
文字列を日付型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QDate::fromString または format_date 関数のドキュメントを参照してください。デフォルトでは現在のQGISユーザーのロケールを使用します。
構文 |
to_date(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.5.7. to_datetime
文字列を日付時刻型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QDate::fromString 、 QTime::fromString または format_date 関数のドキュメントを参照してください。デフォルトでは現在のQGISユーザーのロケールを使用します。
構文 |
to_datetime(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.5.8. to_decimal
度分秒の座標を十進数に変換します。
構文 |
to_decimal(value) |
引数 |
|
例 |
|
13.2.5.9. to_dm
座標を度、分単位に変換します。
構文 |
to_dm(coordinate, axis, precision, [formatting=]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.5.10. to_dms
座標を度、分、秒形式に変換します。
構文 |
to_dms(coordinate, axis, precision, [formatting=]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.5.11. to_int
文字列を整数値に変換します。整数値に変換できない場合は何も返されません(例えば '123asd' は無効な文字列です)。
構文 |
to_int(string) |
引数 |
|
例 |
|
13.2.5.12. to_interval
文字列をインターバル型に変換します。日付に日、時間、月などを加減することに利用できます。
構文 |
to_interval(string) |
引数 |
|
例 |
|
13.2.5.13. to_real
文字列を実数値に変換します。値が実数に変換できない場合は何も返されません(例えば '123.56asd' は無効な文字列です)。フィールドの精度が変換結果の精度より小さい場合には、保存時に数値が丸められます。
構文 |
to_real(string) |
引数 |
|
例 |
|
13.2.5.14. to_string
数値を文字列に変換します。
構文 |
to_string(number) |
引数 |
|
例 |
|
13.2.5.15. to_time
文字列を時間型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QTime::fromString を参照してください。
構文 |
to_time(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.6. カスタム関数
このグループには、ユーザーが作成した関数が含まれています。詳細については 関数エディタ を参照してください。
13.2.7. 日付と時刻の関数
このグループには、日付や時刻のデータを扱う関数が含まれています。このグループは、 変換関数 (to_date, to_time, to_datetime, to_interval)や 文字列関数 (format_date)グループといくつかの関数を共有しています。
注釈
フィールドに日付、日付時刻、インターバルを格納する
日付 、 時間 、 日付時刻 の値をフィールドに直接格納できるかは、データソースプロバイダに依存しています(例えば、シェープファイルは 日付 の形式は可能ですが、 日付時刻 や 時間 の形式は不可です)。以下は、このような制限がある場合に制限を克服するための案です:
日付 、 日付時刻 、 時間 の値は format_date() 関数を使用して変換し、テキスト型のフィールドに格納できます。
インターバル は、日付抽出関数のどれか(例:日単位で表現されたインターバルを取得するには day() )を使用した後、整数型または実数型のフィールドに格納できます。
13.2.7.1. age
2つの日付または日付時刻の差を返します。
差は インターバル型
として返されるため、有用な情報を抽出するためには以下のいずれかの関数と一緒に使用する必要があります。
year
month
week
day
hour
minute
second
構文 |
age(datetime1, datetime2) |
引数 |
|
例 |
|
13.2.7.2. datetime_from_epoch
協定世界時(Qt.UTC) 1970-01-01T00:00:00.000 から msecs ミリ秒数経過した日付時刻を Qt.LocalTime に変換した日付時刻型を返します。
構文 |
datetime_from_epoch(int) |
引数 |
|
例 |
|
13.2.7.3. day
日付型から日を取り出します。インターバル型からは日数を取り出します。
日付型バージョン
日付型または日付時刻型から、日を取り出します。
構文 |
day(date) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを日単位で計算します。
構文 |
day(interval) |
引数 |
|
例 |
|
13.2.7.4. day_of_week
指定した日付または日付時刻の曜日を返します。返される値は0から6の範囲で、0が日曜日、6が土曜日に対応します。
構文 |
day_of_week(date) |
引数 |
|
例 |
|
13.2.7.5. epoch
Unixエポックと指定された日付値の間の間隔をミリ秒で返します。
構文 |
epoch(date) |
引数 |
|
例 |
|
13.2.7.6. format_date
日付型または文字列をカスタム書式文字列でフォーマットします。Qtの date/time フォーマット文字列を使用します。詳細は QDateTime::toString を参照してください。
構文 |
format_date(datetime, format, [language]) 記号[]は、オプションの引数を意味します。 |
||||||||||||||||||||||||||||||||||||||||||||||||
引数 |
|
||||||||||||||||||||||||||||||||||||||||||||||||
例 |
|
13.2.7.7. hour
時間型または日付時刻型から時の部分を取り出します。インターバル型からは時間数を取り出します。
時間型バージョン
時間型または日付時刻型から時の部分を取り出します。
構文 |
hour(datetime) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを時間単位で計算します。
構文 |
hour(interval) |
引数 |
|
例 |
|
13.2.7.8. make_date
年、月、日の数字から日付型の値を作ります。
構文 |
make_date(year, month, day) |
引数 |
|
例 |
|
13.2.7.9. make_datetime
年、月、日、時、分、秒の数字から日付時刻型の値を作ります。
構文 |
make_datetime(year, month, day, hour, minute, second) |
引数 |
|
例 |
|
13.2.7.10. make_interval
年、月、日、時、分、秒の数字からインターバル型の値を作ります。
構文 |
make_interval([years=0], [months=0], [weeks=0], [days=0], [hours=0], [minutes=0], [seconds=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.7.11. make_time
時、分、秒の数字から時間型の値を作ります。
構文 |
make_time(hour, minute, second) |
引数 |
|
例 |
|
13.2.7.12. minute
日付時刻型または時間型から分の部分を取り出します。インターバル型からは分数を取り出します。
時間型バージョン
時間型または日付時刻型から分の部分を取り出します。
構文 |
minute(datetime) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを分単位で計算します。
構文 |
minute(interval) |
引数 |
|
例 |
|
13.2.7.13. month
日付型から月を取り出します。インターバル型からは月数を取り出します。
日付型バージョン
日付型または日付時刻型から月の部分を取り出します。
構文 |
month(date) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを月単位で計算します。
構文 |
month(interval) |
引数 |
|
例 |
|
13.2.7.14. now
現在の日付と時刻を返します。この関数は静的で、評価の最中は一貫した結果を返します。返される時刻は、この式が準備されたときの時刻です。
構文 |
now() |
例 |
|
13.2.7.15. second
時間型または日付時刻型から秒の部分を取り出します。インターバル型からは秒数を取り出します。
時間型バージョン
時間型または日付時刻型から秒の部分を取り出します。
構文 |
second(datetime) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを秒単位で計算します。
構文 |
second(interval) |
引数 |
|
例 |
|
13.2.7.16. to_date
文字列を日付型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QDate::fromString または format_date 関数のドキュメントを参照してください。デフォルトでは現在のQGISユーザーのロケールを使用します。
構文 |
to_date(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.7.17. to_datetime
文字列を日付時刻型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QDate::fromString 、 QTime::fromString または format_date 関数のドキュメントを参照してください。デフォルトでは現在のQGISユーザーのロケールを使用します。
構文 |
to_datetime(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.7.18. to_interval
文字列をインターバル型に変換します。日付に日、時間、月などを加減することに利用できます。
構文 |
to_interval(string) |
引数 |
|
例 |
|
13.2.7.19. to_time
文字列を時間型オブジェクトに変換します。オプションとして、文字列をパースするためのフォーマット文字列を指定できます。フォーマットに関するドキュメントは、 QTime::fromString を参照してください。
構文 |
to_time(string, [format], [language]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.7.20. week
日付型から週番号を取り出します。インターバル型からは週単位の長さを取り出します。
日付型バージョン
日付型または日付時刻型から週番号を取り出します。
構文 |
week(date) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを週単位で計算します。
構文 |
week(interval) |
引数 |
|
例 |
|
13.2.7.21. year
日付型から年を取り出します。インターバル型からは年数を取り出します。
日付型バージョン
日付型または日付時刻型から年の部分を取り出します。
構文 |
year(date) |
引数 |
|
例 |
|
インターバル型バージョン
インターバル型の長さを年単位で計算します。
構文 |
year(interval) |
引数 |
|
例 |
|
例
これらの関数に加えて、 -
(マイナス)演算子を使用して日付型や日付時刻型または時刻型どうしの減算を行うと、インターバル型のデータを返します。
+
(プラス)演算子や -
(マイナス)演算子を使用して、日付型や日付時刻型、時間型のデータにインターバル型のデータを加算または減算すると、日時時刻型のデータを返します。
QGIS 3.0リリースまでの日数を取得します。
to_date('2017-09-29') - to_date(now()) -- Returns <interval: 203 days>
リリース時刻も含めて計算します:
to_datetime('2017-09-29 12:00:00') - now() -- Returns <interval: 202.49 days>
今から100日の日時を取得します。
now() + to_interval('100 days') -- Returns <datetime: 2017-06-18 01:00:00>
13.2.8. フィールドと値
アクティブレイヤのフィールドのリストと、特別な値を格納します。フィールドのリストには、データセットに格納されているもの、 virtual と auxiliary のもの、 joins のものが含まれます。
フィールド名をダブルクリックすると、そのフィールドが式に追加されます。式への追加は、フィールド名(ダブルクォート囲みを推奨)またはその 別名 を直接入力することでも可能です。
式で使用したいフィールドの値を取得するには、適切なフィールドを選択し、表示されたウィジェットで 10個のサンプル または 全ユニーク のどちらかのボタンを押します。すると、フィールドの値が表示され、リストの上部にある 検索 ボックスを使用して結果をフィルタリングできます。サンプル値取得は、フィールド名の上で右クリックしてもアクセスできます。
式に値を追加するには、フィールド値リスト内の値をダブルクリックします。値が文字列型の場合はシングルクォートで囲まれますが、それ以外はクォートで囲みません。
13.2.8.1. NULL
NULL に等しい値です。
構文 |
NULL |
例 |
|
注釈
NULL値かどうかをテストする場合には、 IS NULL 式または IS NOT NULL 式を使用してください。
13.2.9. ファイルとパスの関数
このグループには、ファイルとパス名を操作する関数が含まれます。
13.2.9.1. base_file_name
ディレクトリや拡張子を取り除いた、ファイルのベース名を返します。
構文 |
base_file_name(path) |
引数 |
|
例 |
|
13.2.9.2. exif
画像ファイルからexifタグの値を取得します。
構文 |
exif(path, [tag]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.9.3. file_exists
ファイルパスが存在する場合はTRUEを返します。
構文 |
file_exists(path) |
引数 |
|
例 |
|
13.2.9.4. file_name
(拡張子付きの)ファイル名を返します。ディレクトリは含みません。
構文 |
file_name(path) |
引数 |
|
例 |
|
13.2.9.5. file_path
ファイルパスのディレクトリ部分を返します。戻り値にはファイル名は含まれません。
構文 |
file_path(path) |
引数 |
|
例 |
|
13.2.9.6. file_size
ファイルのサイズを(バイト単位で)返します。
構文 |
file_size(path) |
引数 |
|
例 |
|
13.2.9.7. file_suffix
ファイルパスから拡張子(末尾部分)を返します。
構文 |
file_suffix(path) |
引数 |
|
例 |
|
13.2.9.8. is_directory
パスがディレクトリに対応する場合、TRUEを返します。
構文 |
is_directory(path) |
引数 |
|
例 |
|
13.2.9.9. is_file
パスがファイルに対応する場合、TRUEを返します。
構文 |
is_file(path) |
引数 |
|
例 |
|
13.2.10. フォーム関数
このグループには、属性フォームに関連した式ダイアログのみで利用できる関数が含まれます。例えば、 フィールドのウィジェット の設定などで利用できます。
13.2.10.1. current_parent_value
この関数は埋め込みフォームでのみ使用可能で、現在編集中の親フォームの未保存の属性値を返します。これは、親レイヤで編集中または親レイヤに追加前の親地物の実際の値とは異なります。「値のリレーション」ウィジェットのフィルタ式で使用する場合には、フォームが埋め込みフォーム状態で使われない場合にもレイヤから実際の親地物の値を取得できるよう、 'coalesce()' 関数でラップする必要があります。
構文 |
current_parent_value(field_name) |
引数 |
|
例 |
|
13.2.10.2. current_value
現在編集中のフォームまたはテーブル行で、現在のフィールドの未保存の値を返します。これは、現在編集中の地物またはまだレイヤに追加されていない地物の実際の属性値とは異なります。
構文 |
current_value(field_name) |
引数 |
|
例 |
|
13.2.11. ファジー・マッチング関数
このグループには、値間でファジィ比較をするための関数が含まれています。
13.2.11.1. hamming_distance
2つの文字列間のハミング距離を返します。この距離は、入力文字列の対応する位置にある異なった文字の数です。入力文字列は同じ長さでなければならず、大文字と小文字を区別して比較されます。
構文 |
hamming_distance(string1, string2) |
引数 |
|
例 |
|
13.2.11.2. levenshtein
2つの文字列間のレーベンシュタイン編集距離を返します。これは、ある文字列を別の文字列に変更するために必要な文字編集(挿入、削除または置換)の最小数に相当します。
レーベンシュタイン距離は、2つの文字列間の類似性の尺度です。距離が小さいほど文字列はより似ており、距離が長いほど文字列が異なっていることを示します。距離は大文字と小文字を区別します。
構文 |
levenshtein(string1, string2) |
引数 |
|
例 |
|
13.2.11.3. longest_common_substring
2つの文字列間の最も長い共通部分を返します。例えば、 "ABABC" と "BABCA" の最も長い共通部分は "BABC" です。部分文字列は大文字と小文字を区別します。
構文 |
longest_common_substring(string1, string2) |
引数 |
|
例 |
|
13.2.11.4. soundex
文字列のSoundex表現を返します。Soundexは音声マッチングアルゴリズムで、類似した音の文字列は同じSoundexコードで表現されます。
構文 |
soundex(string) |
引数 |
|
例 |
|
13.2.12. 一般関数
このグループには、さまざまな汎用関数が含まれます。
13.2.12.1. env
環境変数を取得し、その内容を文字列として返します。変数が見つからない場合、NULLを返します。この関数は、ドライブ文字やパスプレフィックスなどのシステム固有の設定を取得するために有用です。環境変数の定義はオペレーティングシステムによって異なりますので、システム管理者に確認するかオペレーティングシステムのマニュアルを参照して、環境変数の設定方法を確認してください。
構文 |
env(name) |
引数 |
|
例 |
|
13.2.12.2. eval
文字列で渡された式を評価します。これを使えば、コンテキスト変数またはフィールドとして渡されたパラメータを動的に展開できます。
構文 |
eval(expression) |
引数 |
|
例 |
|
13.2.12.3. eval_template
文字列で渡されたテンプレートを評価します。これを使えば、コンテキスト変数またはフィールドとして渡されたパラメータを動的に展開できます。
構文 |
eval_template(template) |
引数 |
|
例 |
|
13.2.12.4. is_layer_visible
指定されたレイヤが表示されているならTRUEを返します。
構文 |
is_layer_visible(layer) |
引数 |
|
例 |
|
13.2.12.5. mime_type
バイナリデータのMIMEタイプを返します。
構文 |
mime_type(bytes) |
引数 |
|
例 |
|
13.2.12.6. var
指定された変数に格納された値を返します。
構文 |
var(name) |
引数 |
|
例 |
|
参考:デフォルトの 変数 のリスト
13.2.12.7. with_variable
この関数は、第3引数の式で使われる変数を設定します。同じ計算結果を別の場所で繰り返し使用する必要があるような、複雑な式を構成する際に使われます。
構文 |
with_variable(name, value, expression) |
引数 |
|
例 |
|
13.2.13. ジオメトリ関数
このグループは、ジオメトリオブジェクトを操作する関数(例えば buffer、 transform、 $area など)が含まれます。
13.2.13.1. affine_transform
アフィン変換後のジオメトリを返します。計算はこのジオメトリの空間参照系で行われます。変換操作は、スケーリング、回転、平行移動の順で行われます。Z座標やM値のオフセットが指定されているものの、ジオメトリの座標がZ座標やM値を持たない場合には、これらがジオメトリ座標に追加されます。
構文 |
affine_transform(geometry, delta_x, delta_y, rotation_z, scale_x, scale_y, [delta_z=0], [delta_m=0], [scale_z=1], [scale_m=1]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.2. angle_at_vertex
ラインストリングジオメトリ上の指定された頂点について、ジオメトリの二分角(平均角度)を返します。角度は度単位で、北から時計回りで測ります。
構文 |
angle_at_vertex(geometry, vertex) |
引数 |
|
例 |
|
13.2.13.3. apply_dash_pattern
ジオメトリにダッシュパターンを適用し、入力ジオメトリを指定されたパターンで各線/リングに沿ってストロークさせた MultiLineString ジオメトリを返します。
構文 |
apply_dash_pattern(geometry, pattern, [start_rule=no_rule], [end_rule=no_rule], [adjustment=both], [pattern_offset=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.4. $area
地物の面積を返します。この関数で計算される面積には、現在のプロジェクトの楕円体設定と面積単位設定の両方が反映されます。例えば、プロジェクトに回転楕円体が設定されている場合、楕円体面積になり、設定されていない場合、平面上の面積になります。
構文 |
$area |
例 |
|
13.2.13.5. area
ポリゴンオブジェクトのジオメトリの面積を返します。面積はこのジオメトリの空間参照系(SRS)で常に平面的に計算され、面積の単位は空間参照系の単位と一致します。この面積は、プロジェクトの楕円体と面積単位設定にもとづいた楕円体計算が行われる $area 関数による面積とは異なります。
構文 |
area(geometry) |
引数 |
|
例 |
|
13.2.13.6. azimuth
北を基準して時計回りに測定された point_a から point_b への方位角をラジアン単位で返します。
構文 |
azimuth(point_a, point_b) |
引数 |
|
例 |
|
13.2.13.7. boundary
ジオメトリの組み合わせ的境界のクロージャ(すなわちジオメトリの位相的境界)を返します。例えば、ポリゴンジオメトリには、ポリゴンの各リングのラインストリングからなる境界があります。ポイントやジオメトリコレクションのように、定義された境界を持たないジオメトリについては、NULLが返されます。
構文 |
boundary(geometry) |
引数 |
|
例 |
|
参考: トポロジカル境界 アルゴリズム
13.2.13.8. bounds
入力ジオメトリのバウンディングボックスを表すジオメトリを返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
bounds(geometry) |
引数 |
|
例 |
|
参考: BBoxの出力 アルゴリズム
13.2.13.9. bounds_height
ジオメトリのバウンディングボックスの高さを返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
bounds_height(geometry) |
引数 |
|
例 |
|
13.2.13.10. bounds_width
ジオメトリのバウンディングボックスの幅を返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
bounds_width(geometry) |
引数 |
|
例 |
|
13.2.13.11. buffer
ジオメトリからの距離がある距離以下のすべてのポイントを表すジオメトリを返します。計算はこのジオメトリの空間参照系で行なわれます。
構文 |
buffer(geometry, distance, [segments=8], [cap='round'], [join='round'], [miter_limit=2]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: バッファ(buffer) アルゴリズム
13.2.13.12. buffer_by_m
ラインジオメトリに沿ってバッファを作成します。バッファの直径は、ラインの頂点のm値に従って変化します。
構文 |
buffer_by_m(geometry, [segments=8]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: 可変幅バッファ(M値使用) アルゴリズム
13.2.13.13. centroid
ジオメトリの重心を返します。
構文 |
centroid(geometry) |
引数 |
|
例 |
|
参考: 重心 アルゴリズム
13.2.13.14. close_line
入力されたラインストリングが閉じていない場合には、最初の点を行末に追加して、閉じたラインストリングを返します。ジオメトリがラインストリングまたはマルチラインストリングでない場合、結果は NULL になります。
構文 |
close_line(geometry) |
引数 |
|
例 |
|
13.2.13.15. closest_point
geometry2 に最も近い、geometry1 上の点を返します。
構文 |
closest_point(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.16. collect_geometries
ジオメトリを集約したマルチパートのジオメトリを返します。
引数バージョン
ジオメトリのパーツは、関数の引数として個別に指定します。
構文 |
collect_geometries(geometry1, geometry2, ...) |
引数 |
|
例 |
|
配列バージョン
ジオメトリのパーツは、ジオメトリパーツの配列として指定します。
構文 |
collect_geometries(array) |
引数 |
|
例 |
|
参考: シングルパートをマルチパートに集約 アルゴリズム
13.2.13.17. combine
2つのジオメトリの結合を返します。
構文 |
combine(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.18. concave_hull
ジオメトリのすべてのポイントを含む、凹型のポリゴンを返します
構文 |
concave_hull(geometry, target_percent, [allow_holes=False]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: convex_hull
13.2.13.19. contains
あるジオメトリが他のものを含むかどうかを判定します。ジオメトリ1の外側にジオメトリ2の点がなく、かつジオメトリ2の内側の少なくとも1点がジオメトリ1の内側にある場合にのみ、TRUEを返します。
構文 |
contains(geometry1, geometry2) |
引数 |
|
例 |
|
参考: overlay_contains
13.2.13.20. convex_hull
ジオメトリの凸包を返します。これは、セット内のすべてのジオメトリを囲む、最小の凸多角形のジオメトリです。
構文 |
convex_hull(geometry) |
引数 |
|
例 |
|
参考: concave_hull, 凸包(convex hull) アルゴリズム
13.2.13.21. crosses
あるジオメトリが他のジオメトリと交差しているかどうかを判定します。与えられたジオメトリが、すべてではないが、内側の点をいくつか共有している場合、TRUEを返します。
構文 |
crosses(geometry1, geometry2) |
引数 |
|
例 |
|
参考: overlay_crosses
13.2.13.22. densify_by_count
ポリゴンまたはラインレイヤのジオメトリを受け取り、元のジオメトリよりも頂点数が多いジオメトリを新たに生成します。
構文 |
densify_by_count(geometry, vertices) |
引数 |
|
例 |
|
参考: 頂点の高密度化(個数ベース) アルゴリズム
13.2.13.23. densify_by_distance
ポリゴン又はラインレイヤのジオメトリを受け取り、指定された間隔を最大距離とするように辺に頂点を追加することにより、ジオメトリを高密度化した新しいものを生成します。
構文 |
densify_by_distance(geometry, distance) |
引数 |
|
例 |
|
参考: 間隔による高密度化 アルゴリズム
13.2.13.24. difference
geometry1のうち、geometry2と交差(intersect)しない部分を表すジオメトリを返します。
構文 |
difference(geometry1, geometry2) |
引数 |
|
例 |
|
参考: 差分 algorithm
13.2.13.25. disjoint
ジオメトリが空間的に交差しないかどうかを判定します。ジオメトリが空間を共有していない場合はTRUEを返します。
構文 |
disjoint(geometry1, geometry2) |
引数 |
|
例 |
|
参考: overlay_disjoint
13.2.13.26. distance
2つのジオメトリ間の最小距離(空間参照に基づく)を投影法の単位で返します。
構文 |
distance(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.27. distance_to_vertex
インデックスで指定した点までの、ジオメトリに沿った距離を返します。
構文 |
distance_to_vertex(geometry, vertex) |
引数 |
|
例 |
|
13.2.13.28. end_point
ジオメトリの最後のノードを返します。
構文 |
end_point(geometry) |
引数 |
|
例 |
|
参考: 特定の点を抽出 アルゴリズム
13.2.13.29. exif_geotag
画像ファイルの exif ジオタグからポイントジオメトリを作成します。
構文 |
exif_geotag(path) |
引数 |
|
例 |
|
13.2.13.30. extend
ラインストリングジオメトリの始点と終点を指定量だけ延長します。最初と最後のセグメントを、その方向を使用して延長します。距離の単位はこのジオメトリの空間参照系を使います。
構文 |
extend(geometry, start_distance, end_distance) |
引数 |
|
例 |
|
参考: 線の延長 アルゴリズム
13.2.13.31. exterior_ring
ポリゴンジオメトリの外側のリングを表すラインストリングを返します。ジオメトリがポリゴンではない場合には、結果はNULLになります。
構文 |
exterior_ring(geometry) |
引数 |
|
例 |
|
13.2.13.32. extrude
(マルチ)カーブまたは(マルチ)ラインストリングジオメトリを、xとyで指定した押し出し量だけ並行移動させてできるポリゴンを返します。
構文 |
extrude(geometry, x, y) |
引数 |
|
例 |
|
13.2.13.33. flip_coordinates
X座標とY座標を入れ替えたジオメトリのコピーを返します。緯度と経度を逆にしてしまったジオメトリを修復する際に便利です。
構文 |
flip_coordinates(geometry) |
引数 |
|
例 |
|
参考: 座標のXY入れ替え アルゴリズム
13.2.13.34. force_polygon_ccw
外側のリングは反時計回り、内側のリングは時計回りになるようにジオメトリを強制的に設定します。
構文 |
force_polygon_ccw(geometry) |
引数 |
|
例 |
|
13.2.13.35. force_polygon_cw
外側のリングは時計回り、内側のリングは反時計回りになるようにジオメトリを強制的に設定します。
構文 |
force_polygon_cw(geometry) |
引数 |
|
例 |
|
13.2.13.36. force_rhr
ポリゴンで囲まれる区域が境界の右側にある、「右手ルール」を尊重するようにジオメトリを強制的に設定します。特に、外側のリングは時計回りに、内側のリングは反時計回りに向きを変えます。右手ルールの定義は文脈によって不一致があるため、代わりに明白なforce_polygon_cw関数を使用することが推奨されます。
構文 |
force_rhr(geometry) |
引数 |
|
例 |
|
参考: 右手ルールを強制 アルゴリズム、 force_polygon_ccw, force_polygon_cw
13.2.13.37. geom_from_gml
ジオメトリのGML表現文字列からジオメトリを返します。
構文 |
geom_from_gml(gml) |
引数 |
|
例 |
|
13.2.13.38. geom_from_wkb
Well-Known Binary(WKB)表現から作成されたジオメトリを返します。
構文 |
geom_from_wkb(binary) |
引数 |
|
例 |
|
13.2.13.39. geom_from_wkt
Well-Known Text(WKT)表現から作成されたジオメトリを返します。
構文 |
geom_from_wkt(text) |
引数 |
|
例 |
|
13.2.13.40. geom_to_wkb
ジオメトリの Well-Known Binary(WKB)表現を返します。
構文 |
geom_to_wkb(geometry) |
引数 |
|
例 |
|
13.2.13.41. geom_to_wkt
ジオメトリのWell-known text(WKT)表現をSRIDメタデータなしで返します。
構文 |
geom_to_wkt(geometry, [precision=8]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.42. $geometry
現在の地物のジオメトリを返します。他の関数での処理に使用することができます。警告:この関数は非推奨です。代わりに@geometry変数を使用することをお勧めします。
構文 |
$geometry |
例 |
|
13.2.13.43. geometry
地物のジオメトリを返します。
構文 |
geometry(feature) |
引数 |
|
例 |
|
13.2.13.44. geometry_n
ジオメトリコレクションから特定のジオメトリを返し、入力ジオメトリがコレクションでない場合はNULLを返します。また、マルチパートジオメトリから部分を返します。
構文 |
geometry_n(geometry, index) |
引数 |
|
例 |
|
13.2.13.45. geometry_type
ジオメトリの種類を表す文字列値(Point、Line または Polygon)を返します。
構文 |
geometry_type(geometry) |
引数 |
|
例 |
|
13.2.13.46. hausdorff_distance
2つのジオメトリ間のハウスドルフ距離を返します。これは基本的に、2つのジオメトリがどれほど類似しているか、類似していないかを測る指標であり、距離が小さいほど類似したジオメトリであることを示します。
この関数はオプションとして、稠密化比率を引数で与えて実行できます。これが指定されていない場合は、標準的なハウスドルフ距離の近似値が使用されます。この近似は有用なケースの大部分では正確か、十分に近いものです。例えば、
ほぼ互いに平行でほぼ同じ長さのラインストリング間の類似性を計算する場合。これは線形ネットワークのマッチングで使用します。
ジオメトリの類似性をテストする場合。
この関数のデフォルトの近似値では不十分な場合、オプションで稠密化比率を引数に指定します。この引数を指定すると、離散ハウスドルフ距離を計算する前にセグメントの稠密化が実行されます。このパラメータは、各セグメントを緻密化する比率を設定します。各セグメントはこの比率で等しい長さのサブセグメントに分割されます。稠密化比率のパラメータを小さくすれば、返される距離は真のハウスドルフ距離に近づきます。
構文 |
hausdorff_distance(geometry1, geometry2, [densify_fraction]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.47. inclination
point_a に対する point_b の傾斜角を、天頂(0度)から天底(180度)までの角度で返します。
構文 |
inclination(point_a, point_b) |
引数 |
|
例 |
|
13.2.13.48. interior_ring_n
ポリゴンジオメトリから指定した内側のリングを返します。ジオメトリがポリゴンではない場合、NULLを返します。
構文 |
interior_ring_n(geometry, index) |
引数 |
|
例 |
|
13.2.13.49. intersection
2つのジオメトリの共有部分を表すジオメトリを返します。
構文 |
intersection(geometry1, geometry2) |
引数 |
|
例 |
|
参考: 交差 アルゴリズム
13.2.13.50. intersects
あるジオメトリが他のジオメトリと交差しているかどうかを判定します。ジオメトリが空間的に交差している(空間の任意の部分を共有している)場合はTRUE、交差していない場合はFALSEを返します。
構文 |
intersects(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.51. intersects_bbox
ジオメトリのバウンディングボックスが他のジオメトリのバウンディングボックスに重なるかどうかをテストします。ジオメトリが定義されたバウンディングボックスと空間的に交差している場合はTRUE、交差していない場合はFALSEを返します。
構文 |
intersects_bbox(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.52. is_closed
ラインストリングが閉じている(始点と終点が一致している)場合はTRUE、閉じていない場合はFALSEを返します。ジオメトリがラインストリングでない場合、結果はNULLとなります。
構文 |
is_closed(geometry) |
引数 |
|
例 |
|
13.2.13.53. is_empty
ジオメトリが空(座標なし)の場合は TRUE、ジオメトリが空でない場合は false、ジオメトリが存在しない場合は NULL を返します。is_empty_or_null も参照してください。
構文 |
is_empty(geometry) |
引数 |
|
例 |
|
参考: is_empty_or_null
13.2.13.54. is_empty_or_null
ジオメトリがNULLか空(座標値を持たない)の場合はTRUE、それ以外ならfalseを返します。この関数は、式 '$geometry IS NULL or is_empty($geometry)' と同様です
構文 |
is_empty_or_null(geometry) |
引数 |
|
例 |
|
13.2.13.55. is_multipart
マルチタイプのジオメトリならばTRUEを返します。
構文 |
is_multipart(geometry) |
引数 |
|
例 |
|
13.2.13.56. is_valid
ジオメトリが有効な場合、つまりOGCの規約に従って正しく作成された2Dジオメトリである場合にはTRUEを返します。
構文 |
is_valid(geometry) |
引数 |
|
例 |
|
参考: make_valid, 有効性チェック algorithm
13.2.13.57. $length
ラインストリングの長さを返します。ポリゴンの境界の長さを求める場合には、代わりに $perimeter を使用してください。この関数で計算される長さは、現在のプロジェクトの楕円体の設定と距離単位の設定の両方が影響します。例えば、プロジェクトに楕円体が設定されている場合、長さは楕円体長になり、楕円体が設定されていない場合は、長さは平面的に計算されます。
構文 |
$length |
例 |
|
13.2.13.58. length
文字列の文字数、またはラインストリングジオメトリの長さを返します。
文字列バージョン
文字列の文字数を返します。
構文 |
length(string) |
引数 |
|
例 |
|
ジオメトリバージョン
ラインジオメトリオブジェクトの長さを返します。計算は常にこのジオメトリの空間参照系(SRS)で平面的に計算され、長さの単位はSRSの単位と一致します。これは、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $length 関数とは異なります。
構文 |
length(geometry) |
引数 |
|
例 |
|
13.2.13.59. length3D
ラインオブジェクトのジオメトリの3次元的な長さを返します。ジオメトリが3次元ラインオブジェクトでない場合は、2次元的な長さを返します。この計算は、常にこのジオメトリの空間参照系(SRS)で平面的に計算され、長さの単位はSRSの単位と一致します。この値は、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $length 関数とは異なります。
構文 |
length3D(geometry) |
引数 |
|
例 |
|
13.2.13.60. line_interpolate_angle
ラインストリングジオメトリに沿って指定された距離にある点における、ジオメトリに平行な角度を返します。角度は度単位で、北から時計回りで測ります。
構文 |
line_interpolate_angle(geometry, distance) |
引数 |
|
例 |
|
13.2.13.61. line_interpolate_point
ラインストリングジオメトリに沿って指定された距離にある点を返します。
構文 |
line_interpolate_point(geometry, distance) |
引数 |
|
例 |
|
参考: 線上の等間隔点 アルゴリズム
13.2.13.62. line_locate_point
指定されたポイントジオメトリに最も近い位置に対応するラインストリング上の地点の、ラインストリングに沿った距離を返します。
構文 |
line_locate_point(geometry, point) |
引数 |
|
例 |
|
13.2.13.63. line_merge
入力されたジオメトリのうち、接続されているラインストリングをすべて単一のラインストリングにマージしたラインストリングまたはマルチラインストリングジオメトリを返します。引数にラインストリングやマルチラインストリング以外のジオメトリが渡された場合、この関数はNULLを返します。
構文 |
line_merge(geometry) |
引数 |
|
例 |
|
13.2.13.64. line_substring
(ラインの始点から測った)指定された開始距離と終了距離の間にあるライン(またはカーブ)ジオメトリの部分を返します。Z値とM値は既存の値から線形内挿されます。
構文 |
line_substring(geometry, start_distance, end_distance) |
引数 |
|
例 |
|
参考: ラインの一部の切り出し アルゴリズム
13.2.13.65. m
ポイントジオメトリのm値 (measure) を返します。
構文 |
m(geometry) |
引数 |
|
例 |
|
13.2.13.66. m_max
ジオメトリのm値(measure)の最大値を返します。
構文 |
m_max(geometry) |
引数 |
|
例 |
|
13.2.13.67. m_min
ジオメトリのm値(measure)の最小値を返します。
構文 |
m_min(geometry) |
引数 |
|
例 |
|
13.2.13.68. main_angle
ジオメトリを完全にカバーする最小の回転長方形の長軸の角度(北を0度として時計回り)を返します。
構文 |
main_angle(geometry) |
引数 |
|
例 |
|
13.2.13.69. make_circle
円形のポリゴンを作成します。
構文 |
make_circle(center, radius, [segments=36]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.70. make_ellipse
楕円形のポリゴンを作成します。
構文 |
make_ellipse(center, semi_major_axis, semi_minor_axis, azimuth, [segments=36]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.71. make_line
一連のポイントジオメトリからラインジオメトリを作成します。
引数バージョン
ラインの頂点は、関数の引数として個別に指定します。
構文 |
make_line(point1, point2, ...) |
引数 |
|
例 |
|
配列バージョン
線の頂点は、ポイントの配列として指定します。
構文 |
make_line(array) |
引数 |
|
例 |
|
13.2.13.72. make_point
xとyの値(とオプションでz値とm値)を指定して、ポイントジオメトリを作成します。
構文 |
make_point(x, y, [z], [m]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.73. make_point_m
x, y座標およびm値からポイントジオメトリを作成します。
構文 |
make_point_m(x, y, m) |
引数 |
|
例 |
|
13.2.13.74. make_polygon
外側のリングジオメトリおよび一連の内側リングジオメトリ(オプション)から、ポリゴンジオメトリを作成します。
構文 |
make_polygon(outerRing, [innerRing1], [innerRing2], ...) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.75. make_rectangle_3points
3点を指定して長方形を作成します。
構文 |
make_rectangle_3points(point1, point2, point3, [option=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.76. make_regular_polygon
正多角形を作成します。
構文 |
make_regular_polygon(center, radius, number_sides, [circle=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.77. make_square
対角線を指定して正方形を作成します。
構文 |
make_square(point1, point2) |
引数 |
|
例 |
|
13.2.13.78. make_triangle
三角形のポリゴンを作成します。
構文 |
make_triangle(point1, point2, point3) |
引数 |
|
例 |
|
13.2.13.79. make_valid
有効なジオメトリ、またはジオメトリを有効にできない場合は空のジオメトリを返します。
構文 |
make_valid(geometry, [method=structure], [keep_collapsed=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.80. minimal_circle
ジオメトリの最小包囲円を返します。すべてのジオメトリを包み込む最小の円を表します。
構文 |
minimal_circle(geometry, [segments=36]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: 最小包含円 アルゴリズム
13.2.13.81. nodes_to_points
入力ジオメトリのすべてのノードからなるマルチポイントジオメトリを返します。
構文 |
nodes_to_points(geometry, [ignore_closing_nodes=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: 頂点を抽出 アルゴリズム
13.2.13.82. num_geometries
ジオメトリコレクションに含まれるジオメトリの数、またはマルチパーツジオメトリに含まれるパーツの数を返します。入力ジオメトリがコレクションでない場合、この関数はNULLを返します。
構文 |
num_geometries(geometry) |
引数 |
|
例 |
|
13.2.13.83. num_interior_rings
ポリゴンまたはジオメトリコレクション中の内側のリングの数を返します。ポリゴンでもジオメトリコレクションでもない場合、NULLを返します。
構文 |
num_interior_rings(geometry) |
引数 |
|
例 |
|
13.2.13.84. num_points
ジオメトリの頂点数を返します。
構文 |
num_points(geometry) |
引数 |
|
例 |
|
13.2.13.85. num_rings
ポリゴンまたはジオメトリコレクション中のリング(外側のリングを含む)の数を返します。ポリゴンでもジオメトリコレクションでもない場合、NULLを返します。
構文 |
num_rings(geometry) |
引数 |
|
例 |
|
13.2.13.86. offset_curve
ラインストリングジオメトリを側面方向にオフセットさせたジオメトリを返します。距離はこのジオメトリの空間参照系の単位です。
構文 |
offset_curve(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: オフセット線 アルゴリズム
13.2.13.87. order_parts
与えられた基準によってマルチジオメトリのパートを並べ替えます。
構文 |
order_parts(geometry, orderby, [ascending=true]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.88. oriented_bbox
入力ジオメトリに対して最小となる回転バウンディングボックスのジオメトリを返します。
構文 |
oriented_bbox(geometry) |
引数 |
|
例 |
|
参考: 最小の回転長方形 アルゴリズム
13.2.13.89. overlaps
あるジオメトリがもう一つのジオメトリにオーバーラップするかどうかをテストします。ジオメトリが空間を共有していて、同じ次元であり、かつ、互いが完全に含まれない場合にTRUEを返します。
構文 |
overlaps(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.90. overlay_contains
現在の地物が対象レイヤの少なくとも1つの地物を空間的に含んでいるかどうか、または、現在の地物に含まれる対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Contains" 述語については、PostGISの ST_Contains 関数の説明を参照してください。
構文 |
overlay_contains(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.91. overlay_crosses
現在の地物が対象レイヤの少なくとも1つの地物と空間的にクロスしているかどうか、または、現在の地物とクロスする対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Crosses" 述語については、PostGISの ST_Crosses 関数の説明を参照してください。
構文 |
overlay_crosses(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.92. overlay_disjoint
現在の地物が対象レイヤのすべての地物と空間的に非接続であるかどうか、または、現在の地物と非接続な対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Disjoint" 述語については、PostGISの ST_Disjoint 関数の説明を参照してください。
構文 |
overlay_disjoint(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.93. overlay_equals
現在の地物が対象レイヤの少なくとも1つの地物と空間的に同じかどうか、または、現在の地物と空間的に同じ対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Equals" 述語については、PostGISの ST_Equals 関数の説明を参照してください。
構文 |
overlay_equals(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.94. overlay_intersects
現在の地物が対象レイヤの少なくとも1つの地物と空間的に交差しているかどうか、または、現在の地物と交差する対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Intersects" 述語については、PostGISの ST_Intersects 関数の説明を参照してください。
構文 |
overlay_intersects(layer, [expression], [filter], [limit], [cache=false], [min_overlap], [min_inscribed_circle_radius], [return_details], [sort_by_intersection_size]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: intersects 、 配列関数 、 場所による選択 アルゴリズム
13.2.13.95. overlay_nearest
現在の地物が対象レイヤの地物と指定された距離以内にあるかどうか、または、現在の地物から指定された距離以内にある対象レイヤの地物に関するQGIS式の結果の配列を返します。
注意: この関数は、巨大なレイヤに対しては遅く、大量のメモリを消費することがあります。
構文 |
overlay_nearest(layer, [expression], [filter], [limit=1], [max_distance], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.96. overlay_touches
現在の地物が対象レイヤの少なくとも1つの地物と空間的に接触しているかどうか、または、現在の地物と接触する対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Touches" 述語については、PostGISの ST_Touches 関数の説明を参照してください。
構文 |
overlay_touches(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.97. overlay_within
現在の地物が対象レイヤの少なくとも1つの地物に空間的に含まれているかどうか、または、現在の地物を含んでいる対象レイヤの地物に関するQGIS式の結果の配列を返します。
この関数の基礎となるGEOSの "Within" 述語については、PostGISの ST_Within 関数の説明を参照してください。
構文 |
overlay_within(layer, [expression], [filter], [limit], [cache=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.98. $perimeter
現在の地物の周長を返します。この関数で計算される周長は、現在のプロジェクトの楕円体の設定と距離単位の設定の両方が反映されます。例えば、プロジェクトに回転楕円体が設定されている場合は、計算された周長は楕円体長となり、楕円が設定されていない場合には、計算された周長は平面上の長さになります。
構文 |
$perimeter |
例 |
|
13.2.13.99. perimeter
ポリゴンオブジェクトのジオメトリの周長を返します。周長はこのジオメトリの空間参照系(SRS)で常に平面的に計算され、周長の単位は空間参照系の単位と一致します。この周長は、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $perimeter 関数による面積とは異なります。
構文 |
perimeter(geometry) |
引数 |
|
例 |
|
13.2.13.100. point_n
ジオメトリの特定のノードを返します。
構文 |
point_n(geometry, index) |
引数 |
|
例 |
|
参考: 特定の点を抽出 アルゴリズム
13.2.13.101. point_on_surface
ジオメトリの表面上に存在することが保証される点を返します。
構文 |
point_on_surface(geometry) |
引数 |
|
例 |
|
参考: 内部保証点(point on surface) アルゴリズム
13.2.13.102. pole_of_inaccessibility
ポリゴンの境界から最も離れた内部点である、ポリゴンの近似的な到達不能極を計算します。この関数は、指定された許容範囲内で真の到達不能極をみつけることが保証されている反復的手法である 'polylabel' アルゴリズム(Vladimir Agafonkin, 2016)を使用します。許容範囲を厳しくすると、より多くの反復計算が必要となり、計算時間がかかります。
構文 |
pole_of_inaccessibility(geometry, tolerance) |
引数 |
|
例 |
|
参考: 到達不能極(PIA) アルゴリズム
13.2.13.103. project
距離と、方向(方位角)および仰角をラジアン単位で指定して、始点から投影された点を返します。
構文 |
project(point, distance, azimuth, [elevation]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: 投影点(デカルト座標) アルゴリズム
13.2.13.104. relate
2つのジオメトリ間の関係の Dimensional Extended 9 Intersection Model(DE-9IM)表現を返します。
リレーションバージョン
2つのジオメトリ間の関係の Dimensional Extended 9 Intersection Model(DE-9IM)表現を返します。
構文 |
relate(geometry, geometry) |
引数 |
|
例 |
|
パターンマッチバージョン
2つのジオメトリ間のDE-9IM関係が、指定パターンに一致するかどうかをテストします。
構文 |
relate(geometry, geometry, pattern) |
引数 |
|
例 |
|
13.2.13.105. reverse
頂点の順序を逆にすることによってラインストリングの方向を反転させます。
構文 |
reverse(geometry) |
引数 |
|
例 |
|
参考: 線の向きの反転 アルゴリズム
13.2.13.106. rotate
回転したジオメトリを返します。計算はジオメトリの空間参照系で行われます。
構文 |
rotate(geometry, rotation, [center=NULL], [per_part=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.107. roundness
ポリゴン形状が円にどれだけ近いかを計算します。この関数は、ポリゴン形状が完全な円である場合に TRUE を、完全に平坦である場合に 0 を返します。
構文 |
roundness(geometry) |
引数 |
|
例 |
|
Further reading: 丸み係数 アルゴリズム
13.2.13.108. scale
拡大縮小したジオメトリを返します。計算はジオメトリの空間参照系で行われます。
構文 |
scale(geometry, x_scale, y_scale, [center]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.109. segments_to_lines
入力ジオメトリのすべてのセグメントからなるマルチラインジオメトリを返します。
構文 |
segments_to_lines(geometry) |
引数 |
|
例 |
|
参考: 線をセグメントに分解 アルゴリズム
13.2.13.111. shortest_line
geometry1とgeometry2を結合する最短のラインを返します。向きは、geometry1を始点とし、geometry2を終点とします。
構文 |
shortest_line(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.112. simplify
距離の閾値を使用してノードを削除し、ジオメトリを単純化します(Douglas Peuckerアルゴリズム)。このアルゴリズムは、ジオメトリの大きな変動は維持し、ほぼ直線のセグメント上にある頂点を減らします。
構文 |
simplify(geometry, tolerance) |
引数 |
|
例 |
|
参考: ジオメトリの簡素化 アルゴリズム
13.2.13.113. simplify_vw
面積の閾値を使ってノードを削除し、ジオメトリを単純化します(Visvalingam-Whyattアルゴリズム)。このアルゴリズムは、細長いスパイクやほぼ直線上にあるセグメントなど、非常に小さな面積を生み出す頂点を削除します。
構文 |
simplify_vw(geometry, tolerance) |
引数 |
|
例 |
|
参考: ジオメトリの簡素化 アルゴリズム
13.2.13.114. single_sided_buffer
ラインストリングの片側だけにバッファを作ったジオメトリを返します。距離単位はこのジオメトリの空間参照系の単位です。
構文 |
single_sided_buffer(geometry, distance, [segments=8], [join=1], [miter_limit=2.0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: 片側バッファ アルゴリズム
13.2.13.115. sinuosity
曲線の湾曲率、すなわち曲線の両端の(平面的な)直線距離に対する曲線長さの比率を返します。
構文 |
sinuosity(geometry) |
引数 |
|
例 |
|
13.2.13.116. smooth
ノードを追加して角を丸め、ジオメトリを滑らかにしたものを返します。入力ジオメトリにZ値またはM値が含まれている場合には、これらの値も同様に平滑化され、出力ジオメトリは入力ジオメトリと同じ次元を保ちます。
構文 |
smooth(geometry, [iterations=1], [offset=0.25], [min_length=-1], [max_angle=180]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: スムージング アルゴリズム
13.2.13.117. square_wave
ジオメトリの境界に沿って方形波/矩形波を構築します。
構文 |
square_wave(geometry, wavelength, amplitude, [strict=False]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.118. square_wave_randomized
ジオメトリの境界に沿ってランダムな方形波/矩形波を構築します。
構文 |
square_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.119. start_point
ジオメトリの最初のノードを返します。
構文 |
start_point(geometry) |
引数 |
|
例 |
|
参考: 特定の点を抽出 アルゴリズム
13.2.13.120. straight_distance_2d
ジオメトリの始点と終点の間の直線距離(ユークリッド距離)を返します。ジオメトリは曲線(円形ストリングまたはラインストリング)でなければなりません。
構文 |
straight_distance_2d(geometry) |
引数 |
|
例 |
|
参考: length
13.2.13.121. sym_difference
2つのジオメトリの、交差しない部分を表すジオメトリを返します。
構文 |
sym_difference(geometry1, geometry2) |
引数 |
|
例 |
|
参考: 対称差 アルゴリズム
13.2.13.122. tapered_buffer
ラインジオメトリに沿って、バッファの直径が均等に変化していくバッファを作成します。
構文 |
tapered_buffer(geometry, start_width, end_width, [segments=8]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: テイパードバッファ アルゴリズム
13.2.13.123. touches
あるジオメトリがもう一つのジオメトリに接するかどうかをテストします。ジオメトリが共通の点を持ち、かつ内部が交差しない場合、TRUEを返します。
構文 |
touches(geometry1, geometry2) |
引数 |
|
例 |
|
参考: overlay_touches
13.2.13.124. transform
変換元CRSから変換先CRSに変換されたジオメトリを返します。
構文 |
transform(geometry, source_auth_id, dest_auth_id) |
引数 |
|
例 |
|
参考: レイヤの再投影 アルゴリズム
13.2.13.125. translate
平行移動させたジオメトリを返します。計算はジオメトリの空間参照系で行われます。
構文 |
translate(geometry, dx, dy) |
引数 |
|
例 |
|
参考: 平行移動(translate) アルゴリズム
13.2.13.126. triangular_wave
ジオメトリの境界に沿って三角波を構築します。
構文 |
triangular_wave(geometry, wavelength, amplitude, [strict=False]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.127. triangular_wave_randomized
ジオメトリの境界に沿ってランダムな三角波を構築します。
構文 |
triangular_wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.128. union
ジオメトリのポイントの和集合を表すジオメトリを返します。
構文 |
union(geometry1, geometry2) |
引数 |
|
例 |
|
13.2.13.129. wave
ジオメトリの境界に沿って丸みを帯びた(正弦のような)波を構築します。
構文 |
wave(geometry, wavelength, amplitude, [strict=False]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.130. wave_randomized
ジオメトリの境界に沿ってランダムな曲線(正弦のような)波を構築します。
構文 |
wave_randomized(geometry, min_wavelength, max_wavelength, min_amplitude, max_amplitude, [seed=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.13.131. wedge_buffer
ポイントジオメトリを起点とするくさび形のバッファを返します。
構文 |
wedge_buffer(center, azimuth, width, outer_radius, [inner_radius=0.0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
参考: ウェッジバッファを作成 アルゴリズム
13.2.13.132. within
ジオメトリが別のジオメトリの内部にあるかどうかをテストします。geometry1が完全にgeoemtry2の内部にある場合、TRUEを返します。
構文 |
within(geometry1, geometry2) |
引数 |
|
例 |
|
参考: overlay_within
13.2.13.133. $x
現在のポイント地物のx座標を返します。マルチポイント地物の場合は、最初のポイントのx座標を返します。
構文 |
$x |
例 |
|
13.2.13.134. x
ポイントジオメトリのx座標を返します。ポイントジオメトリではない場合には、重心のx座標を返します。
構文 |
x(geometry) |
引数 |
|
例 |
|
13.2.13.135. $x_at
現在の地物のジオメトリのx座標を抜き出します。
構文 |
$x_at(i) |
引数 |
|
例 |
|
13.2.13.136. x_max
ジオメトリのx座標の最大値を返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
x_max(geometry) |
引数 |
|
例 |
|
13.2.13.137. x_min
ジオメトリのx座標の最小値を返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
x_min(geometry) |
引数 |
|
例 |
|
13.2.13.138. $y
現在のポイント地物のy座標を返します。マルチポイント地物の場合は、最初のポイントのy座標を返します。
構文 |
$y |
例 |
|
13.2.13.139. y
ポイントジオメトリのy座標を返します。ポイントジオメトリではない場合には、重心のy座標を返します。
構文 |
y(geometry) |
引数 |
|
例 |
|
13.2.13.140. $y_at
現在の地物のジオメトリのy座標を抜き出します。
構文 |
$y_at(i) |
引数 |
|
例 |
|
13.2.13.141. y_max
ジオメトリのy座標の最大値を返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
y_max(geometry) |
引数 |
|
例 |
|
13.2.13.142. y_min
ジオメトリのy座標の最小値を返します。計算はこのジオメトリの空間参照系で行われます。
構文 |
y_min(geometry) |
引数 |
|
例 |
|
13.2.13.143. $z
地物が3Dの場合に、現在のポイント地物のz座標を返します。マルチポイント地物の場合は、最初のポイントのz座標を返します。
構文 |
$z |
例 |
|
13.2.13.144. z
ポイントジオメトリのz座標を返します。ジオメトリがz座標値を持たない場合、NULLを返します。
構文 |
z(geometry) |
引数 |
|
例 |
|
13.2.13.145. z_max
ジオメトリのz座標の最大値を返します。z座標値を持たない場合、NULLを返します。
構文 |
z_max(geometry) |
引数 |
|
例 |
|
13.2.13.146. z_min
ジオメトリのz座標の最小値を返します。z座標値を持たない場合、NULLを返します。
構文 |
z_min(geometry) |
引数 |
|
例 |
|
13.2.14. レイアウト関数
このグループには、印刷レイアウトアイテムのプロパティを操作する関数が含まれます。
13.2.14.1. item_variables
この印刷レイアウト内にあるレイアウトアイテムから、変数をマップ型オブジェクトとして返します。
構文 |
item_variables(id) |
引数 |
|
例 |
|
参考:デフォルトの 変数 のリスト
13.2.14.2. map_credits
レイアウトの地図アイテムに表示されているレイヤのクレジット(使用権)文字列のリストを返します。
構文 |
map_credits(id, [include_layer_names=false], [layer_name_separator=': ']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
この関数は、レイヤの 「アクセス」メタデータプロパティ が入力されていることを必要とします。
13.2.15. 地図レイヤ
このグループには、現在のプロジェクトで利用可能なレイヤーのリストと、各レイヤーのフィールド(データセットに格納されているもの、仮想または補助的なもの、および結合によるもの)が含まれます。フィールドは フィールドと値 で述べたのと同じように操作することができます。ただし、ダブルクリックすると、フィールドの参照としてではなく、文字列(シングルクォート)として式に追加されます(アクティブレイヤに属さないため)。これは、 aggregates、 attribute、 spatial のクエリを実行するときなど、異なるレイヤーを参照する式を書くのに便利な方法となります。
また、このグループにはレイヤを操作するための便利な関数もあります。
13.2.15.1. decode_uri
レイヤを引数にとり、元のデータプロバイダのuriをデコードします。どのデータが利用できるかは、データプロバイダに依存します。
構文 |
decode_uri(layer, [part]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.15.2. layer_property
該当するレイヤのプロパティまたはメタデータの値を返します。
構文 |
layer_property(layer, property) |
引数 |
|
例 |
|
13.2.16. マップ関数
このグループには、キーと値によるマップ型のデータ構造(辞書オブジェクト、キー・バリューのペア、連想配列とも呼ばれます)の作成と操作のための関数が含まれます。値の順序が重要な リストデータ構造 とは異なり、マップ型オブジェクトにおけるキーと値のペアの順番は重要ではなく、値はそのキーによって識別されます。
13.2.16.1. from_json
JSON 形式の文字列を読み込みます。
構文 |
from_json(string) |
引数 |
|
例 |
|
13.2.16.2. hstore_to_map
hstore形式の文字列をマップ型オブジェクトに変換します。
構文 |
hstore_to_map(string) |
引数 |
|
例 |
|
13.2.16.3. map
パラメータのペアとして渡された、すべてのキーと値のマップ型オブジェクトを返します。
構文 |
map(key1, value1, key2, value2, ...) |
引数 |
|
例 |
|
13.2.16.4. map_akeys
マップ型オブジェクトのすべてのキーを、配列として返します。
構文 |
map_akeys(map) |
引数 |
|
例 |
|
13.2.16.5. map_avals
マップ型オブジェクトのすべての値を、配列として返します。
構文 |
map_avals(map) |
引数 |
|
例 |
|
13.2.16.6. map_concat
与えられたマップ型の全てのエントリを含むマップ型オブジェクトを返します。2つのマップ型オブジェクトに同じキーが含まれている場合、値は後者のマップ型のものが採用されます。
構文 |
map_concat(map1, map2, ...) |
引数 |
|
例 |
|
13.2.16.7. map_delete
指定されたキーとこれに対応する値が削除されたマップ型オブジェクトを返します。
構文 |
map_delete(map, key) |
引数 |
|
例 |
|
13.2.16.8. map_exist
指定されたキーがマップ型オブジェクトに存在する場合、TRUEを返します。
構文 |
map_exist(map, key) |
引数 |
|
例 |
|
13.2.16.9. map_get
マップ型オブジェクトのキーで指定された値を返します。存在しないキーの場合はNULLを返します。
構文 |
map_get(map, key) |
引数 |
|
例 |
|
ヒント
マップ型から値を取得するには インデックス演算子 ([]) も使用できます。
13.2.16.10. map_insert
キーと値が追加されたマップ型オブジェクトを返します。キーが既に存在する場合は、その値が上書きされます。
構文 |
map_insert(map, key, value) |
引数 |
|
例 |
|
13.2.16.11. map_prefix_keys
すべてのキーが与えられた文字列でプリフィックスされたマップを返します。
構文 |
map_prefix_keys(map, prefix) |
引数 |
|
例 |
|
13.2.16.12. map_to_hstore
マップ型オブジェクトをhstore形式の文字列に変換します。
構文 |
map_to_hstore(map) |
引数 |
|
例 |
|
13.2.16.13. to_json
マップ型オブジェクトや配列、その他の値などから、JSON文字列を作成します。
構文 |
to_json(value) |
引数 |
|
例 |
|
13.2.16.14. url_encode
マップから URL エンコードされた文字列を返します。すべての文字を適切にエンコードした形で変換し、完全準拠のクエリ文字列を生成します。
プラス記号 '+' は変換されないことに注意してください。
構文 |
url_encode(map) |
引数 |
|
例 |
|
13.2.17. 数学関数
このグループには、数学関数(例えば平方根や sin、cosなど)が含まれます。
13.2.17.1. abs
数値の絶対値を返します。
構文 |
abs(value) |
引数 |
|
例 |
|
13.2.17.2. acos
逆余弦(アークコサイン)をラジアンで返します。
構文 |
acos(value) |
引数 |
|
例 |
|
13.2.17.3. asin
逆正弦(アークサイン)をラジアンで返します。
構文 |
asin(value) |
引数 |
|
例 |
|
13.2.17.4. atan
逆正接(アークタンジェント)をラジアンで返します。
構文 |
atan(value) |
引数 |
|
例 |
|
13.2.17.5. atan2
2つの引数の符号を用いて象限を決定し、dy/dxの逆正接(アークタンジェント)を返します。
構文 |
atan2(dy, dx) |
引数 |
|
例 |
|
13.2.17.6. ceil
数値を上に丸めた値を返します。
構文 |
ceil(value) |
引数 |
|
例 |
|
13.2.17.7. clamp
入力値を指定の範囲に制限した値を返します。
構文 |
clamp(minimum, input, maximum) |
引数 |
|
例 |
|
13.2.17.8. cos
角度の余弦(コサイン)を返します。
構文 |
cos(angle) |
引数 |
|
例 |
|
13.2.17.9. degrees
ラジアンから度に変換します。
構文 |
degrees(radians) |
引数 |
|
例 |
|
13.2.17.10. exp
自然対数の底(ネイピア数)のべき乗を返します。
構文 |
exp(value) |
引数 |
|
例 |
|
13.2.17.11. floor
数値を下に丸めた値を返します。
構文 |
floor(value) |
引数 |
|
例 |
|
13.2.17.12. ln
自然対数を返します。
構文 |
ln(value) |
引数 |
|
例 |
|
13.2.17.13. log
指定した底の対数を返します。
構文 |
log(base, value) |
引数 |
|
例 |
|
13.2.17.14. log10
10を底とする、常用対数を返します。
構文 |
log10(value) |
引数 |
|
例 |
|
13.2.17.15. max
最大値を返します。
構文 |
max(value1, value2, ...) |
引数 |
|
例 |
|
13.2.17.16. min
最小値を返します。
構文 |
min(value1, value2, ...) |
引数 |
|
例 |
|
13.2.17.17. pi
円周率を返します。
構文 |
pi() |
例 |
|
13.2.17.18. radians
角度をラジアンに変換します。
構文 |
radians(degrees) |
引数 |
|
例 |
|
13.2.17.19. rand
最小値と最大値の引数で指定された範囲内(境界値を含む)の、ランダムな整数を返します。乱数のシードを指定する場合、値はシードに応じて常に同じ値となります。
構文 |
rand(min, max, [seed=NULL]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.17.20. randf
最小値と最大値の引数で指定された範囲内(境界値を含む)の、ランダムな浮動小数点数を返します。乱数のシードを指定する場合、値はシードに応じて常に同じ値となります。
構文 |
randf([min=0.0], [max=1.0], [seed=NULL]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.17.21. round
指定した小数点以下の桁数になるように四捨五入した数値を返します。
構文 |
round(value, [places=0]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.17.22. scale_exp
指数曲線を用いて、与えられた値を入力範囲から出力範囲に変換します。この関数は、指定された出力範囲へ値をイージングするために使用します。
構文 |
scale_exp(value, domain_min, domain_max, range_min, range_max, exponent) |
引数 |
|
例 |
|
13.2.17.23. scale_linear
線形補間を用いて、与えられた値を入力範囲から出力範囲に変換します。
構文 |
scale_linear(value, domain_min, domain_max, range_min, range_max) |
引数 |
|
例 |
|
13.2.17.24. sin
角度の正弦(サイン)を返します。
構文 |
sin(angle) |
引数 |
|
例 |
|
13.2.17.25. sqrt
平方根を返します。
構文 |
sqrt(value) |
引数 |
|
例 |
|
13.2.17.26. tan
角度の正接(タンジェント)を返します。
構文 |
tan(angle) |
引数 |
|
例 |
|
13.2.18. メッシュ関数
このグループには、メッシュに関連した値を計算したり返したりする関数が含まれます。
13.2.18.1. $face_area
現在のメッシュ面の面積を返します。この関数で計算される面積には、現在のプロジェクトの楕円体設定と面積単位設定の両方が反映されます。例えば、プロジェクトに回転楕円体が設定されている場合、楕円体面積になり、設定されていない場合、平面上の面積になります。
構文 |
$face_area |
例 |
|
13.2.18.2. $face_index
現在のメッシュ面のインデックスを返します。
構文 |
$face_index |
例 |
|
13.2.18.3. $vertex_as_point
現在の頂点をポイントジオメトリとして返します。
構文 |
$vertex_as_point |
例 |
|
13.2.18.4. $vertex_index
現在のメッシュ頂点のインデックスを返します。
構文 |
$vertex_index |
例 |
|
13.2.18.5. $vertex_x
現在のメッシュ頂点のx座標を返します。
構文 |
$vertex_x |
例 |
|
13.2.18.6. $vertex_y
現在のメッシュ頂点のy座標を返します。
構文 |
$vertex_y |
例 |
|
13.2.18.7. $vertex_z
現在のメッシュ頂点のz座標を返します。
構文 |
$vertex_z |
例 |
|
13.2.19. 演算子
このグループには演算子が含まれています(例えば、+、 - 、*)。以下の数学関数のほとんどについて、入力の一つがNULLである場合は結果はNULLであることに注意してください。
13.2.19.1. %
除算の余り。被除数の符号をとる。
構文 |
a % b |
引数 |
|
例 |
|
13.2.19.2. *
2つの値の乗算
構文 |
a * b |
引数 |
|
例 |
|
13.2.19.3. +
2つの値の加算。いずれかの値がNULLの場合、結果はNULLになります。
構文 |
a + b |
引数 |
|
例 |
|
13.2.19.4. -
2つの値の減算。いずれかの値がNULLの場合、結果はNULLになります。
構文 |
a - b |
引数 |
|
例 |
|
13.2.19.5. /
2つの値の除算
構文 |
a / b |
引数 |
|
例 |
|
13.2.19.6. <
2つの値を比較し、左の値が右の値より小さい場合、1 と評価されます。
構文 |
a < b |
引数 |
|
例 |
|
13.2.19.7. <=
2つの値を比較し、左の値が右の値より小さいか等しい場合、1 と評価されます。
構文 |
a <= b |
引数 |
|
例 |
|
13.2.19.8. <>
2つの値を比較し、両者が等しくない場合、1 と評価されます。
構文 |
a <> b |
引数 |
|
例 |
|
13.2.19.9. =
2つの値を比較し、両者が等しい場合、1 と評価されます。
構文 |
a = b |
引数 |
|
例 |
|
13.2.19.10. >
2つの値を比較し、左の値が右の値より大きい場合、1 と評価されます。
構文 |
a > b |
引数 |
|
例 |
|
13.2.19.11. >=
2つの値を比較し、左の値が右の値より大きいか等しい場合、1 と評価されます。
構文 |
a >= b |
引数 |
|
例 |
|
13.2.19.12. AND
条件式 a と条件式 b がともに true である場合に TRUE を返します。
構文 |
a AND b |
引数 |
|
例 |
|
13.2.19.13. BETWEEN
値が指定された範囲内にあるとき、TRUE を返します。範囲は、境界を含むとみなされます。除外を調べるには、NOT BETWEENを使うことができます。
構文 |
value BETWEEN lower_bound AND higher_bound |
引数 |
|
例 |
|
注釈
value BETWEEN lower_bound AND higher_bound は "value >= lower_bound AND value <= higher_bound" と同じです。
参考: NOT BETWEEN
13.2.19.14. ILIKE
最初の引数が与えられたパターンと大文字・小文字を区別せずに一致する場合に TRUE を返します。マッチングで大文字・小文字を区別する場合には、ILIKE の代わりに LIKE を使用してください。数値にも対応しています。
構文 |
string/number ILIKE pattern |
引数 |
|
例 |
|
13.2.19.15. IN
リストの中に値が見つかった場合に TRUE を返します。
構文 |
a IN b |
引数 |
|
例 |
|
13.2.19.16. IS
a と b が同じ場合に TRUE を返します。
構文 |
a IS b |
引数 |
|
例 |
|
13.2.19.17. IS NOT
a と b が同じではない場合に TRUEを返します。
構文 |
a IS NOT b |
引数 |
|
例 |
|
13.2.19.18. LIKE
最初の引数が与えられたパターンと一致する場合に TRUEを返します。数値にも対応しています。
構文 |
string/number LIKE pattern |
引数 |
|
例 |
|
13.2.19.19. NOT
条件式の否定を返します。
構文 |
NOT a |
引数 |
|
例 |
|
13.2.19.20. NOT BETWEEN
値が指定された範囲内にない場合、TRUE を返します。範囲は、境界を含むとみなされます。
構文 |
value NOT BETWEEN lower_bound AND higher_bound |
引数 |
|
例 |
|
注釈
value NOT BETWEEN lower_bound AND higher_bound は "value < lower_bound OR value > higher_bound" と同じです。
参考: BETWEEN
13.2.19.21. OR
条件式 a、条件式 b のいずれかが true である場合に TRUE を返します。
構文 |
a OR b |
引数 |
|
例 |
|
13.2.19.22. []
インデックス演算子です。配列の要素やマップ型の値を返します。
構文 |
[index] |
引数 |
|
例 |
|
13.2.19.23. ^
2つの値の累乗。
構文 |
a ^ b |
引数 |
|
例 |
|
13.2.19.24. ||
2つの値を連結して文字列にします。
いずれかの値がNULLの場合、結果はNULLになります。動作が異なるconcat 関数についても参照してください。
構文 |
a || b |
引数 |
|
例 |
|
13.2.19.25. ~
文字列に対して正規表現のマッチングを実行します。バックスラッシュ文字は二重にエスケープする必要があります(例:空白文字に一致させるには "\\s" )
構文 |
string ~ regex |
引数 |
|
例 |
|
参考: regexp_match
13.2.20. プロセシング関数
このグループには、プロセシングアルゴリズムで使用できる関数が含まれます。
13.2.20.1. parameter
プロセシングアルゴリズムの入力パラメータの値を返します。
構文 |
parameter(name) |
引数 |
|
例 |
|
13.2.21. ラスタ関数
このグループには、ラスタレイヤを操作するための関数が含まれます。
13.2.21.1. raster_statistic
ラスタレイヤの統計値を返します。
構文 |
raster_statistic(layer, band, property) |
引数 |
|
例 |
|
13.2.21.2. raster_value
指定された点のラスタ値を返します。
構文 |
raster_value(layer, band, point) |
引数 |
|
例 |
|
13.2.22. レコードと属性関数
このグループには、レコード識別子を操作する関数が含まれます。
13.2.22.1. attribute
地物の属性を返します。
バージョン1
現在の地物の属性値を返します。
構文 |
attribute(attribute_name) |
引数 |
|
例 |
|
バージョン2
指定された地物の属性値を返します。
構文 |
attribute(feature, attribute_name) |
引数 |
|
例 |
|
13.2.22.2. attributes
属性名をキーとする、地物のすべての属性を含むマップ型オブジェクトを返します。
バージョン1
現在の地物の全属性をマップ型オブジェクトとして返します。
構文 |
attributes() |
例 |
|
バージョン2
ターゲットとする地物を指定できます。
構文 |
attributes(feature) |
引数 |
|
例 |
|
参考: マップ関数
13.2.22.3. $currentfeature
現在評価されている地物を返します。'attribute' 関数と併用することで、現在の地物から属性値を評価することができます。警告: この関数は非推奨です。代わりに代替の@feature変数を使用することが推奨されます。
構文 |
$currentfeature |
例 |
|
13.2.22.4. display_expression
指定された地物の表示式を返します。式はデフォルトで評価されます。0個、1個、または2個以上の引数をとることができ、詳しくは以下の通りです。
引数なしバージョン
引数なしで関数を呼んだ場合、関数は現在のレイヤの現在の地物の表示式を評価します。
構文 |
display_expression() |
例 |
|
引数が地物1つのバージョン
地物だけを引数として関数を呼んだ場合、関数は現在のレイヤの指定された地物の表示式を評価します。
構文 |
display_expression(feature) |
引数 |
|
例 |
|
レイヤと地物の引数バージョン
レイヤと地物の両方を引数にとって関数を呼んだ場合、関数は指定されたレイヤの指定された地物の表示式を評価します。
構文 |
display_expression(layer, feature, [evaluate=true]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.22.5. get_feature
指定された属性値にマッチした最初の地物を返します。
単独の値のバージョン
レイヤID、および、ひとつの列と値を指定します。
構文 |
get_feature(layer, attribute, value) |
引数 |
|
例 |
|
マップ型バージョン
レイヤID、および、使用する列(キー)とその値を含むマップ
構文 |
get_feature(layer, attribute) |
引数 |
|
例 |
|
13.2.22.6. get_feature_by_id
IDで指定した地物を返します。
構文 |
get_feature_by_id(layer, feature_id) |
引数 |
|
例 |
|
参考: $id
13.2.22.7. $id
現在の行の地物IDを返します。警告: この関数は非推奨です。代わりに代替の@id変数を使用することをお勧めします。
構文 |
$id |
例 |
|
13.2.22.8. is_selected
地物が選択されている場合にTRUEを返します。0個、1個、または2個の引数をとることができ、詳しくは以下の通りです。
引数なしバージョン
引数なしで関数を呼んだ場合、関数は現在のレイヤの現在の地物が選択されている場合にTRUEを返します。
構文 |
is_selected() |
例 |
|
引数が地物1つのバージョン
'feature' だけを引数として関数を呼んだ場合、関数は現在のレイヤの指定された地物が選択されている場合にTRUEを返します。
構文 |
is_selected(feature) |
引数 |
|
例 |
|
引数が2つのバージョン
レイヤと地物の両方を引数にとって関数を呼んだ場合、関数は指定されたレイヤの指定された地物が選択されている場合にTRUEを返します。
構文 |
is_selected(layer, feature) |
引数 |
|
例 |
|
13.2.22.9. maptip
指定された地物のTipを返します。式はデフォルトで評価されます。0個、1個、または2個以上の引数をとることができ、詳しくは以下の通りです。
引数なしバージョン
引数なしで関数を呼んだ場合、関数は現在のレイヤの現在の地物のTipを評価します。
構文 |
maptip() |
例 |
|
引数が地物1つのバージョン
地物だけを引数として関数を呼んだ場合、関数は現在のレイヤの指定された地物の表示式を評価します。
構文 |
maptip(feature) |
引数 |
|
例 |
|
レイヤと地物の引数バージョン
レイヤと地物の両方を引数にとって関数を呼んだ場合、関数は指定されたレイヤの指定された地物の表示式を評価します。
構文 |
maptip(layer, feature, [evaluate=true]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.22.10. num_selected
指定されたレイヤで選択されている地物の数を返します。デフォルトでは、式が評価されるレイヤ上で動作します。
構文 |
num_selected([layer=current layer]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.22.11. represent_attributes
属性名をキーとし、設定された表現値を値とするマップを返します。属性の表現値は、各属性に設定されているウィジェットタイプに依存します。 0個、1個、またはそれ以上の引数とともに使用することができます。詳細は以下をご覧ください。
引数なしバージョン
パラメータなしで呼び出された場合、この関数は、現在のレイヤの地物の属性の表現を返します。
構文 |
represent_attributes() |
例 |
|
引数が地物1つのバージョン
'feature' パラメータだけで呼び出した場合、関数は現在のレイヤから指定された地物の属性の表現を返します。
構文 |
represent_attributes(feature) |
引数 |
|
例 |
|
レイヤと地物の引数バージョン
'layer' と 'feature' パラメータで呼び出した場合、関数は指定されたレイヤから指定された地物の属性の表現を返します。
構文 |
represent_attributes(layer, feature) |
引数 |
|
例 |
|
参考: represent_value
13.2.22.12. represent_value
フィールド値に設定された表現値を返します。結果はウィジェットのタイプによって異なります。多くの場合、この関数は「バリューマップ」ウィジェットで便利です。
構文 |
represent_value(value, [fieldName]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.22.13. sqlite_fetch_and_increment
SQLite データベースの自動インクリメントを管理します。
SQLite のデフォルト値はinsert 時にしか適用されず、先読みすることはできません。
このため、データベースに行を作成する前にAUTO_INCREMENTでインクリメントされた主キーを取得することはできません。補足:postgresでは、 デフォルト値を評価する オプションでこれが可能です。
リレーションを持つ新たな地物を追加する際、親地物のフォームがまだ開いていてコミットされていない状態でも、親に子を追加することができると便利です。
この制限を回避するため、gpkg のようなsqliteベースの形式で、この関数を使用してシーケンス値を別のテーブルで管理できます。
シーケンステーブルはシーケンスIDに対してフィルタリングされ(filter_attribute と filter_value)、 id_field の現在の値に1増やした値が返されます。
別のカラムで値を指定する必要がある場合には、default_values マップを使用できます。
注意
この関数はターゲットのSQLiteテーブルを更新します。これは、各属性のデフォルト値設定を使用することが想定されているためです。
データベースのパラメータがレイヤで、レイヤがトランザクションモードの場合、値はトランザクション期間中に一度だけ取得され、キャッシュされて値がインクリメントされます。このため、同じデータベース上で複数のプロセスから並列に作業することは安全ではありません。
構文 |
sqlite_fetch_and_increment(database, table, id_field, filter_attribute, filter_value, [default_values]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.22.14. uuid
Qtの QUuid::createUuid メソッドを使用して、テーブルの各行のUUID(Universally Unique Identifier)を生成します。
構文 |
uuid([format='WithBraces']) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.23. リレーション
このグループには、このプロジェクトで利用可能な リレーション のリストとその説明が含まれています。このグループは(例えば relation_aggregate 関数を使って)式を書く際やフォームをカスタマイズする際に、リレーションIDに素早くアクセスすることができます。
13.2.24. 文字列関数
このグループには、文字列を操作する関数が含まれます(置換、大文字に変換など)。
13.2.24.1. ascii
文字列の最初の文字のunicode番号を返します。
構文 |
ascii(string) |
引数 |
|
例 |
|
13.2.24.2. char
unicode番号に対応した文字を返します。
構文 |
char(code) |
引数 |
|
例 |
|
13.2.24.3. concat
複数の文字列を1つに結合したものを返します。NULL値は空文字列に変換されます。その他の値(数値など)は文字列に変換されます。
構文 |
concat(string1, string2, ...) |
引数 |
|
例 |
|
フィールド連結について
文字列やフィールド値の連結には ||
や +
演算子を使用することもできますが、これらにはいくつか特性があります。
+
演算子は式の合計も意味するので、整数(フィールドや数値)オペランドがある場合にはエラーを起こしやすく、他の演算子を使用する方が良いでしょう:'My feature id is: ' + "gid" => triggers an error as gid returns an integer
引数のどれかがNULL値の場合、
||
や+
はNULLを返します。NULL値の有無に関わらず、その他の引数の結合を返したい場合には、concat
関数を使用するのが良いでしょう:'My feature id is: ' + NULL ==> NULL 'My feature id is: ' || NULL => NULL concat('My feature id is: ', NULL) => 'My feature id is: '
13.2.24.4. format
指定された引数を用いて文字列をフォーマットします。
構文 |
format(string, arg1, arg2, ...) |
引数 |
|
例 |
|
13.2.24.5. format_date
日付型または文字列をカスタム書式文字列でフォーマットします。Qtの date/time フォーマット文字列を使用します。詳細は QDateTime::toString を参照してください。
構文 |
format_date(datetime, format, [language]) 記号[]は、オプションの引数を意味します。 |
||||||||||||||||||||||||||||||||||||||||||||||||
引数 |
|
||||||||||||||||||||||||||||||||||||||||||||||||
例 |
|
13.2.24.6. format_number
3桁毎にロケールの桁区切り文字で区切られた数字を返します。デフォルトでは、現在のQGISユーザーのロケールが使用されます。また、指定された桁数で小数点以下の桁数をそろえます。
構文 |
format_number(number, [places=0], [language], [omit_group_separators=false], [trim_trailing_zeroes=false]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.24.7. left
文字列の左から n 文字分の部分文字列を返します。
構文 |
left(string, length) |
引数 |
|
例 |
|
13.2.24.8. length
文字列の文字数、またはラインストリングジオメトリの長さを返します。
文字列バージョン
文字列の文字数を返します。
構文 |
length(string) |
引数 |
|
例 |
|
ジオメトリバージョン
ラインジオメトリオブジェクトの長さを返します。計算は常にこのジオメトリの空間参照系(SRS)で平面的に計算され、長さの単位はSRSの単位と一致します。これは、プロジェクトの楕円体と距離単位設定にもとづいた楕円体計算が行われる $length 関数とは異なります。
構文 |
length(geometry) |
引数 |
|
例 |
|
13.2.24.9. lower
文字列を小文字に変換します。
構文 |
lower(string) |
引数 |
|
例 |
|
13.2.24.10. lpad
文字列の左側を指定文字で詰め、指定した幅にした文字列を返します。指定した幅が文字列の長さよりも小さい場合、文字列は切り詰められます。
構文 |
lpad(string, width, fill) |
引数 |
|
例 |
|
13.2.24.11. regexp_match
unicode文字列内で正規表現にマッチする最初の位置を返します。部分文字列が見つからない場合、0を返します。
構文 |
regexp_match(input_string, regex) |
引数 |
|
例 |
|
13.2.24.12. regexp_replace
正規表現を用いて置き換えた文字列を返します。
構文 |
regexp_replace(input_string, regex, replacement) |
引数 |
|
例 |
|
13.2.24.13. regexp_substr
正規表現にマッチする文字列の一部を返します。
構文 |
regexp_substr(input_string, regex) |
引数 |
|
例 |
|
13.2.24.14. replace
文字列を指定した別の文字列、配列またはマップ型オブジェクトで置換した文字列を返します。
文字列・配列バージョン
指定された文字列または文字列の配列を、別の文字列または文字列の配列で置換した文字列を返します。
構文 |
replace(string, before, after) |
引数 |
|
例 |
|
マップ型バージョン
与えられたマップ型を使用して、キーを対となる値で置き換えた文字列を返します。より長いキー文字列が最初に評価されます。
構文 |
replace(string, map) |
引数 |
|
例 |
|
13.2.24.15. right
文字列の右から n 文字分の部分文字列を返します。
構文 |
right(string, length) |
引数 |
|
例 |
|
13.2.24.16. rpad
文字列の右側を指定文字で詰め、指定した幅にした文字列を返します。指定した幅が文字列の長さよりも小さい場合、文字列は切り詰められます。
構文 |
rpad(string, width, fill) |
引数 |
|
例 |
|
13.2.24.17. strpos
文字列中で部分文字列が最初にマッチする位置を返します。部分文字列が見つからなければ、0を返します。
構文 |
strpos(haystack, needle) |
引数 |
|
例 |
|
13.2.24.18. substr
文字列の一部分を返します。
構文 |
substr(string, start, [length]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.24.19. title
文字列の全ての単語をタイトルケース(先頭が大文字で後に小文字が続く)に変換します。
構文 |
title(string) |
引数 |
|
例 |
|
13.2.24.20. to_string
数値を文字列に変換します。
構文 |
to_string(number) |
引数 |
|
例 |
|
13.2.24.21. trim
文字列の先頭と末尾から全てのホワイトスペース(空白文字、タブ等)を削除します。
構文 |
trim(string) |
引数 |
|
例 |
|
13.2.24.22. upper
文字列を大文字に変換します。
構文 |
upper(string) |
引数 |
|
例 |
|
13.2.24.23. wordwrap
指定した最大・最小文字数に合わせて改行した文字列を返します。
構文 |
wordwrap(string, wrap_length, [delimiter_string]) 記号[]は、オプションの引数を意味します。 |
引数 |
|
例 |
|
13.2.25. ユーザー式
このグループには、 ユーザー保存式 として保存された式が含まれます。
13.2.26. 変数
このグループには、アプリケーションやプロジェクトファイル、その他の設定に関連した動的な変数が含まれます。変数が使用できるかどうかは、利用される状況によって異なります。
式の中でこれらの変数を使用するには、変数の先頭に @
文字を付ける必要があります(例: @row_number
)
変数 |
説明 |
---|---|
algorithm_id |
アルゴリズムのユニークID |
animation_end_time |
アニメーションの時間範囲全体の終了日時(datetime値) |
animation_interval |
アニメーションの時間範囲全体の長さ(interval値) |
animation_start_time |
アニメーションの時間範囲全体の開始日時(datetime値) |
atlas_feature |
現在の地図帳地物(地物オブジェクト) |
atlas_featureid |
現在の地図帳地物ID |
atlas_featurenumber |
レイアウト内の現在の地図帳地物の番号 |
atlas_filename |
現在の地図帳のファイル名 |
atlas_geometry |
現在の地図帳地物のジオメトリ |
atlas_layerid |
現在の地図帳カバレッジレイヤのID |
atlas_layername |
現在の地図帳カバレッジレイヤのレイヤ名 |
atlas_pagename |
現在の地図帳のページ名 |
atlas_totalfeatures |
地図帳地物の総数 |
canvas_cursor_point |
キャンバス上の最後のカーソル位置(プロジェクトの地理座標) |
cluster_color |
クラスタ内のシンボルの色。シンボルに色が混在している場合はNULL |
cluster_size |
クラスタ内に含まれるシンボル数 |
current_feature |
属性フォームまたはテーブル行で現在編集中の地物 |
current_geometry |
属性フォームまたはテーブル行で現在編集中の地物のジオメトリ |
current_parent_feature |
親フォームで現在編集中の地物を表す変数。埋め込みフォームでのみ使用可能。 |
current_parent_geometry |
親フォームで現在編集中の地物のジオメトリを表す変数。埋め込みフォームでのみ使用可能。 |
form_mode |
フォームを使う対象。文字列で AddFeatureMode, SingleEditMode, MultiEditMode, SearchMode, AggregateSearchMode または IdentifyMode のいずれか。 |
feature |
評価されている現在の地物。この関数を 'attribute' 関数と共に使用すると、現在の地物の属性値を評価できます。 |
frame_duration |
各アニメーションフレームの時間の長さ(interval値) |
frame_number |
アニメーション再生時の現在のフレーム番号 |
frame_rate |
アニメーション再生時の1秒あたりフレーム数 |
fullextent_maxx |
全キャンバス領域でのx最大値(全レイヤ) |
fullextent_maxy |
全キャンバス領域でのy最大値(全レイヤ) |
fullextent_minx |
全キャンバス領域でのx最小値(全レイヤ) |
fullextent_miny |
全キャンバス領域でのy最小値(全レイヤ) |
geometry |
評価されている地物のジオメトリ |
geometry_part_count |
レンダリングされる地物のジオメトリパートの数 |
geometry_part_num |
レンダリングされる地物の現在のジオメトリパートの番号 |
geometry_point_count |
レンダリングされるジオメトリ部分のポイントの数 |
geometry_point_num |
レンダリングされるジオメトリ部分の現在のポイントの番号 |
geometry_ring_num |
レンダリングされる地物の現在のジオメトリのリング番号(ポリゴン地物のみ)。外側リングの番号は0です。 |
grid_axis |
現在のグリッド注記の軸(経度は'x' 、緯度は'y' ) |
grid_number |
現在のグリッド注記の値 |
id |
評価されている現在の地物のID |
item_id |
レイアウトアイテムのユーザID(ユニークとは限らない) |
item_uuid |
レイアウトアイテムのユニークID |
layer |
現在のレイヤ |
layer_crs |
現在のレイヤのCRSのAuthority ID |
layer_id |
現在のレイヤID |
layer_ids |
現在のプロジェクト内の全てのレイヤIDのリスト |
layer_name |
現在のレイヤ名 |
layers |
現在のプロジェクト内の全てのレイヤのリスト |
layout_dpi |
印刷レイアウトの解像度(DPI) |
layout_name |
印刷レイアウトの名前 |
layout_numpages |
印刷レイアウトのページ数 |
layout_page |
印刷レイアウト内の現在のアイテムのページ番号 |
layout_pageheight |
レイアウトのアクティブなページの高さ(標準のページサイズの場合はmm単位、カスタムのページサイズの場合は使用されている単位) |
layout_pageoffsets |
各ページの上端のY座標を要素とする配列。ページのサイズが変化することがある場合に、この変数を使用することでページ上にアイテムを動的に配置できます。 |
layout_pagewidth |
レイアウトのアクティブなページの幅(標準のページサイズの場合はmm単位、カスタムのページサイズの場合は使用されている単位) |
legend_column_count |
凡例のカラム数 |
legend_filter_by_map |
凡例の内容が地図の範囲と連動するかどうか |
legend_filter_out_atlas |
凡例の内容が地図帳の範囲と連動するかどうか |
legend_split_layers |
凡例のレイヤアイテムが複数列に分割される可能性があるかどうか |
legend_title |
凡例のタイトル |
legend_wrap_string |
凡例のテキストを改行する文字(文字列) |
map_crs |
現在の地図の座標参照系 |
map_crs_acronym |
現在の地図の座標参照系の頭字語 |
map_crs_definition |
現在の地図の座標参照系の完全な定義 |
map_crs_description |
現在の地図の座標参照系の名前 |
map_crs_ellipsoid |
現在の地図の座標参照系の回転楕円体 |
map_crs_proj4 |
現在の地図の座標参照系のproj4定義 |
map_crs_projection |
地図のCRSで使用される投影法の記述名(例: 'Albers Equal Area' ) |
map_crs_wkt |
現在の地図の座標参照系のWKT定義 |
map_end_time |
地図の時系列範囲の終了値(datetime値) |
map_extent |
現在の地図の範囲を表すジオメトリ |
map_extent_center |
地図範囲の中心を表すポイント地物 |
map_extent_height |
地図の現在の高さ |
map_extent_width |
地図の現在の幅 |
map_id |
現在の地図の出力対象のID。スクリーンの場合はcanvas、印刷レイアウトの場合はアイテムID |
map_interval |
地図の時系列範囲の長さ(interval値) |
map_layer_ids |
地図で表示中のレイヤIDのリスト |
map_layers |
地図で表示中のレイヤのリスト |
map_rotation |
地図の現在の回転 |
map_scale |
地図の現在の縮尺 |
map_start_time |
地図の時系列範囲の開始値(datetime値) |
map_units |
地図の距離単位 |
model_path |
現在のモデルの(ファイル名を含んだ)フルパス(または、モデルがプロジェクトに埋め込まれている場合にはプロジェクトのパス) |
model_folder |
現在のモデルがあるフォルダ(または、モデルがプロジェクトに埋め込まれている場合にはプロジェクトのフォルダ) |
model_name |
現在のモデルの名前 |
model_group |
現在のモデルのグループ |
notification_message |
データプロバイダから送信された通知メッセージの内容(プロバイダからの通知によってトリガされるアクションでのみ利用可) |
parent |
集約 関数でフィルタリングする際に、親レイヤの現在の地物を参照しその属性とジオメトリにアクセスできる変数 |
project_abstract |
プロジェクトのメタデータより取得した、プロジェクトの要約 |
project_area_units |
ジオメトリの面積計算で使用する、現在のプロジェクトの面積単位 |
project_author |
プロジェクトのメタデータより取得した、プロジェクトの制作者 |
project_basename |
現在のプロジェクトのファイル名のベース名(パスと拡張子なしの名前) |
project_creation_date |
プロジェクトのメタデータより取得した、プロジェクトの作成日 |
project_crs |
プロジェクトの座標参照系 |
project_crs_arconym |
プロジェクトの座標参照系の頭字語 |
project_crs_definition |
プロジェクトの座標参照系の完全な定義 |
project_crs_description |
プロジェクトの座標参照系の名前 |
project_crs_ellipsoid |
プロジェクトの座標参照系の回転楕円体 |
project_crs_proj4 |
プロジェクトの座標参照系のproj4定義 |
project_crs_wkt |
プロジェクトの座標参照系のWKT(well known text)定義 |
project_distance_units |
ジオメトリの長さや距離計算で使用する、現在のプロジェクトの距離単位 |
project_ellipsoid |
ジオメトリの測地面積や測地距離の計算で使用する、現在のプロジェクトの回転楕円体の名前 |
project_filename |
現在のプロジェクトのファイル名 |
project_folder |
現在のプロジェクトのフォルダ |
project_home |
現在のプロジェクトのホームパス |
project_identifier |
プロジェクトのメタデータより取得した、プロジェクトの識別子 |
project_keywords |
プロジェクトのメタデータより取得した、プロジェクトのキーワード |
project_last_saved |
プロジェクトが最後に保存された日時 |
project_path |
現在のプロジェクトのフルパス(ファイル名を含む) |
project_title |
現在のプロジェクトのタイトル |
project_units |
プロジェクトCRSの長さ単位 |
qgis_locale |
現在のQGISの言語ロケール |
qgis_os_name |
現在のOS名(例: 'windows' 、 'linux' 、 'osx' ) |
qgis_platform |
QGISプラットフォーム: 'desktop' または 'server' |
qgis_release_name |
現在のQGISリリース名 |
qgis_short_version |
現在のQGISバージョンの短縮文字列 |
qgis_version |
現在のQGISバージョンの文字列 |
qgis_version_no |
現在のQGISバージョンの番号 |
row_number |
現在の行の番号を格納します |
snapping_results |
地物のデジタイジング中にスナップした結果へのアクセスを提供します(地物の追加時のみ利用可) |
scale_value |
現在のスケールバーの距離の値 |
selected_file_path |
外部ストレージシステムにファイルをアップロードする際に、ファイルセレクタウィジェットによって選択されたファイルのパス |
symbol_angle |
地物の描画に使用されるシンボルの角度(マーカーシンボルのみで有効) |
symbol_color |
地物の描画に使用されるシンボルの色 |
symbol_count |
このシンボルで表現されている地物の数(印刷レイアウトの凡例でのみ有効) |
symbol_id |
シンボルの内部ID(印刷レイアウトの凡例でのみ有効) |
symbol_label |
シンボルのラベル(ユーザー定義ラベルもしくはデフォルトの自動生成ラベル。印刷レイアウトの凡例でのみ有効) |
symbol_layer_count |
シンボル内のシンボルレイヤの総数 |
symbol_layer_index |
現在のシンボルレイヤのインデックス |
symbol_marker_column |
マーカーの列数(ポイントパターン塗りつぶしでのみ有効) |
symbol_marker_row |
マーカーの行数(ポイントパターン塗りつぶしでのみ有効) |
user_account_name |
現在のユーザーのOSアカウント名 |
user_full_name |
現在のユーザーのOSユーザー名 |
value |
現在の値 |
vector_tile_zoom |
レンダリングされている地図のベクトルタイルの正確なズームレベル(現在の地図の縮尺から導出される)。通常は [0, 20] の間の値。@zoom_level とは異なり、この変数は浮動小数点値であり、2つの整数のズームレベルの間の値を補間するために使用できます。 |
with_variable |
式の中で使用するための変数を設定することで、同じ値を繰り返し計算することを避けられます。 |
zoom_level |
レンダリングされている地図のベクトルタイルのズームレベル(現在の地図の縮尺から導出される)。通常は [0, 20] の間の値。 |
例
印刷レイアウトにおいて、地図アイテムの中心のX座標を返します:
x( map_get( item_variables( 'map1'), 'map_extent_center' ) )
現在のレイヤの各地物について、自身と交差する airport 地物の数を返します:
aggregate( layer:='airport', aggregate:='count', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
ラインの最初にスナップしたポイントの object_id を取得します:
with_variable( 'first_snapped_point', array_first( @snapping_results ), attribute( get_feature_by_id( map_get( @first_snapped_point, 'layer' ), map_get( @first_snapped_point, 'feature_id' ) ), 'object_id' ) )
13.2.27. 最近の関数
このグループには、最近使った関数が含まれます。関数の利用のコンテクスト(地物選択、フィールド計算、一般など)に応じて、最近適用した式は対応するリスト(上限10個)に追加され、最近使ったものから順にリストに並びます。これにより、以前に使用した関数を素早く探し出して再適用することが簡単にできます。