Spatial Analyst のライセンスで利用可能。
概要
入力ラスターの組から、セル単位で値のランク付けを行い、ランク入力ラスターの値に基づいて、返される値を決定します。
図
使用法
入力ラスターのリストにおいて、順序は結果に影響を与えません。ただし、ランクを定義するラスターは最初にする必要があります。
入力ラスター リストには任意の数のラスターを指定できます。
入力ラスターに NoData を含むセル位置がある場合、その位置の出力は NoData になります。
任意のセル位置ですべての入力値が同じ場合、指定したランクに関係なくそのセル位置の出力はその値になります。
ランク ラスター値が入力ラスターの数より多い場合、出力の各セル位置には NoData が割り当てられます。
入力ラスターのいずれかが浮動小数点である場合、出力は浮動小数点になります。それ以外の場合、整数になります。
[マルチバンドとして処理] パラメーターがオフ (Python では process_as_multiband を SINGLE_BAND に設定) の場合、マルチバンドの [入力ランク ラスター、または定数値] (Python では in_rank_raster_or_constant) の最初のバンドのみが使用されます。マルチバンドの [入力ラスター] (Python では in_rasters) の各バンドは、シングルバンド ラスターとして個別に処理されます。
[マルチバンドとして処理] パラメーターがオン (Python では process_as_multiband を MULTI_BAND に設定) の場合、各マルチバンド ラスター入力はマルチバンド ラスターとして処理されます。
出力のバンド数は、[入力ランク ラスター、または定数値] によって異なります。ランク ラスターがシングル バンドの場合、出力ラスターのバンド数は、入力ラスターのすべてのマルチバンド ラスターの最大バンド数と同じになります。ランク ラスターがマルチバンド入力である場合、出力ラスターにはランク ラスターと同じ数のバンドが含まれます。
[入力ラスター] のいずれかが出力ラスターよりもバンド数が少ないラスターの場合、欠落しているバンドは NoData が設定されたバンドとして解釈されます。ランク ラスターのセル値が欠落したバンドから 1 つの値を選択した場合、出力ラスターは NoData を取得します。入力ラスターのいずれかが定数の場合、すべてのバンドのセル値が定数と同じで、出力ラスターと同じ数のバンドが含まれるマルチバンド ラスターとして解釈されます。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
パラメーター | 説明 | データ タイプ |
in_rank_raster_or_constant | 返されるランク位置を定義する入力ラスター。 数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。 | Raster Layer; Constant |
in_rasters [in_raster,...] | 指定したランク位置にあるラスターのセル値が取得される入力ラスターのリスト。 たとえば、3 つの入力ラスターのセル値が 17、8、11 である特定の位置で、 ランク値が 3 として定義されているとします。ツールは最初に入力値を並べ替えます。リクエストされているランク値が 3 のため、出力値は 17 になります。 | Raster Layer |
process_as_multiband (オプション) | 入力マルチバンド ラスター バンドの処理方法を指定します。
| Boolean |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 出力ラスター。 出力ラスターの各セルでは、入力ラスターの値が最小から最大へと並べ替えられ、入力ランク ラスターの値を使用して、出力値にする値が選択されます。 | Raster |
コードのサンプル
次の例では、複数の入力 Grid ラスターに対してランク操作を行い、TIFF ラスターとして結果を出力しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outRank = Rank("cost", ["degs", "negs", "fourgrd"])
outRank.save("C:/sapyexamples/output/outrank.tif")
次の例では、複数の入力 Grid ラスターに対してランク操作を行い、Grid ラスターとして結果を出力しています。
# Name: Rank_Ex_02.py
# Description: Returns the value of a set of rasters based on
# a rank level specified by another 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
inRankRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"
# Execute Rank
outRank = Rank(inRankRaster, [inRaster01, inRaster02, inRaster03])
# Save the output
outRank.save("C:/sapyexamples/output/outrank")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst