ニブル (Nibble) (Spatial Analyst)

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

概要

マスクに対応するラスターのセルを、最も近い近傍セルの値で置換します。

[ニブル (Nibble)] ツールの詳細

Nibble の図
OutRas = Nibble(InRas1, Mask_Ras)

使用法

  • [ニブル (Nibble)] では、ラスターの選択したエリアに最近傍の値を割り当てることができます。いくつかの個別セルを、最も近い近傍値に置換するために使われます。マスク エリアが大きくなれば、広範囲のセルを置換できます。

    データがエラーであることが分かっているラスターのエリアを編集するときによく使われる方法です。

  • 入力マスク ラスターで NoData となるセルは、ニブルされるセルを定義します。マスク エリア内にない入力ラスターのロケーションはニブルされないため、その出力値は入力値と同じになります。

    マスク内にない入力ラスターの NoData セルはニブルされません。そのようなセルは、2 つの NoData パラメーターの設定に関係なく、NoData のままとなります。

  • このツールは、並列処理をサポートしています。お使いのコンピューターに、複数のプロセッサや、複数のコアを持つプロセッサが搭載されている場合は、特に対象となるデータセットが大きいときにパフォーマンスが向上します。「Spatial Analyst による並列処理」ヘルプ トピックには、この機能と設定方法の詳細が記載されています。

    並列処理を使用する場合、処理中のデータ チャンクを処理するために一時データが書き込まれます。デフォルトの一時フォルダーの場所は、ローカルの C ドライブ上です。このフォルダーの場所は、TempFolders という名前のシステム環境変数を設定し、使用するフォルダーへのパスを指定することで変更できます (例: E:\RasterCache)。コンピューター上で管理権限を持っている場合は、レジストリ キー (例: [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]) を使用することもできます。

    デフォルトでは、このツールは使用可能なコアの 50% を使うようになっています。入力データのサイズが 5,000 セル x 5,000 セルよりも小さい場合、使用されるコア数はそれよりも少なくなります。並列処理ファクター環境で、ツールが使用するコアの数を制御できます。

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

構文

Nibble(in_raster, in_mask_raster, {nibble_values}, {nibble_nodata}, {in_zone_raster})
パラメーター説明データ タイプ
in_raster

ニブルされる入力ラスター。

入力ラスターは、整数タイプまたは浮動小数点タイプのいずれかになります。

Raster Layer
in_mask_raster

マスクとして使用されるラスター。

マスク ラスターで NoData のセルは、in_raster で最も近い近傍値にニブル (または置換) されるセルを特定します。

マスク ラスターは、整数タイプまたは浮動小数点タイプのいずれかになります。

Raster Layer
nibble_values
(オプション)

入力ラスター内の NoData 値が、マスク ラスターで定義されたエリアをニブルすることを許可するかどうかを定義するキーワード。

  • ALL_VALUES入力ラスター内で最も近い近傍値が NoData かどうかに関係なく、その値が使用されます。入力ラスター内の NoData 値は、それが最も近い近傍であれば、マスクで定義されたエリアをニブルできます。これがデフォルトです。
  • DATA_ONLYデータ値のみが、マスク ラスター内に定義されたエリアをニブルできます。入力ラスター内の NoData 値は、それが最も近い近傍であっても、マスク ラスターで定義されたエリアをニブルできません。
Boolean
nibble_nodata
(オプション)

入力ラスターの NoData セルが、出力ラスターでも NoData のままであるかどうかを定義するキーワード。

  • PRESERVE_NODATA入力ラスター内の NoData セルは、出力でも NoData のままであることを指定します。これがデフォルトです。
  • PROCESS_NODATAマスク内にある入力ラスターの NoData セルをニブルして、有効な出力セル値にすることができます。
Boolean
in_zone_raster
(オプション)

入力ゾーン ラスター。各ゾーンにつき、マスク内にある入力セルは、同じゾーン内にある最も近い近傍セル値にのみ置換されます。

ゾーンは同じ値を持つラスターのすべてのセルで、連続しているかどうかは関係ありません。入力ゾーン レイヤーは、ゾーンの形状、値、および位置を指定します。ゾーン ラスターは、整数タイプまたは浮動小数点タイプのいずれかになります。

Raster Layer

戻り値

名前説明データ タイプ
out_raster

出力ニブル ラスター。

識別された入力セルは、最も近い近傍セル値で置換されます。

[入力ラスター] が整数の場合、出力ラスターも整数になります。入力ラスターが浮動小数点である場合、出力ラスターも浮動小数点になります。

Raster

コードのサンプル

Nibble (ニブル) の例 1 (Python ウィンドウ)

次の例では、マスク入力で識別されるセルを、入力ラスターの最も近い近傍セルで決定される値で置換しています。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
nibbleOut = Nibble("land", "snow", "DATA_ONLY")
nibbleOut.save("C:/sapyexamples/output/nibbleout")
Nibble (ニブル) の例 2 (スタンドアロン スクリプト)

次の例では、マスク入力で識別されるセルを、入力ラスターの最も近い近傍セルで決定される値で置換しています。

# Name: Nibble_Ex_02.py
# Description: Replaces cells of a raster corresponding to a mask 
#              with the values of the nearest neighbors.
# 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
inRaster = "land"
inMask = "snow"

# Execute Nibble
nibbleOut = Nibble(inRaster, inMask, "ALL_VALUES")

# Save the output 
nibbleOut.save("C:/sapyexamples/output/outnibble")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst
  • Standard: 次のものが必要 Spatial Analyst
  • Advanced: 次のものが必要 Spatial Analyst

関連トピック