Set NULL (Image Analyst)

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

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

概要

[Set Null] は、指定した条件に基づいて指定のセル位置を NoData に設定します。条件評価が True の場合は NoData、False の場合は別のラスターで指定した値を返します。

[Set Null] ツールでセル値を NoData に設定する方法の詳細

Set Null の図
OutRas = SetNull(InRas1, InRas2, "Value = 4")

使用法

  • WHERE 句の評価が True の場合、出力ラスターでそのセル位置には NoData が割り当てられます。評価が偽の場合、出力ラスターは、入力 False ラスターまたは定数値によって定義されます。

  • WHERE 句が指定されていない場合、出力ラスターは条件ラスターが 0 でなければ必ず NoData になります。

  • 入力条件ラスターは、出力データ タイプが整数と浮動小数のどちらになるかに影響しません。入力 False ラスター (または定数値) に浮動小数値が含まれている場合、出力ラスターも浮動小数になります。すべてが整数値の場合、出力ラスターも整数ラスターになります。

  • [式] は SQL クエリを使用します。クエリを作成する方法の詳細については、以下のトピックをご参照ください。

  • Python で {where_clause} を使用するには、これを引用符で囲む必要があります。例: "Value > 5000"

    Python でのクエリの指定については、ヘルプをご参照ください。

  • 論理式の最大長は 4,096 文字です。

構文

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
パラメーター説明データ タイプ
in_conditional_raster

目的の条件の結果 (true または false) を表す入力ラスター。

整数タイプでも浮動小数点タイプでもかまいません。

Raster Layer
in_false_raster_or_constant

条件が false である場合に出力セル値として使用される値を持つ入力。

整数タイプまたは浮動小数点タイプのラスター、もしくは定数値のいずれでもかまいません。

Raster Layer; Constant
where_clause
(オプション)

各入力セルが true であるか、もしくは false であるかを決定する論理式。

式は、SQL 式の一般的な形式に従います。where_clause の例は、「"VALUE > 100"」です。

SQL Expression

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

条件評価が True の場合、NoData が返されます。False の場合、2 番目の入力ラスターの値が返されます。

Raster

コードのサンプル

SetNull の例 1 (Python ウィンドウ)

次の式では、0 よりも大きい値を持つ入力セルが NoData に設定され、残りのセルは元の値を保持します。

import arcpy
from arcpy import env
from arcpy.ia import *
env.workspace = "C:/iapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/iapyexamples/output/outsetnull.img")
SetNull の例 2 (スタンドアロン スクリプト)

次の例では、7 以外の値を持つ入力セルが NoData に設定され、7 の値を持つセルは出力で値 1 に設定されます。

# Name: SetNull_Ex_02.py
# Description: Returns NoData if a conditional evaluation is 
#              true and returns the value specified by another
#              raster if it is false, on a pixel-by-pixel basis.
# Requirements: Image Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *

# Set environment settings
env.workspace = "C:/iapyexamples/data"

# Set local variables
inRaster = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

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

# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)

# Save the output 
outSetNull.save("C:/iapyexamples/output/outsetnull")

ライセンス情報

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

関連トピック