ポピュラリティ (Popularity) (Spatial Analyst)

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

サマリー

セルごとに、特定レベルの頻度の値を引数リストから判定します。 特定のポピュラリティ レベル (各値の発生数) は、最初の引数で指定します。

[ポピュラリティ (Popularity)] ツールの入力値と出力値の例
OutRas = Popularity(ValRas, [InRas1, InRas2, InRas3])

使用法

  • このツールは、入力ラスター値の発生数を位置ごとに評価し、それを最も多い、2 番目に多いなどの等級スケールでランク付けします。 ポピュラリティ ラスター値で指定された n 番目に多い値が返されます。

  • 入力ラスターのリストにおいて、順序は結果に影響を与えません。 ただし、ポピュラリティの位置を定義するラスターは最初にする必要があります。

  • 入力ラスター リストには任意の数のラスターを指定できます。

  • 入力値が、どのセル位置でも同じ場合、指定したポピュラリティに関係なく、出力値はそのセル位置の入力と同じになります。

  • 入力ラスターに NoData を含むセル位置がある場合、その位置の出力は NoData になります。

  • n 番目に多い値が単独で見つからない場合、出力ラスターのその位置には NoData が割り当てられます。 この状況が起こるのは、ある位置の入力ラスター値がすべて異なるか、2 つ以上の入力ラスター値の発生数が同じで、その発生数が n 番目に多い場合です。 スキャン処理で最初に検出したなど、入力ラスター値の 1 つを返すと、誤解を招きます。 その値が、本当に n 番目に多い値かどうかわからなくなるでしょう。

  • ポピュラリティ値が入力ラスターの数より多い場合、出力の各セル位置には NoData が割り当てられます。

  • ポピュラリティ値に 0 が指定されている場合、出力値は NoData になります。

  • ポピュラリティ レベル 1 は、[セル統計 (Cell Statistics)] ツールの [最頻値] オプションと同様に最頻値です。

  • 入力ラスターのいずれかが浮動小数点である場合、出力は浮動小数点になります。それ以外の場合、整数になります。

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

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

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

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

  • すべての入力が、同数の変数を含む多次元ラスター データの場合、このツールは、ディメンション値が同じすべてのスライスについて演算を実行します。 出力は CRF 形式の多次元ラスターになります。 このツールで処理を行うには、一般的なディメンションと一般的なディメンション値が入力の変数に少なくとも 1 つ必要です。これらがないとエラーが発生します。

    すべての入力に 1 つの変数が含まれているが、名前が異なっている場合は、この操作を実行する前に、多次元変数の照合ジオプロセシング環境をオフにします (Python で arcpy.env.matchMultidimensionalVariable = False を設定します)。

    1 つ以上の入力が多次元ラスターで、それ以外の入力が定数である場合、このツールは、すべての変数のすべてのスライスについて、その定数値を使用して演算を実行し、出力は多次元ラスターになります。

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

パラメーター

ラベル説明データ タイプ
入力ポピュラリティ、または定数値

返されるポピュラリティ位置を定義する入力ラスター。

数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。

Raster Layer; Constant
入力ラスター

各セル位置について、値のポピュラリティを評価するために使用される入力ラスターのリスト。

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

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

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

戻り値

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

出力ラスター。

出力ラスターの各セルは、入力ポピュラリティ値に合致する入力ラスターの同じ位置の値を表します。

Raster

Popularity(in_popularity_raster_or_constant, in_rasters, {process_as_multiband})
名前説明データ タイプ
in_popularity_raster_or_constant

返されるポピュラリティ位置を定義する入力ラスター。

数値を入力として使用できます。しかし、セル サイズと範囲を最初に環境で設定しておく必要があります。

Raster Layer; Constant
in_rasters
[in_raster,...]

各セル位置について、値のポピュラリティを評価するために使用される入力ラスターのリスト。

Raster Layer
process_as_multiband
(オプション)

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

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

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

出力ラスターの各セルは、入力ポピュラリティ値に合致する入力ラスターの同じ位置の値を表します。

Raster

コードのサンプル

Popularity (ポピュラリティ) の例 1 (Python ウィンドウ)

この例では、複数の入力ラスターに対してポピュラリティ操作を行い、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")
Popularity (ポピュラリティ) の例 2 (スタンドアロン スクリプト)

この例では、複数の入力ラスターに対してポピュラリティ操作を行い、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"

# Execute Popularity
outPopularity = Popularity(inPopularityRaster, [inRaster01, inRaster02, inRaster03])

# Save the output 
outPopularity.save("C:/sapyexamples/output/outpop")

関連トピック