Pick (Spatial Analyst)

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

Image Analyst ライセンスで利用できます。

サマリー

ポジション ラスターの値を使用して、入力ラスターのリストの中で出力セル値になるラスターを決定します。

Pick の図
OutRas = Pick(InRas1, [InRas2, InRas3],"SINGLE_BAND")

使用法

  • [入力ポジション ラスター] (Python の場合は in_position_raster) の各セルの値は、出力ラスター値にする入力を決定します。たとえば、[入力ポジション ラスター] のセルの値が 1 の場合、ラスター リストの最初の入力値が出力セル値に使用されます。ポジション入力の値が 2 の場合、出力値はラスター リストの 2 番目の入力となります。

  • このツールでは、[入力ラスター、または定数値] (Python の場合は in_rasters_or_constants) の順番が結果に影響します。ラスターの順序が変更されると、結果も変化します。

  • [入力ポジション ラスター] のセル値がゼロまたは負の場合、結果は NoData になります。ポジション値がリスト内のラスターの数より大きい場合、結果は NoData になります。

  • [入力ポジション ラスター] が浮動小数点である場合、値は、処理される前に整数に切り詰められます。

  • ポジション ラスターで値が NoData のセルは、出力ラスターも NoData になります。

  • 入力リスト内の任意のラスターが浮動小数である場合、出力は浮動小数になります。すべてが整数の場合、出力ラスターも整数になります。

  • [マルチバンドとして処理] パラメーターがオフ (Python では process_as_multibandSINGLE_BAND に設定) の場合、マルチバンドの [入力ポジション ラスター] (Python では in_position_raster) の最初のバンドのみが使用されます。マルチバンドの [入力ラスター、または定数値] (Python では in_rasters_or_constants) の各バンドは、シングルバンド ラスターとして個別に処理されます。

  • [マルチバンドとして処理] パラメーターがオン (Python では process_as_multibandMULTI_BAND に設定) の場合、各マルチバンド ラスター入力はマルチバンド ラスターとして処理されます。

    出力のバンド数は、[入力ポジション ラスター] によって異なります。[入力ポジション ラスター] がシングル バンドの場合、出力ラスターのバンド数は、[入力ラスター、または定数値] のすべてのマルチバンド ラスターの最大バンド数と同じになります。[入力ポジション ラスター] がマルチバンドの場合、出力ラスターには [入力ポジション ラスター] と同じ数のバンドが含まれます。

    [入力ラスター、または定数値] のいずれかが出力ラスターよりもバンド数が少ないラスターの場合、欠落しているバンドは NoData が設定されたバンドとして解釈されます。[入力ポジション ラスター] のセル値が欠落したバンドから 1 つの値を選択した場合、出力ラスターは NoData を取得します。[入力ラスター、または定数値] のいずれかが定数の場合、すべてのバンドのセル値が定数と同じで、出力ラスターと同じ数のバンドが含まれるマルチバンド ラスターとして解釈されます。

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

パラメーター

ラベル説明データ タイプ
入力ポジション ラスター

出力値に使用するラスターの位置を定義する入力ラスター。

入力は、整数または浮動小数のラスターが使用できます。

Raster Layer
入力ラスター、または定数値

出力値が選択される入力のリスト。

入力は、整数または浮動小数のラスターが使用できます。数値も入力として使用できます。

Raster Layer; Constant
マルチバンドとして処理
(オプション)

入力マルチバンド ラスター バンドを処理する方法を指定します。

  • オフ - マルチバンド ラスター入力の各バンドは、シングル バンド ラスターとして別々に処理されます。 これがデフォルトです。
  • オン - それぞれのマルチバンド ラスター入力はマルチバンド ラスターとして処理されます。 1 つの入力に含まれる各バンドについて、他の入力に含まれる対応バンド番号を使用して演算が行われます。
Boolean

戻り値

ラベル説明データ タイプ
出力ラスター

出力ラスター。

Raster

Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
名前説明データ タイプ
in_position_raster

出力値に使用するラスターの位置を定義する入力ラスター。

入力は、整数または浮動小数のラスターが使用できます。

Raster Layer
in_rasters_or_constants
[in_raster_or_constant,...]

出力値が選択される入力のリスト。

入力は、整数または浮動小数のラスターが使用できます。数値も入力として使用できます。

Raster Layer; Constant
process_as_multiband
(オプション)

入力マルチバンド ラスター バンドを処理する方法を指定します。

  • SINGLE_BANDマルチバンド ラスター入力の各バンドは、シングル バンド ラスターとして別々に処理されます。 これがデフォルトです。
  • MULTI_BANDそれぞれのマルチバンド ラスター入力はマルチバンド ラスターとして処理されます。 1 つの入力に含まれる各バンドについて、他の入力に含まれる対応バンド番号を使用して演算が行われます。
Boolean

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

Raster

コードのサンプル

Pick の例 1 (Python ウィンドウ)

次の例では、複数の入力ラスターの順番に基づき、出力値を割り当てています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/sapyexamples/output/outpick.tif")
Pick の例 2 (スタンドアロン スクリプト)

次の例では、複数の入力ラスターの順番に基づき、出力値を割り当てています。

# Name: Pick_Ex_02.py
# Description: Assigns output values using one of a list of rasters
#              determined by the value of an input raster.
# 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
inPositionRas = "inzone_MB"
inRas01 = "Ras1_MB"
inRas02 = "Ras2_MB"
inRas03 = "Ras3_MB"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")

# Save the output 
outPick.save("C:/sapyexamples/output/outpick")

関連トピック