日本語

操作手順: 0 へのラスターの NULL 値の設定を自動化する

概要

下記の手順は、ラスターの NoData セルをゼロ値に割り当てる方法を示しています。

ラスターの NoData セルは、さまざまな空間解析アプリケーションの解析操作で考慮に入れる必要があります。 NoData セルはどの解析でも無視されるため、そのような要件を満たすことができるのは、それらのセルに特定の値が割り当てられた場合に限られます。

以下のスクリプトは、マップ代数演算を使用して、ワークスペース内のラスターの NoData セルをゼロ値に割り当てる方法を示しています。

注意:
この手順では、入力ラスター データが Esri Grid 形式であると前提としています。 下記の「関連情報」セクションをご参照ください。

手順

#モジュールのインポート
import arcpy, sys, os
from arcpy import env
from arcpy.sa import *

arcpy.CheckOutExtension("spatial")
env.workspace = arcpy.GetParameterAsText(0)

#raster ディレクトリの作成
ras_dir = "{0}/ras_dir".format(env.workspace)

if not os.path.exists(ras_dir):
	os.mkdir(ras_dir)

rasterList = arcpy.ListRasters("*") #, "GRID")

#raster の NULL 値を 0 に設定
for raster in rasterList:

	arcpy.AddMessage("Reading {0}".format(raster))
	outras = Con(IsNull(raster),0,raster)
	arcpy.AddMessage("Setting null for {0}".format(raster))
	outras.save("{0}/{1}".format(ras_dir, raster))
	arcpy.AddMessage("Saving {0}".format(raster))

関連情報