概要
マルチバンド ラスターをバンド間演算するためのサンプル コードです。
サンプル コード
バンド間演算を行うことで、衛星画像(マルチバンド ラスター)のバンドから NDVI(植生指数)画像を作成します。
サンプル コードでは、バンド 3 が赤、バンド 4 が近赤外の衛星画像をバンド間演算します。
# ArcPy サイト パッケージ、os モジュールをインポートします。
import arcpy, os
# Spatial Analyst ライセンスを取得します。
from arcpy.sa import *
arcpy.CheckOutExtension("Spatial")
# 入出力ファイルを定義します。
infile = r"C:tempimage.tif"
outfile = r"C:tempndvi.tif"
if arcpy.Exists(outfile):
arcpy.Delete_management(outfile)
# マルチバンド ラスターをラスターオブジェクトに格納します。さらに各バンドの情報を取得してラスターオブジェクトに格納します。
inRaster = arcpy.Raster(infile)
bands = arcpy.Describe(inRaster).children
# バンド 3(赤)とバンド 4 (近赤外)の全パス名を生成して、ラスターオブジェクトに格納します。
band3 = arcpy.Raster(inRaster.catalogPath+os.sep+bands[2].name)
band4 = arcpy.Raster(inRaster.catalogPath+os.sep+bands[3].name)
# バンド間演算を行います。
outRaster = Float(band4-band3)/Float(band4+band3)
# 出力ファイルに保存します。
outRaster.save(outfile)
補足情報
ArcPy で画像処理をしてみよう ~その3:ラスタ演算(Spatial Analyst)
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!