境界のスムージング (Boundary Clean) および大多数フィルター (Majority Filter) を使用したゾーン エッジのスムージング

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

[境界のスムージング (Boundary Clean)] ツールと [大多数フィルター (Majority Filter)] ツールを使用して、ラスター内のゾーンのエッジに沿ってジェネラライズします。エッジは、ゾーン間の境界を拡張および縮小するか、セルを直近の近傍内の最頻値に置き換えることによってスムージングされます。

境界のスムージング

[境界のスムージング (Boundary Clean)] ツールは、ゾーン間の境界をスムージングすることによってラスターをジェネラライズ (または単純化) します。拡張と縮小の方法を適用し、その直近の近傍を使用して各セルを評価します。ゾーンのセルがスムージングにどのように影響するかを制御するためのオプションがいくつかあります。スムージングの度合いも制御することができます。

優先度で並べ替え

特定の優先度で入力ラスター内のゾーンをソートすることにより、処理が開始します。入力内の各セルに対して、この優先度を使用して、処理セルの値を置き換える周囲の近傍のゾーン値が決まります。

ソートの優先度は、ゾーンの値またはゾーンのサイズに基づくことができます。[並べ替えタイプ] パラメーターは、使用するソートの優先度を指定します。デフォルトの [ソートなし] 設定では、ゾーンのセルの値が大きいほど、小さい値を持つゾーンに拡大する優先度が高くなります。[降順] 設定では、ゾーンの面積が大きいほど、面積が小さいゾーンに拡大する優先度が高くなります。[昇順] 設定では、ゾーンの面積が小さいほど、面積が大きいゾーンに拡大する優先度が高くなります。

スムージングの量

スムージングの量は拡張と縮小の処理を実行する回数 (1 回または 2 回) によって制御されます。デフォルトは 2 回で、スムージングの量が大きくなります。

拡張と縮小の処理

拡張と縮小の処理では、[並べ替えタイプ] パラメーターで設定されているソートの優先度に従って各処理セルの直近の近傍を評価します。

この処理では、拡張の後に縮小が行われます。この処理は、[拡張と縮小を 2 度実行する] パラメーターがオフの場合 (Python では number_of_runs パラメーターが ONE_WAY に設定されている場合)、1 回実行されます。このパラメーターがオンの場合 (Python では number_of_runs パラメーターが TWO_WAY に設定されている場合)、拡張と縮小の処理は 2 回実行されます。

この処理で使用されるアルゴリズムの詳細を以下に説明します。

一方向の拡張と縮小

一方向の設定では、拡張と縮小の処理が 1 回実行されます。

拡張のパスでは、次のようになります。

  • 入力ラスターの各処理セルに対して、各近傍セルを評価します。
  • 各近傍セルに対して、その近傍セルの優先度の値が処理セルの優先度の値より小さいかどうかを評価します。小さい場合は、入力処理セルの優先度になるように内部近傍の優先度を割り当てます。内部拡張ラスターを新しい優先度の値で更新して、次の近傍セルに進みます。

縮小のパスでは、次のようになります。

  • 入力ラスターの各処理セルに対して、最初のパスで作成した内部拡張ラスターの値を使用して各近傍セルを評価します。
  • 近傍セルの優先度が処理セルの優先度と同じ場合、元の入力ラスターのセル値を出力にコピーします。いずれかの近傍セルで条件が満たされない場合は、拡張ラスターのセル値を出力にコピーします。

双方向の拡張と縮小

[拡張と縮小を 2 度実行する] パラメーターがオンの場合 (Python では number_of_runs パラメーターが TWO_WAY に設定されている場合)、2 回目の拡張と縮小の処理は実行されますが、今回は優先度が反転します。操作の最初のパスからの出力は 2 回目のパスの入力として使用されます。

最初の拡張のパスでは、一方向の拡張のパスで使用されたロジックと同じロジックが使用されます。

最初の縮小のパスでは、一方向の縮小のパスで使用されたロジックと同じロジックが使用されます。

2 回目の拡張のパスでは、次のようになります。

  • 最初の拡張と縮小の処理で生成された入力ラスターの各処理セルに対して、各近傍セルを評価します。
  • 各近傍セルに対して、その近傍セルの優先度の値が処理セルの優先度の値より大きいかどうかを評価します。小さい場合は、入力処理セルの優先度になるように内部近傍の優先度を割り当てます。内部拡張ラスターを新しい優先度の値で更新して、次の近傍セルに進みます。

2 回目の縮小のパスでは、次のようになります。

  • 前のステップの内部拡張ラスターの各処理セルに対して、各近傍セルを評価します。
  • 各近傍セルについて、その近傍セルの優先度の値が拡張ラスターの処理セルの値より大きい場合は、元のラスターの処理セルの値を出力にコピーします。
  • 近傍セルの優先度の値が拡張ラスターの処理セルの値と同じ場合は、拡張ラスターの処理セルの値を出力にコピーします。

NoData の処理

NoData の入力セルは、拡張と縮小の処理が 1 回実行されるとき、または拡張と縮小の処理が 2 回実行される場合のセカンド パスにおいて、優先度が最低です。双方向ソートのセカンド パスでは、NoData のセルの優先度が最高になります。

さまざまなパラメーターの効果を出力に表示するには、以下の入力ラスターを検討します。

[境界のスムージング (Boundary Clean)] の入力ラスターの例

[境界のスムージング (Boundary Clean)] の入力ラスターの例を示します。NoData のセルはグレーで表示されます。

[拡張と縮小を 2 度実行する] パラメーターの両設定 (オフまたはオン) で、[並べ替えタイプ] パラメーターのすべての設定の出力が表示されます。

[並べ替えタイプ] パラメーターが [ソートなし] の場合、出力ラスターは次のとおりです。

[ソートなし] および [一方向] (オフ) 設定の場合の出力例
一方向 (オフ)
[ソートなし] および [双方向] (オン) 設定の場合の出力例
双方向 (オン)

[並べ替えタイプ] パラメーターが [降順] の場合、出力ラスターは次のとおりです。

[降順] および [一方向] (オフ) 設定の場合の出力例
一方向 (オフ)
[降順] および [双方向] (オン) 設定の場合の出力例
双方向 (オン)

[並べ替えタイプ] パラメーターが [昇順] の場合、出力ラスターは次のとおりです。

[昇順] および [一方向] (オフ) 設定の場合の出力例
一方向 (オフ)
[昇順] および [双方向] (オン) 設定の場合の出力例
双方向 (オン)

大多数フィルター

[大多数フィルター (Majority Filter)] ツールは、連続する近傍の最頻値に基づいてセルを置換します。このツールには、置換を行うために満たす必要のある条件が 2 つあります。はじめに、同じ値を持つ隣接セルの個数が最頻値となるほど十分に大きい必要があります。または、少なくとも半分の数のセルが、同じ値を持つ必要があります (指定したパラメーターに基づく)。つまり、隣接するセル 4 個のうち 3 個、または 8 個のうち 5 個が最頻値のパラメーターと同じ値を持ち、半分のパラメーターの場合はセル 4 個のうち 2 個、または 8 個のうち 4 個が最頻値のパラメーターと同じ値を持つ必要があります。次に、それらのセルは、指定フィルターの中心と連続している必要があります (例: 4 個のセルのうち 3 個が同じ値)。セルの空間接続性に関する 2 番目の条件により、セルによる空間パターンの改変が最小になります。これらの条件が満たされない場合、置換は行われず、セルの値が保持されます。

以下の図では、最も近い 4 個のセルのフィルターを使用して、入力ラスターに [大多数フィルター (Majority Filter)] が適用されています。このフィルターは 4 個の隣接する直交セルで、セルの値を変更するには最頻値 (4 個のセルのうち 3 個) が同じ必要があります。同じ値を持つ 3 つ以上の (直交) セルに囲まれるセルのみが変更されます。

大多数フィルター (Majority Filter) の図 1
OutRas = MajorityFilter(InRas1)

以下の図の [大多数フィルター (Majority Filter)] ツールの適用では、隣接する 8 個のセルをフィルターとして使用し、セルの値を変更するには、少なくとも半分の値 (8 個のセルのうち 4 個) が同じ値である必要があります。スムージング効果が大きいことに注意してください。

大多数フィルター (Majority Filter) の図 2
OutRas = MajorityFilter(InRas1, eight, half)

関連トピック