重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 64.10% 翻訳されています。
17.2. ラスタ解析
17.2.1. ラスタ計算機
図 17.22 参照)。結果はGDALがサポートする形式の新規ラスタレイヤとして書き出されます。
メニューの は、既存のラスタのピクセル値に基づいた計算を実行します(バンド のリストには、使用可能なロードされたラスタレイヤがすべて含まれています。ラスタ計算機の式フィールドにラスタを追加するには、フィールドリスト内で名前をダブルクリックします。そこに演算子ボタンを使用したりボックス内にキーボードで演算子を入力して、計算式を作成します。
ラスタレイヤ セクションでは、出力レイヤを定義する必要があります。以下の設定が可能です:
-
これにチェックを入れない場合、出力結果は通常の新しいファイルとしてディスク上に保存されます。 出力レイヤ のパスと、 出力形式 を指定する必要があります。
チェックを入れた場合、仮想のラスタレイヤ、つまりURIによって定義され、そのピクセルがオンザフライで計算されるラスタレイヤが作成されます。これはディスク上の新しいファイルではありません。仮想レイヤは計算に使用したラスタに関連付いているため、計算に使用したラスタを削除したり移動したりすると、仮想レイヤが壊れてしまいます。 レイヤ名 は指定することができますが、指定しない場合は計算式がレイヤ名として使用されます。仮想レイヤをプロジェクトから取り除くと削除されてしまいますが、レイヤの コンテキストメニューを使用して、ファイルの形式でこのレイヤを永続化させることができます。
計算の 空間範囲 は、入力ラスタレイヤの領域に基づいて定義できますが、カスタムのX,Y 座標を入力することもできます。
レイヤの 解像度 は、カラム数と行数で設定します。入力レイヤの解像度と異なる場合には、最近傍アルゴリズムを使用して値がリサンプリングされます。
結果をプロジェクトに追加する のチェックボックスにチェックを入れると、結果のレイヤを自動的に凡例に追加し、レイヤを表示できます。仮想ラスタの場合にはデフォルトでチェックが入ります。
演算子 セクションには利用可能なすべての演算子があります。演算子をラスタ計算機の式ボックスに追加するには、それに応じたボタンをクリックします。算術計算( +
、 -
、 *
など)や三角関数( sin
、 cos
、 tan
など)が利用できます。条件式( =
、 !=
、 <
、 >=
など)は、偽の場合は 0 、真の場合は 1 を返すので、他の演算子や関数と共に使うことができます。
参考
ラスタ計算機 and Raster calculator (virtual) algorithms
17.2.1.1. Raster calculator expression
The dialog
The Raster calculator expression dialog provides means to write expressions for pixels calculations between a set of raster layers.
Layers: Shows the list of all raster layers loaded in the legend. These can be used to fill the expression box (double click to add). Raster layers are referred by their name and the number of the band:
layer_name@band_number
. For instance, the first band from a layer namedDEM
will be referred asDEM@1
.Operators: contains a number of calculation operators for pixels manipulation:
Arithmetical:
+
,-
,*
,sqrt
,abs
,ln
, ...Trigonometric:
sin
,cos
,tan
, ...Comparison:
=
,!=
,<
,>=
, ...Logical:
IF
,AND
,OR
,(
,)
Statistical:
min
,max
To add an operator to the raster calculator expression box, click the appropriate button.
Raster calculator expression is the area in which the expression is composed
例
標高値をメートルからフィートに変換する
メートル単位の標高ラスタからフィート単位のラスタを作成するには、メートルからフィートへの換算係数 3.28 を掛けます。式は次のとおりです:
"elevation@1" * 3.28
マスクを使用する
例えば、標高0メートル以上の部分だけに興味があるなど、ラスタの一部をマスクしたい場合には、マスクの作成とその結果のラスタへの適用が以下の式を使用して一度に行えます。
("elevation@1" >= 0) * "elevation@1"
これはつまり、標高値が0以上の各セルは条件式の評価が1になり、元の値に1を掛けるので値が維持されます。そうでない場合には条件式の評価が0になり、ラスタ値が0になります。これにより、標高値に応じたマスクが作成されます。
ラスタのクラス分類
ラスタを例えば2つの標高クラスに分類したい場合には、次の式を使用すると、1つのステップで2種類の値 1と2を持つラスタを作成することができます。
("elevation@1" < 50) * 1 + ("elevation@1" >= 50) * 2
これはつまり、標高値が50未満の各セルには値1が設定され、50以上の各セルには値2が設定されます。
IF
演算子を使用することもできます。
if ( elevation@1 < 50 , 1 , 2 )