Spatial Analyst のライセンスで利用可能。
サマリ
論理検索に基づいてラスターのセルを抽出します。
図
使用法
[WHERE 句] が true と評価されると、元の入力値がセル位置に返されます。false と評価されると、セル位置には NoData が割り当てられます。
[WHRE 句] は SQL クエリを使用します。[検索条件設定] で条件式を作成する方法の詳細は、次のトピックをご参照ください。
-
Python で {where_clause} を使用するには、これを引用符で囲む必要があります。例: "Value > 5000"。
Python でのクエリの指定については、ヘルプをご参照ください。
入力ラスターの Value および Count 以外のアイテムは、出力ラスターでは削除されます。
入力ラスターの Value 以外のアイテムがクエリで指定されている場合、元の入力値がセル位置に返されます。
-
入力としてマルチバンド ラスターを指定すると、新しいマルチバンド ラスターが出力として作成されます。入力マルチバンド ラスターの各バンドは個別に解析されます。
デフォルトの出力形式は、ジオデータベース ラスターです。出力形式として Esri Grid スタックを指定した場合、名前を数字で開始すること、名前にスペースを使用すること、名前の長さが 9 文字を超えることはできません。
-
入力が、4 バンド以上のマルチバンド ラスターから作成したレイヤーである場合、抽出操作ではレイヤーによって読み込まれた (シンボル表示された) バンドだけが考慮されます。そのため、出力マルチバンド ラスターには、入力レイヤーの表示で使用されるバンドに該当する 3 つのバンドしか出力されません。
-
入力ラスターが整数の場合、出力ラスターも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
ExtractByAttributes (in_raster, where_clause)
パラメータ | 説明 | データ タイプ |
in_raster | セルを抽出する入力ラスター。 | Raster Layer |
where_clause | ラスター セルのサブセットを選択する論理式。 式は、SQL 式の一般的な形式に従います。where_clause の例は、「"VALUE > 100"」です。 | SQL Expression |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 入力ラスターから抽出したセル値が格納される出力ラスター。 | Raster |
コードのサンプル
ExtractByAttributes (属性で抽出) の例 1 (Python ウィンドウ)
次の例では、論理検索に基づいてラスターからセルを抽出しています。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")
ExtractByAttributes (属性で抽出) の例 2 (スタンドアロン スクリプト)
次の例では、論理検索に基づいてラスターからセルを抽出しています。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")
環境
ライセンス情報
- ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst
- ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst