Spatial Analyst のライセンスで利用可能。
概要
論理検索に基づいてラスターのセルを抽出します。
図
使用法
入力ラスターからの追加属性 (存在する場合) は、そのまま出力ラスター属性テーブルに引き継がれます。記録されるプロパティの特性に応じて、一部の属性値は再計算が必要な場合があります。
[入力ラスター] (Python では in_raster) としてマルチバンド ラスターが指定された場合、すべてのバンドが使用されます。
マルチバンド ラスターから選択したバンドを処理するには、まず、[コンポジット バンド (Composite Bands)] ツールを使用して、それら特定のバンドから構成される新しいラスター データセットを作成し、その結果を [入力ラスター] (Python では in_raster) として使用します。
デフォルトの出力形式は、ジオデータベース ラスターです。出力形式として Esri Grid スタックを指定した場合、名前を数字で開始すること、名前にスペースを使用すること、名前の長さが 9 文字を超えることはできません。
[WHERE 句] が true と評価されると、元の入力値がセル位置に返されます。false と評価されると、セル位置には NoData が割り当てられます。
[WHERE 句] は SQL クエリを使用します。[検索条件設定] で条件式を作成する方法の詳細は、次のトピックをご参照ください。
Python で {where_clause} を使用するには、これを引用符で囲む必要があります。例: "Value > 5000"。
Python でのクエリの指定については、ヘルプをご参照ください。
入力ラスターの Value 以外のアイテムがクエリで指定されている場合、元の入力値がセル位置に返されます。
入力ラスターが整数の場合、出力ラスターも整数になります。入力のいずれかが浮動小数点値である場合、出力は浮動小数点値になります。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と 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")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst