ニブル (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_VALUESNoData 値とデータ値の両方が、マスク ラスター内に定義されたエリアをニブルできます。入力ラスター内の NoData 値は、それが最も近い近傍であれば、マスクで定義されたエリアをニブルできます。これがデフォルトです。
  • DATA_ONLYデータ値のみが、マスク ラスター内に定義されたエリアをニブルできます。入力ラスター内の NoData 値は、それが最も近い近傍であっても、マスク ラスターで定義されたエリアをニブルできません。
Boolean
nibble_nodata
(オプション)

マスク内の入力ラスターの NoData セルが、出力ラスターでも NoData のままになるかどうかを指定します。

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

入力ゾーン ラスター。各ゾーンで、マスク内にある入力セルが、そのゾーン内の最近傍のセル値にのみ置き換えられます。

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

Raster Layer

戻り値

名前説明データ タイプ
out_raster

出力ニブル ラスター。

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

in_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

関連トピック