マスクで抽出(Extract by Mask) (Spatial Analyst)
サマリ
マスクによって定義されたエリアのラスタのセルを抽出します。
図
使用法
-
[マスクで抽出(Extract by Mask)] ツールは、[マスク] 環境の設定と似ていますが、入力マスクが当座のインスタンスにのみ使用されるのに対して、環境設定のマスクは、変更または無効化されるまで、すべてのツールに適用されます。
-
入力としてマルチバンド ラスタを指定すると、新しいマルチバンド ラスタが出力として作成されます。入力マルチバンド ラスタの各バンドは個別に解析されます。
デフォルトの出力形式は Esri Grid スタックです。Esri Grid スタックには、数字で始まる名前、スペースを含む名前、9 文字を超える名前は使用できません。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、抽出操作ではレイヤによって読み込まれた(シンボル表示された)バンドだけが考慮されます。そのため、出力マルチバンド ラスタには、入力レイヤの表示で使用されるバンドに該当する 3 つのバンドしか出力されません。
-
入力マスクがラスタの場合、値が NoData でない入力セルの位置が出力ラスタにコピーされます。マスク ラスタを作成できるツールには、[Con]、[Test]、その他 [抽出] ツールセットにあるツールなどです。
-
入力ラスタ マスクにマルチバンド ラスタが指定された場合、最初のバンドだけが処理に使用されます。
-
入力ラスタが整数の場合、出力ラスタも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
セルを抽出する入力ラスタ。 | Raster Layer |
in_mask_data |
抽出するエリアを定義する入力マスク データ。 これは、ラスタまたはフィーチャ データセットです。 入力マスク データがラスタの場合、マスク上の値が NoData であるセルは出力ラスタでも NoData が割り当てられます。 | Raster Layer | Feature Layer |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
入力ラスタから抽出したセル値が格納される出力ラスタ。 | Raster |
コードのサンプル
次の例では、入力ポリゴン シェープファイルのフィーチャクラスによって定義されたマスク内にあるラスタから、セルを抽出しています。
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")
次の例では、入力ポリゴン シェープファイルのフィーチャクラスによって定義されたマスク内にあるラスタから、セルを抽出しています。
# 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData)
# Save the output
outExtractByMask.save("C:/sapyexamples/output/extractmask")