Spatial Analyst のライセンスで利用可能。
Image Analyst ライセンスで利用できます。
[フォーカル統計 (Focal Statistics)] ツールは、重なるウィンドウまたは近傍のセット内で、入力セルの統計を計算する近傍解析操作を実行します。 統計 (たとえば、平均、最大、合計) は、各近傍内に含まれるすべての入力セルについて計算されます。
近傍処理
概念的には、アルゴリズムが入力ラスター内の各セルを調べて、特定された近傍の形状内にあるセルの統計情報を計算します。 統計情報を計算する対象のセルは、処理セルと呼ばれます。 処理セルの値は、通常、近傍統計情報の計算に含められますが、近傍の形状によっては含められない場合もあります。 近傍はスキャン プロセスで重なり合うため、一方の処理セルの計算に含められている入力セルももう一方の処理セルの計算に影響します。
さまざまな定義済みの近傍の形状から選択できます。 カスタム形状を作成することもできます。 近傍で計算できる統計情報は、最頻値、最大値、平均値、中央値、最小値、最少頻値、パーセンタイル値、範囲、標準偏差、合計値、および種類です。
計算例
[フォーカル統計 (Focal Statistics)] ツールの近傍処理を示すために、値が 5 の処理セル (下の図を参照) を囲む近傍の合計統計情報を計算することを検討します。 近傍の形状は 3 x 3 セルの四角形に指定され、[計算時に NoData を除外] パラメーターはデフォルト設定のオンのままです。 隣接セルの値 (3 + 2 + 3 + 4 + 2 + 1 + 4 = 19) と処理セルの値 (5) の合計は 24 (19 + 5 = 24) です。 値 24 が、入力ラスターの処理セルと同じ位置にある出力ラスターのセルの値になります。
上の図は、入力ラスターの単一のセルに対して実行される計算を示しています。 下の図は、すべての入力セルの結果を示しています。 黄色の線で囲まれたセルは、上の例と同じ処理セルおよび近傍です。
NoData セル
[計算時に NoData を除外] パラメーターは、近傍ウィンドウ内の NoData セルの処理方法を制御します。 このパラメーターをオンにすると (Python では ignore_nodata = "DATA")、NoData である近傍内のセルは、処理セルの出力値の計算時に除外されます。 オフにすると (Python では ignore_nodata = "NODATA")、NoData である近傍内のセルは、処理セルの出力値が NoData になります。
処理の対象となっているセル自体が NoData で、[計算時に NoData を除外] オプションが選択されている場合、そのセルの出力値は、有効な値を持つ近傍内の他のセルに基づいて計算されます。 近傍内のセルがすべて NoData の場合、出力は NoData になります。
コーナーのセルとエッジのセル
処理セルが入力ラスターのコーナーとエッジの近くにある場合、近傍に含まれるセルの数はそれに従って調整されます。 統計情報の計算も調整されます。
以下の図は、各処理セルの出力統計情報を個々の近傍内で利用可能なセルから計算する方法を示しています。 処理は入力ラスターの左上隅から開始し、各行で左から右にスキャンしてから次の行に進みます。 この例で使用される近傍は、3 x 3 セルの四角形で、使用される統計情報は合計です。 [計算時に NoData を除外] パラメーターはデフォルト設定のオンのままです。 ダイアグラムでは、近傍は黄色で表示され、処理セルはシアンで表示されます。
最初の処理セルの場合、入力ラスター 6 x 6 セル ラスターの左上隅にあるため、近傍内で利用できるセルは 4 つだけです。 これらの値を加算すると、最初のセルの出力値には 11 が割り当てられます。 右隣のセルの場合、近傍に 6 つのセルがあり、合計はこれらのセルに対して計算されます。 スキャンは最初のセル内のすべてのセルにわたって行われます。 容量を節約するために、一部の処理セルは表示されません。
1 行目の左から 3 番目の処理セル (値 = 1) で、入力セルのいずれかに NoData の値があります。 ツールは NoData を除外するように設定されているため、その特定のセルは計算で除外されます。 計算される統計情報が [合計] ではなく [平均] に設定されている場合は、NoData ではない近傍内のすべてのセルの合計を 5 で除算して計算されます。
入力セルの 2 行目では、最初の処理セルの統計情報が、近傍で利用できる 6 つのセルに基づいて計算されます。 次の処理セルの場合、計算で考慮されるセルが 9 個あります。 以降のセルでは、3 x 3 の近傍にあるセルのいずれかが NoData のため、計算に使用する入力値が 8 個あります。 この処理は行内の残りのセルに対して継続され、すべての処理セルが解析されるまでそれ以降の行で繰り返されます。
近傍サイズとパフォーマンス
このツールでは、非常に大規模な近傍を処理することができます。 ただし、近傍のサイズが大きくなると、それぞれの計算に含まれる入力セルの数が多くなるため、パフォーマンスに影響が及びます。 四角形近傍タイプには、特定のエリアの他の近傍形状を基準にしてパフォーマンスを上げることができる最適化方法があります。
近傍のディメンションの最大サイズは 4,096 セルに制限されています。 つまり、四角形の近傍は、水平方向でも垂直方向でもこのセル数を超えることができません。 円形の近傍の場合は、半径が 2,047 セルを超えることができません。
近傍タイプ
近傍の形状は、ドーナツ形、円形、長方形、または扇形にできます。 カーネル ファイルを使用することで、独自の近傍の形状を定義することもでき、また、統計情報が計算される前に近傍内の特定のセルに異なる重みを割り当てることもできます。
次に、それぞれの近傍の形状とその定義について説明します。
- ドーナツ型
- ドーナツ形の形状は 2 つの円で構成されており、ドーナツ形になるように 1 つの円がもう 1 つの円の内側にあります。 小さい円の外側および大きい円の内側に中心があるセルが近傍の処理に含められます。 2 つの円の間にある領域はドーナツ形の近傍となります。
- 半径は、セル数、またはマップの単位で指定され、X 軸または Y 軸に垂直に計測されます。 マップ単位に半径を指定すると、それらはセル単位の半径に変換されます。 このセル単位の半径によって生成される領域は、マップ単位の元の半径で計算される領域を最もよく表しています。 ドーナツ形で囲まれるセルの中心が、近傍の処理に含められます。
- デフォルトのドーナツ形の近傍は、内径が 1 セル、外径が 3 セルです。
- ドーナツ形の近傍の例は、次のとおりです。
- 円形
- 円の近傍は、半径の値を指定して作成します。
- 半径は、セルまたはマップの単位で指定され、X 軸または Y 軸に垂直に計測されます。 半径がマップの単位で指定されている場合は、処理中の近傍に含まれるセルが次の方法で判定されます。 はじめに、指定した半径値で定義される円の正確なエリアが計算されます。 次に、指定した半径値が切り捨てられる円と、切り上げられる円についてエリアが計算されます。 これらの 2 つのエリアは指定した半径から得られたエリアと比較され、近い方のエリアの半径が演算に使用されます。
- 円の近傍のデフォルトの半径は 3 セルです。
- 円の近傍の例は、次のとおりです。
- 四角形
- 四角形の近傍は、セルまたはマップ単位のいずれかに幅および高さを入力すると決まります。
- 定義されたオブジェクト内に中心があるセルのみが、四角形の近傍の一部として処理されます。
- 四角形のデフォルトの近傍は、高さと幅が 3 x 3 セルの正方形です。
- 近傍の左上隅を原点とする近傍内の処理セルの X、Y 位置が次の方程式で決定されます。
x = (近傍の幅 + 1)/2 y = (近傍の高さ + 1)/2
セルの入力値が偶数であれば、X、Y 座標は切詰めを使用して計算されます。 たとえば、5 x 5 セルの近傍では X,Y 値が 3,3 になり、 4 x 4 の近傍では X,Y 値が 2,2 になります。
- 2 つの長方形の近傍を使用する例を以下に示します。
- 扇形
- 扇形は、半径、開始角度、終了角度によって定義されるパイ形の近傍です。
- 扇形の角度は、反時計回りです。 角度は、0 から 360 までの算術次数です。0 は正の X 軸 (時計の 3 時) 上にあり、整数または浮動小数で表されます。 負の角度も使用できます。
- 半径は、セル数、またはマップの単位で指定され、X 軸または Y 軸に垂直に計測されます。 マップ単位に半径を指定すると、それはセル単位の半径に変換されます。 このセル単位の半径によって生成される領域は、マップ単位の元の半径で計算される領域を最もよく表しています。 扇形で囲まれるセルの中心が、近傍の処理に含められます。
- 扇形のデフォルトの近傍は 0 ~ 90 度で半径は 3 セルです。
- 扇形の近傍の例は、次のとおりです。
- 不規則
- 処理セルを囲む不規則な形状の近傍を指定できます。
- 不規則な近傍を定義するカーネル ファイルで、近傍内に含めるセルの位置を指定します。
- 近傍の左上隅を原点とする近傍内の処理セルの X、Y 位置が次の方程式で決定されます。
x = (幅 + 1)/2 y = (高さ + 1)/2
セルの入力値が偶数であれば、X、Y 座標は切詰めを使用して計算されます。
- 以下が不規則な近傍のカーネル ファイルに適用されます。
- このカーネル ファイルは、不規則な近傍の値と形状を定義する ASCII テキスト ファイルです。 ファイルは任意のテキスト エディターで作成できます。 このファイルには *.txt 拡張子を付ける必要があります。
- 最初の行で、近傍の幅と高さを「X 方向のセルの数、スペース、Y 方向のセルの数」の形式で指定します。
- 後続の行では、表される近傍内の各位置に使用する値を定義します。 それぞれの値の間にはスペースが必要です。
- この値は、近傍内の位置を計算に含めるかどうかを定義します。 通常、不規則な近傍の計算に含める位置を特定するには値 1 を使用しますが、0 以外の任意の正または負の値を使用できます。 浮動小数の値も使用できます。
- 近傍内のロケーションを計算から除外するには、カーネル ファイルで対応するロケーションに 0 の値 (空白ではない) を使用します。
- 次の図は、不規則な近傍を定義する ASCII 形式のカーネル ファイルとそれが定義する近傍の例を示しています。
- ウェイト
- 不規則な近傍のタイプと同様に、重み付けされた近傍は処理セルの周囲に不規則な近傍を定義できますが、それに加えて、入力値を重み付けできます。
- 重みを定義するカーネル ファイルで、近傍に含めるセルの位置とそれらを乗算する重みを指定します。
- 重み付けのある近傍は、平均値、標準偏差、および合計値の統計情報の種類でのみ使用できます。
- 近傍の左上隅を原点とする近傍内の処理セルの X、Y 位置が次の方程式で決定されます。
x = (幅 + 1)/2 y = (高さ + 1)/2
セルの入力値が偶数であれば、X、Y 座標は切詰めを使用して計算されます。
- 以下が重み付けのある近傍のカーネル ファイルに適用されます。
- このカーネル ファイルは、重み付けのある近傍の値と形状を定義する ASCII テキスト ファイルです。 ファイルは任意のテキスト エディターで作成できます。 このファイルには *.txt 拡張子を付ける必要があります。
- 最初の行で、近傍の幅と高さを「X 方向のセルの数、スペース、Y 方向のセルの数」の形式で指定します。
- 後続の行では、表される近傍内の各位置に使用する値を定義します。 それぞれの値の間にはスペースが必要です。
- 合計値の統計情報の場合、加重は、正または負の整数または浮動小数点で指定できます。
- 平均値または標準偏差の統計情報の場合、加重は、正の整数または浮動小数点で指定できます。 これらの統計情報に負の値は許可されていないため、計算では負の加重が指定された位置は無視されます。
- 近傍内のロケーションを計算から除外するには、カーネル ファイルで対応するロケーションに 0 の値 (空白ではない) を使用します。
- 次の図は、重み付けのある近傍を定義するカーネル ファイルのコンテンツとそれが定義する近傍の例を示しています。
統計情報のタイプ
使用できる統計情報は、最頻値、最大、平均、中央、最小、最少頻値、パーセンタイル、範囲、標準偏差、合計、および種類です。 統計情報のデフォルトの種類は平均値です。
特定の統計情報タイプが使用できるのは、入力ラスターのタイプが整数の場合に限ります。
- 最頻値
- 整数ラスターのみを入力に使用できます。
- 各近傍内の個別のセル値の頻度が求められます。 頻度が最も高い (最も頻繁に発生する) 値が 1 つである場合、その値はその近傍内のすべてのセルに割り当てられます。 同一頻度の値が複数ある場合、処理セルの値がその同一頻度の値のいずれかでない限り、同一頻度の値の中で最も小さい値が割り当てられます。 その場合、処理セルの元の値が返されます。
- 最大
- 入力ラスターが整数値であれば、出力ラスターの値も整数値になります。入力の値が浮動小数値であれば、出力の値も浮動小数値になります。
- 平均
- 入力は、整数または浮動小数のラスターが使用できます。
- 出力ラスターは常に浮動小数値になります。
- 加重近傍タイプの場合、これはサポートされている統計情報タイプのサブセットの 1 つです。 この統計情報の計算方法の詳細については、「加重近傍」のセクションをご参照ください。
- 中央値
- 入力は、整数または浮動小数のラスターが使用できます。
- 出力ラスターは常に浮動小数値になります。
- 近傍内の有効なセル値の数が奇数であれば、値をランク付けし、中央の値を選択することで、中央値が計算されます。 近傍内のセル値が偶数の場合は、値をランク付けし、中央の 2 つの値の平均をとります。
- 最小
- 入力ラスターが整数値であれば、出力ラスターの値も整数値になります。入力の値が浮動小数値であれば、出力の値も浮動小数値になります。
- 最少頻値
- 整数ラスターのみを入力に使用できます。
- 各近傍内の個別のセル値の頻度が求められます。 頻度が最も低い (発生数が最も少ない) 値が 1 つである場合、その値はその近傍内のすべてのセルに割り当てられます。 同一頻度の値が複数ある場合、処理セルの値がその同一頻度の値のいずれかでない限り、同一頻度の値の中で最も小さい値が割り当てられます。 その場合、処理セルの元の値が返されます。
- パーセンタイル
- 入力は、整数または浮動小数のラスターが使用できます。
- 出力ラスターは常に浮動小数値になります。
- パーセンタイルの統計情報の結果は、次の数式に従って算出されます (Hybndman and Fan, 1996):
pk = (k-1)/(n-1)
- 範囲
- 入力ラスターが整数値であれば、出力ラスターの値も整数値になります。入力の値が浮動小数値であれば、出力の値も浮動小数値になります。
- 出力ラスターでの各セルのロケーションの値が次の式を適用することによりセル単位で決定されます。Focal Range = Focal Maximum – Focal Minimum
- 標準偏差
- 出力ラスターは常に浮動小数値になります。
- 加重近傍タイプの場合、これはサポートされている統計情報タイプのサブセットの 1 つです。 この統計情報の計算方法の詳細については、「加重近傍」のセクションをご参照ください。
- 標準偏差は、サンプルから推定される (N-1 法) のではなく、母集団全体で計算されます (N 法)。
- 合計
- 入力ラスターが整数値であれば、出力ラスターの値も整数値になります。入力の値が浮動小数値であれば、出力の値も浮動小数値になります。
- 加重近傍タイプの場合、これはサポートされている統計情報タイプのサブセットの 1 つです。 この統計情報の計算方法の詳細については、「加重近傍」のセクションをご参照ください。
- 種類
- 整数ラスターのみを入力に使用できます。
加重近傍の計算
近傍内の各セルが処理セルの最終結果に及ぼす影響の量は、重み付けを行うことによって調整できます。
次のセクションでは、加重平均、標準偏差、および合計の統計情報の計算に使用する式を示します。 それぞれの式に例が付属し、処理セルの計算と 3 x 3 セルの長方形の近傍での結果を示します。
加重平均の統計情報
重み付けのある近傍で平均値の統計情報を使用する場合、中央処理セルの出力値は、入力値を乗算したカーネル加重値の積の合計をカーネル加重値の合計で割った値です。
近傍内のセルに適用される式は次のとおりです。
ここで、
- µW は処理セルの人口加重平均値です。
- N は近傍内のセルの数です。
- wi はカーネルで定義された加重値です。
- xi は入力セル値です。
レガシー:
これまでのリリースでは、分母として近傍内のセルの数が計算に使用されました。
加重値は、正の値でなければならず、整数または浮動小数のいずれかになります。
例
値が 7 で 8 つの周辺セルがある、次の処理セルについて考えてみましょう。
4 6 7 6 7 8 4 5 6
これらの値の数学上の平均値は 53/9 = 5.889 です。
次の 3 x 3 セルの加重カーネルについて考えてみましょう。
3 3 0.0 0.5 0.0 0.5 2.0 0.5 0.0 0.5 0.0
このカーネルは、最も高い影響を中央セルに与え (重み付けが 2)、処理セルに直交する 4 つの近傍の影響を緩和し (重み付けが 0.5)、4 つのコーナーのセルには影響しません (重み付けが 0)。
以下に、上記の加重平均の方程式を適用して、最終的な値を得るための計算を示します。
= (w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6 + w7x7 + w8x8 + w9x9) / (w1 + w2 + w3 + w4 + w5 + w6 + w7 + w8 + w9) = ((0*4)+(0.5*6)+(0*7)+(0.5*6)+(2.0*7)+(0.5*8)+(0*4)+(0.5*5)+(0*6)) / (0+0.5 + 0 + 0.5 + 2.0 + 0.5 + 0 + 0.5 + 0) = (0 + 3.0 + 0 + 3.0 + 14.0 + 4.0 + 0 + 2.5 + 0) / (0.5 + 0.5 + 2.0 + 0.5 + 0.5) = (3.0 + 3.0 + 14.0 + 4.0 + 2.5) / 4.0 = 26.5 / 4.0 = 6.625
比較すると、9 つの入力セルの通常平均値は 5.889 になります。 カーネル内にある 5 つの入力セルだけ (加重が 0 以外) を含めて、加重値を考慮しないと、平均値は 6.4 になります (6 + 6 + 7 + 8 + 5 = 32、5 で割った場合)。
加重標準偏差の統計情報
重み付けのある近傍で標準偏差の統計情報を使用する場合、処理セルの出力値は、次の方程式の結果です。
ここで、
- SDW は処理セルの人口加重標準偏差値です。
- µW は処理セルの人口加重平均値です。
- N は近傍内のセルの数です。
- wi はカーネルで定義された加重値です。
- xi は入力セル値です。
加重値は、正の値でなければならず、整数または浮動小数のいずれかになります。
すべての入力値が同じ場合、その処理セルの標準偏差値は 0 になります。
例
この例では、上記の加重平均の例で使用した近傍値と同じ近傍値を再び使用します。
4 6 7 6 7 8 4 5 6
同じ加重カーネル値も使用します。
3 3 0.0 0.5 0.0 0.5 2.0 0.5 0.0 0.5 0.0
上記の加重標準偏差の方程式を値が 7 の中央処理セルに適用すると、加重標準偏差の計算結果は約 0.85696 になります。
加重合計の統計情報
重み付けのある近傍で合計の統計情報を使用する場合、処理セルの出力値は、次の方程式の結果です。
ここで、
- SW は処理セルの加重合計値です。
- N は近傍内のセルの数です。
- wi はカーネルで定義された加重値です。
- xi は入力セル値です。
加重値は、正または負のいずれかで、整数または浮動小数のいずれかになります。
例
次の近傍の入力値について考えてみましょう。
4 6 7 6 7 8 4 5 6
次の 3 x 3 セルの加重カーネルについて考えてみましょう。
3 3 -1 -2 -1 0 0 0 1 2 1
以下に、上記の方程式を適用して、最終的な値を得るために使用する計算を示します。
= (w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6 + w7x7 + w8x8 + w9x9) = ((-1*4) + (-2*6) + (-1*7) + (0*6) + (0*7) + (0*8) + (1*4) + (2*5) + (1*6)) = (-4) + (-12) + (-7) + 4 + 10 + 6 = -3
参考文献
- Hyndman, R.J. and Y. Fan, November 1996. "Sample Quantiles in Statistical Packages." The American Statistician 50 (4): 361-365.