重要

翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 64.10% 翻訳されています。

17.2. ラスタ解析

17.2.1. ラスタ計算機

ラスタ メニューの ラスタ計算機 は、既存のラスタのピクセル値に基づいた計算を実行します( 図 17.22 参照)。結果はGDALがサポートする形式の新規ラスタレイヤとして書き出されます。

../../../_images/raster_calculator1.png

図 17.22 ラスタ計算機

バンド のリストには、使用可能なロードされたラスタレイヤがすべて含まれています。ラスタ計算機の式フィールドにラスタを追加するには、フィールドリスト内で名前をダブルクリックします。そこに演算子ボタンを使用したりボックス内にキーボードで演算子を入力して、計算式を作成します。

ラスタレイヤ セクションでは、出力レイヤを定義する必要があります。以下の設定が可能です:

  • checkbox ディスクに書き込まないオンザフライ・ラスタを作成

    • これにチェックを入れない場合、出力結果は通常の新しいファイルとしてディスク上に保存されます。 出力レイヤ のパスと、 出力形式 を指定する必要があります。

    • チェックを入れた場合、仮想のラスタレイヤ、つまりURIによって定義され、そのピクセルがオンザフライで計算されるラスタレイヤが作成されます。これはディスク上の新しいファイルではありません。仮想レイヤは計算に使用したラスタに関連付いているため、計算に使用したラスタを削除したり移動したりすると、仮想レイヤが壊れてしまいます。 レイヤ名 は指定することができますが、指定しない場合は計算式がレイヤ名として使用されます。仮想レイヤをプロジェクトから取り除くと削除されてしまいますが、レイヤの エクスポート ► 名前を付けて保存... コンテキストメニューを使用して、ファイルの形式でこのレイヤを永続化させることができます。

  • 計算の 空間範囲 は、入力ラスタレイヤの領域に基づいて定義できますが、カスタムのX,Y 座標を入力することもできます。

  • レイヤの 解像度 は、カラム数と行数で設定します。入力レイヤの解像度と異なる場合には、最近傍アルゴリズムを使用して値がリサンプリングされます。

  • checkbox 結果をプロジェクトに追加する のチェックボックスにチェックを入れると、結果のレイヤを自動的に凡例に追加し、レイヤを表示できます。仮想ラスタの場合にはデフォルトでチェックが入ります。

演算子 セクションには利用可能なすべての演算子があります。演算子をラスタ計算機の式ボックスに追加するには、それに応じたボタンをクリックします。算術計算( +-* など)や三角関数( sincostan など)が利用できます。条件式( =!=<>= など)は、偽の場合は 0 、真の場合は 1 を返すので、他の演算子や関数と共に使うことができます。

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.

../../../_images/raster_calculator_expression.png

図 17.23 Raster Expression Calculator

  • 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 named DEM will be referred as DEM@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 )