多次元異常の生成 (Generate Multidimensional Anomaly) (Spatial Analyst)

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

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

概要

既存の多次元ラスター内のスライスごとに異常を計算し、新しい多次元ラスターを生成します。

異常は、その標準値または平均値からの観測の偏差です。

使用法

  • サポートされている多次元ラスター データセットには、CRF (Cloud Raster Format)、多次元モザイク データセット、netCDF、GRIB、または HDF ファイルで生成された多次元ラスター レイヤーがあります。

  • このツールは、多次元ラスター データセットを CRF (Cloud Raster Format) で生成します。現在、他の出力形式はサポートされていません。

  • このツールは、多次元ラスター内の 1 つ以上の変数で経時的な異常を計算します。時間ディメンションに加えて非時間ディメンションがある場合、追加のディメンションにおける各ステップで異常が計算されます。

    たとえば、月次の海洋温度データがあり、最大 100m まで 1m ごとに収集している場合、年平均からの偏差として温度の異常を計算します。[多次元異常の生成 (Generate Multidimensional Anomaly)] ツールは、[平均の計算間隔] パラメーターを [毎年] に設定すると、年平均に基づいて温度の異常を決定し、100 深度ごとの異常値を返します。

  • このツールは、時間ディメンションがある多次元ラスター データセットのみをサポートしています。

  • 異常値を計算する数学的手法は、以下のとおりです。平均の定義として平均値または中央値のいずれかを使用して異常を計算できます。データ分布に偏りがある場合、平均は外れ値の影響を大きく受けるため、このデータ タイプの場合は中央値または Z スコアを使用する方法が適している可能性があります。

    • 平均からの差異 = x - µ
      • x = スライス内のピクセル値
      • µ = 指定した時間間隔内のそのピクセル値の平均
    • 平均からのパーセント差 = |x - µ| / [(x + µ)/2]
      • x = スライス内のピクセル値
      • µ = 指定した時間間隔内のそのピクセル値の平均
      • |x - µ| = 値と平均の差の絶対値
    • 平均の割合 = x - µ
      • x = スライス内のピクセル値
      • µ = 指定した時間間隔内のそのピクセル値の平均
    • 中央値からの差異 = x - ß
      • x = スライス内のピクセル値
      • ß = 指定した時間間隔内のそのピクセル値の中央値
    • 中央値からのパーセント差 = |x - ß| / [(x + ß)/2]
      • x = スライス内のピクセル値
      • ß = 指定した時間間隔内のそのピクセル値の中央値
      • |x - ß| = 値と中央値の差の絶対値
    • 中央値の割合 = x / ß
      • x = スライス内のピクセル値
      • ß = 指定した時間間隔内のそのピクセル値の中央値
    • Z スコア = (x - µ) / S
      • x = スライス内のピクセル値
      • µ = 指定した時間間隔内のそのピクセル値の平均
      • S = 指定した時間間隔内のそのピクセル値の標準偏差

  • 平均と中央値は入力多次元ラスターから計算できます。また、平均の計算間隔パラメーターのラスター入力として平均または中央値を直接渡すことでも計算できます。外部ラスターは単一ラスターにすることも、多次元ラスターにすることもできます。入力が単一ラスターの場合、各スライスのピクセル値と、外部ラスターで対応するピクセル値を比較することで平均の差を計算します。入力が多次元ラスターの場合、平均の差を計算することで対応するスライスを比較し、変数と次元の数と名前を一致させます。

    外部ラスターの範囲、セル サイズ、空間参照は入力多次元ラスターと同じにする必要があります。

  • 外部ラスターを使って平均の差を計算する場合、Z スコア異常の計算方法はサポートされません。

構文

GenerateMultidimensionalAnomaly(in_multidimensional_raster, {variables}, {method}, {calculation_interval}, {ignore_nodata}, {reference_mean_raster})
パラメーター説明データ タイプ
in_multidimensional_raster

入力多次元ラスター データセット。

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
variables
[variables,...]
(オプション)

異常を計算する変数。変数が指定されない場合、時間ディメンションを含む変数がすべて解析されます。

String
method
(オプション)

異常の計算に使用する方法を指定します。

  • DIFFERENCE_FROM_MEAN間隔で定義されたすべてのスライスで、ピクセル値とそのピクセルの平均値の差が計算されます。これがデフォルトです。
  • PERCENT_DIFFERENCE_FROM_MEAN間隔で定義されたすべてのスライスで、ピクセル値とそのピクセルの平均値のパーセント差が計算されます。
  • PERCENT_OF_MEAN平均の割合が計算されます。
  • Z_SCORE各ピクセルの Z スコアが計算されます。0 の Z スコアは、ピクセルの値が平均値と同一であることを示します。1 の Z スコアは、ピクセルの値の平均値からの標準偏差が 1 であることを示します。Z スコアが 2 であれば、ピクセル値は平均から 2 標準偏差の値であることを意味します。以後同様です。
  • DIFFERENCE_FROM_MEDIAN間隔で定義されたすべてのスライスで、ピクセル値とそのピクセルの数学的中央値の差が計算されます。
  • PERCENT_DIFFERENCE_FROM_MEDIAN間隔で定義されたすべてのスライスで、ピクセル値とそのピクセルの数学的中央値のパーセント差が計算されます。
  • PERCENT_OF_MEDIAN数学的中央値の割合が計算されます。
String
calculation_interval
(オプション)

平均の計算に使用する時間間隔を指定します。

  • ALLピクセルごとにすべてのスライスで平均を計算します。
  • YEARLYピクセルごとに年間平均を計算します。
  • RECURRING_MONTHLYピクセルごとに月間平均を計算します。
  • RECURRING_WEEKLYピクセルごとに週間平均を計算します。
  • RECURRING_DAILYピクセルごとに日次平均を計算します。
  • HOURLYピクセルごとに毎時平均を計算します。
  • EXTERNAL_RASTERピクセルごとの平均または中央値を含む既存のラスター データセットが参照されます。
String
ignore_nodata
(オプション)

解析で NoData 値を無視するかどうかを指定します。

  • DATA 解析は、特定のディメンションに沿って有効なすべてのピクセルを含め、すべての NoData 値のピクセルを無視します。これがデフォルトです。
  • NODATA特定のディメンションに沿って NoData 値のピクセルが存在する場合、解析結果が NoData になります。
Boolean
reference_mean_raster
(オプション)

以前に計算したピクセルごとの平均を含む参照ラスター データセット。異常はこの平均と比較することで計算されます。

Raster Layer; Raster Dataset; Mosaic Layer; Mosaic Dataset

戻り値

名前説明データ タイプ
out_multidimensional_raster

出力される CRF (Cloud Raster Format) 多次元ラスター データセット。

Raster

コードのサンプル

GenerateMultidimensionalAnomaly (多次元異常の生成) の例 1 (Python ウィンドウ)

次の例では、温度データの多次元異常ラスターを生成して、すべてのスライスでピクセル値を平均ピクセル値と比較します。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
arcpy.CheckOutExtension("Spatial")
outTempAnomaly = GenerateMultidimensionalAnomaly(
	"C:/sapyexamples/data/climateData.nc", "temperature", "DIFFERENCE_FROM_MEAN",
        "ALL", "DATA")
outTempAnomaly.save("C:/sapyexamples/output/TempAnomaly.crf")
GenerateMultidimensionalAnomaly (多次元異常の生成) の例 2 (スタンドアロン スクリプト)

次の例では、海洋温度データの多次元異常ラスターを生成して、ピクセル値を毎年の平均と比較します。

# Name: GenerateMultidimensionalAnomaly_Ex_02.py
# Description: Generates an anomaly multidimensional raster for
#           ocean temperature data, comparing pixel values with the yearly mean
# 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"

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

""""
Usage: out_multidimensional_raster = GenerateMultidimensionalAnomaly(in_multidimensional_raster,
                                     {variables}, {method}, {temporal_interval})
"""

# Define input parameters
inputFile = "C:/sapyexamples/data/climateData.crf"
variable = "oceantemp"
averageMethod = "PERCENT_DIFFERENCE_FROM_MEAN"
averageInterval = "YEARLY"
ignoreNoData = "DATA"

# Execute GenerateMultidimensionalAnomaly
outYearlyAnomaly = GenerateMultidimensionalAnomaly(inputFile, variable, 
	averageMethod, averageInterval, ignoreNoData)

# Save the output
outYearlyAnomaly.save("C:/sapyexamples/output/TempAnomaly.crf")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst または Image Analyst
  • Standard: 次のものが必要 Spatial Analyst または Image Analyst
  • Advanced: 次のものが必要 Spatial Analyst または Image Analyst

関連トピック