ポピュラリティ(Popularity) (Spatial Analyst)
サマリ
引数リストの中で、特定のポピュラリティ レベルである値をセルごとに判別します。特定のポピュラリティ レベル(各値の発生数)は、最初の引数で指定します。
図
使用法
-
このツールは、入力ラスタ値の発生数を位置ごとに評価し、それを最も多い、2 番めに多いなどの等級スケールでランク付けします。そして、ポピュラリティ ラスタ値で定義された指定の n 番めに多い値の値を返します。
-
入力ラスタのリストにおいて、順序は結果に関係ありません。ただし、ポピュラリティの位置を定義するラスタは最初にする必要があります。
-
入力ラスタ リストには任意の数のラスタを指定できます。
-
入力値が、どのセル位置でも同じ場合、指定したポピュラリティに関係なく、出力値はそのセル位置の入力と同じになります。
-
入力ラスタに NoData を含むセル位置がある場合、その位置の出力は NoData になります。
-
n 番めに多い値が単独で見つからない場合、出力ラスタのその位置には NoData が割り当てられます。この状況が起こるのは、ある位置の入力ラスタ値がすべて異なるか、2 つ以上の入力ラスタ値の発生数が同じで、その発生数が n 番めに多い場合です。スキャン処理で最初に検出したなど、入力ラスタ値の 1 つを返すと、誤解を招きます。その値が、本当に n 番めに多い値かどうかわからなくなるでしょう。
-
ポピュラリティ値が入力ラスタの数より多い場合、出力の各セル位置には NoData が割り当てられます。
-
ポピュラリティ値に 0 が指定されている場合、出力値は NoData になります。
-
ポピュラリティ レベル 1 は、[セル統計(Cell Statistics)] の [MAJORITY] オプションと同様に最頻値です。
-
入力ラスタのいずれかが浮動小数点である場合、出力は浮動小数点になります。それ以外の場合、整数になります。
構文
パラメータ | 説明 | データ タイプ |
in_popularity_raster_or_constant |
返されるポピュラリティの位置を定義する入力ラスタ。 数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。 | Raster Layer | Constant |
in_rasters [in_raster,...] |
各セル位置について、値のポピュラリティを評価するために使用される入力ラスタのリスト。 | Raster Layer |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
出力ラスタ。 出力ラスタの各セルは、入力ポピュラリティ値に合致する入力ラスタの同じ位置の値を表します。 | Raster |
コードのサンプル
次の例では、複数の入力ラスタに対してポピュラリティ処理を行い、IMG ラスタとして結果を出力しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPopularity = Popularity("cost", ["degs", "negs", "fourgrd"])
outPopularity.save("C:/sapyexamples/output/outpop.img")
次の例では、複数の入力ラスタに対してポピュラリティ処理を行い、Grid ラスタとして結果を出力しています。
# Name: Popularity_Ex_02.py
# Description: Determines the value in an argument list that is
# at a certain level of popularity
# 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
inPopularityRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Popularity
outPopularity = Popularity(inPopularityRaster, [inRaster01, inRaster02, inRaster03])
# Save the output
outPopularity.save("C:/sapyexamples/output/outpop")