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

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

概要

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

マスクで抽出 (Extract by Mask) の図
OutRas = ExtractByMask(InRas1, InMsk1)

使用法

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

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

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

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

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

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

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

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

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

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

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

構文

ExtractByMask(in_raster, in_mask_data)
パラメーター説明データ タイプ
in_raster

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

Raster Layer
in_mask_data

抽出するエリアを定義する入力マスク データ。

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

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

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

Raster Layer; Feature Layer

戻り値

名前説明データ タイプ
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")
outExtractByMask.save("C:/sapyexamples/output/maskextract")
ExtractByMask (マスクで抽出) の例 2 (スタンドアロン スクリプト)

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

# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas
#    defined by a mask.
# 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"

# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)

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

ライセンス情報

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

関連トピック