Set NULL (Spatial Analyst)
サマリ
[Set Null] は、指定した条件に基づいて指定のセル位置を NoData に設定します。条件評価が True の場合は NoData、False の場合は別のラスタで指定した値を返します。
図
使用法
-
WHERE 句の評価が True の場合、出力ラスタでそのセル位置には NoData が割り当てられます。評価が偽の場合、出力ラスタは、入力 False ラスタまたは定数値によって定義されます。
-
WHERE 句が指定されていない場合、出力ラスタは条件ラスタが 0 でなければ必ず NoData になります。
-
入力条件ラスタは、出力データ タイプが整数と浮動小数のどちらになるかに影響しません。入力 False ラスタ(または定数値)に浮動小数値が含まれている場合、出力ラスタも浮動小数になります。すべてが整数値の場合、出力ラスタも整数ラスタになります。
-
論理式の最大長は 4,096 文字です。
-
Python の場合、{where_clause} は引用符で囲む必要があります。例: "Value > 5"。
構文
パラメータ | 説明 | データ タイプ |
in_conditional_raster |
目的の条件の結果(true または false)を表す入力ラスタ。 | Raster Layer |
in_false_raster_or_constant |
条件が false である場合に出力セル値として使用される値を持つ入力。 整数タイプまたは浮動小数点タイプのラスタ、もしくは定数値のいずれでもかまいません。 | Raster Layer | Constant |
where_clause (オプション) | 各入力セルが true であるか、もしくは false であるかを決定する論理式。 式は、SQL 式の一般的な形式に従います。 詳細については「ArcGIS で使用されるクエリ式への SQL リファレンス」と「Python でのクエリの指定」をご参照ください。 | SQL Expression |
リターン
名前 | 説明 | データ タイプ |
out_raster |
出力ラスタ。 条件評価が True の場合、NoData が返されます。False の場合、2 番目の入力ラスタの値が返されます。 | Raster |
コードのサンプル
次の式では、0 よりも大きい値を持つ入力セルが NoData に設定され、残りのセルは元の値を保持します。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outSetNull = SetNull("elevation", "elevation", "VALUE < 0") outSetNull.save("C:/sapyexamples/output/outsetnull.img")
次の例では、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 cell-by-cell basis. # 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 = "landclass" inFalseRaster = 1 whereClause = "VALUE <> 7" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute SetNull outSetNull = SetNull(inRaster, inFalseRaster, whereClause) # Save the output outSetNull.save("C:/sapyexamples/output/outsetnull")