マスクで抽出 (Extract by Mask) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

サマリー

マスクによって定義されたエリアに一致するラスターのセルを抽出します。

マスクで抽出ツールの図
OutRas = ExtractByMask(InRas1, InMsk1, "INSIDE")

使用法

  • 入力ラスターからの追加属性 (存在する場合) は、そのまま出力ラスター属性テーブルに引き継がれます。 記録されるプロパティに応じて、一部の属性値は再計算が必要な場合があります。

  • [入力ラスター] (Python では in_raster) の値としてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。

    マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成されるラスター データセットを作成します。 次に、その結果を [入力ラスター] (Python では in_raster) の値として使用します。

    デフォルトの出力形式は、ジオデータベース ラスターです。 出力形式として Esri Grid スタックを指定した場合、スタックの名前を数字で開始したり、名前にスペースを使用したり、9 文字を超える名前にしたりすることはできません。

  • 入力ラスター マスクにマルチバンド ラスターが指定された場合、最初のバンドだけが処理に使用されます。

  • [入力ラスター] (Python では in_raster) の値と [入力ラスター、またはフィーチャ マスク データ] ラスター データ (Python では in_mask_data) のセル サイズが同じで、セルが位置揃えされている場合、それらはツールで直接使用されます。 ツール操作中に内部リサンプリングされません。

    セル サイズが異なる場合、出力セル サイズは入力の最大値になり、[入力ラスター] の値は内部でスナップ対象ラスターとして使用されます。 セル サイズは同じだが、セル同士が位置揃えされていない場合、[入力ラスター] の値が内部でスナップ対象ラスターとして使用されます。 これらの場合、抽出操作が実行される前に、内部でリサンプリングが開始されます。

    詳細については、「セル サイズ」と「スナップ対象ラスター」の環境トピックをご参照ください。

  • マスク入力がフィーチャである場合、デフォルトでは [入力ラスター] からのセル サイズとセルの配置 (スナップ対象ラスター) を使用して、内部でラスターに変換されます。

  • [マスクで抽出 (Extract by Mask)] ツールの実行中に環境設定でマスクが指定されている場合、出力ラスターは、環境マスクと入力マスク データの交差部分内にあるエリアのセル値のみを持ちます。

  • [分析範囲] (Python では analysis_extent) パラメーターを使用して、スタンドアロン ツール操作の出力分析エリアを明示的に指定したり、ワークフローの一環として環境設定をオーバーライドしたりできます。 値の入力、表示範囲の選択、レイヤーの選択、または入力データセットの参照によって範囲を指定できます。

  • [分析範囲] のデフォルト値は [入力ラスター] の値と [入力ラスター、またはフィーチャ マスク データ] の値の交点から計算されます。

  • 分析範囲をパラメーター値として明示的に指定しない場合、分析環境設定から取得されます。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力ラスター

セルを抽出する入力ラスター。

Raster Layer
入力ラスター、またはフィーチャ マスク データ

抽出するセルの位置を定義する入力マスク データ。

これは、ラスターでもフィーチャ データセットでもかまいません。

入力マスク データがラスターの場合、マスク上の値が NoData であるセルは出力ラスターでも NoData が割り当てられます。

入力マスクがフィーチャ データである場合、フィーチャの指定した形状内に中心がある入力ラスター内のセルが出力に含められます。中心が外部にあるセルは、NoData になります。

Raster Layer; Feature Layer
抽出エリア
(オプション)

入力マスクによって定義された位置の内部と外部どちらのセルを選択し、出力ラスターに書き込むかを指定します。

  • インサイド入力マスク内のセルを選択し、出力ラスターに書き込みます。 マスクの外部にあるすべてのセルは、出力ラスターでは値が NoData になります。 これはデフォルトです。
  • 外側入力マスクの外部のセルを選択し、出力ラスターに書き込みます。 マスクで覆われたすべてのセルが NoData になります。
String
分析範囲
(オプション)

抽出するエリアを定義する範囲。

デフォルトでは、範囲は [入力ラスター] の値と [入力ラスター、またはフィーチャ マスク データ] の値の交点として計算されます。 処理は X および Y の制限内で実行され、この範囲の外にあるセルは NoData になります。

座標は、解析によって明示的に設定されていない場合、入力ラスターと同じマップ単位で指定します。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。
  • [範囲の描画] 直角化して終了 - 範囲は、マップまたはシーンに描画された四角形に基づきます。
  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用します。 各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - すべてのフィーチャの範囲。
    • [選択フィーチャ] 選択フィーチャからのエリア - 選択したフィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - 表示フィーチャの範囲。

  • [参照] 参照 - 範囲はデータセットに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲と座標系をクリップボードから貼り付けます。 クリップボードに座標系が含まれていない場合、マップの座標系が範囲に使用されます。
  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。

座標を手動で入力する場合、アクティブなマップの座標系の座標を数値で指定する必要があります。 マップで、入力した座標と異なる表示単位が使用されることがあります。 南と西の座標にはマイナス値の記号を使用します。

Extent

戻り値

ラベル説明データ タイプ
出力ラスター

入力ラスターから抽出したセル値が格納される出力ラスター。

Raster

ExtractByMask(in_raster, in_mask_data, {extraction_area}, {analysis_extent})
名前説明データ タイプ
in_raster

セルを抽出する入力ラスター。

Raster Layer
in_mask_data

抽出するセルの位置を定義する入力マスク データ。

これは、ラスターでもフィーチャ データセットでもかまいません。

入力マスク データがラスターの場合、マスク上の値が NoData であるセルは出力ラスターでも NoData が割り当てられます。

入力マスクがフィーチャ データである場合、フィーチャの指定した形状内に中心がある入力ラスター内のセルが出力に含められます。中心が外部にあるセルは、NoData になります。

Raster Layer; Feature Layer
extraction_area
(オプション)

入力マスクによって定義された位置の内部と外部どちらのセルを選択し、出力ラスターに書き込むかを指定します。

  • INSIDE入力マスク内のセルを選択し、出力ラスターに書き込みます。 マスクの外部にあるすべてのセルは、出力ラスターでは値が NoData になります。 これはデフォルトです。
  • OUTSIDE入力マスクの外部のセルを選択し、出力ラスターに書き込みます。 マスクで覆われたすべてのセルが NoData になります。
String
analysis_extent
(オプション)

抽出するエリアを定義する範囲。

指定しない場合、デフォルト範囲は in_raster の値と in_mask_data の値の交点になります。

座標は、解析によって明示的に設定されていない場合、入力ラスターと同じマップ単位で指定します。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent

戻り値

名前説明データ タイプ
out_raster

入力ラスターから抽出したセル値が格納される出力ラスター。

Raster

コードのサンプル

ExtractByMask の例 1 (Python ウィンドウ)

次の例では、入力ポリゴン シェープファイルのフィーチャクラスによって定義されたマスク内にあるラスターから、セルを抽出しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outExtractByMask = ExtractByMask("elevation", "mask.shp", "INSIDE")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
ExtractByMask の例 2 (スタンドアロン スクリプト)

次の例では、入力ポリゴン シェープファイルのフィーチャクラスによって定義されたマスク外にあるすべてのエリアでラスターからセルを抽出し、入力ラスターの出力範囲を維持しています。

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a elevation raster for all areas outside of the mask features.
#     Keeping the output extent of the input elevation raster. 
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
inMaskData = "mask.shp"
extraction_area = "OUTSIDE"
analysis_extent = "elevation"


# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData, extraction_area, analysis_extent)

# Save the output 
outExtractByMask.save("C:/sapyexamples/output/extractmask")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック