属性で抽出(Extract by Attributes) (Spatial Analyst)
サマリ
論理検索に基づいてラスタのセルを抽出します。
図
![]() |
OutRas = Select(InRas1, "Value >= 2") |
使用法
-
[WHERE 句] が true と評価されると、元の入力値がセル位置に返されます。false と評価されると、セル位置には NoData が割り当てられます。
-
入力ラスタの [値] および [データの個数] 以外のアイテムは、出力ラスタでは削除されます。
-
入力ラスタの [値] 以外のアイテムが [WHERE 句] に指定されている場合、元の入力値がセル位置に返されます。
-
入力としてマルチバンド ラスタを指定すると、新しいマルチバンド ラスタが出力として作成されます。入力マルチバンド ラスタの各バンドは個別に解析されます。
デフォルトの出力形式は Esri Grid スタックです。Esri Grid スタックには、数字で始まる名前、スペースを含む名前、9 文字を超える名前は使用できません。
-
入力が、4 バンド以上のマルチバンド ラスタから作成したレイヤである場合、抽出操作ではレイヤによって読み込まれた(シンボル表示された)バンドだけが考慮されます。そのため、出力マルチバンド ラスタには、入力レイヤの表示で使用されるバンドに該当する 3 つのバンドしか出力されません。
-
入力ラスタが整数の場合、出力ラスタも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
セルを抽出する入力ラスタ。 | Raster Layer |
where_clause | ラスタ セルのサブセットを選択する論理式 式は、SQL 式の一般的な形式に従います。 詳細については「ArcGIS で使用されるクエリ式への SQL リファレンス」と「Python でのクエリの指定」をご参照ください。 | SQL Expression |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
入力ラスタから抽出したセル値が格納される出力ラスタ。 | Raster |
コードのサンプル
次の例では、論理検索に基づいてラスタからセルを抽出しています。WHERE 句の評価は、1,000 メートルより大きいことです。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000")
attExtract.save("c:/sapyexamples/output/attextract")
次の例では、論理検索に基づいてラスタからセルを抽出しています。WHERE 句の評価は、1,000 メートルより大きいことです。
# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query.
# 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"
inSQLClause = "VALUE > 1000"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause)
# Save the output
attExtract.save("c:/sapyexamples/output/attextract02")