目录
前言
简单记录分享一下。
代码
可以使用xx.tif/xx对栅格集合的子波段进行读取,例如landsat.tif/SR_B1。于是可以遍历栅格列表的各个波段,进行单波段批量导出,实现波段拆分的功能。
# -*- coding: utf-8 -*-
import arcpy
from arcpy.sa import *
import os
# 设置工作空间
arcpy.env.workspace = "G:/raw"
output_directory = "G:/band"
# 获取栅格列表
raster_list = arcpy.ListRasters()
# 遍历栅格集合,根据命名规则自定义导出文件名称
for raster in raster_list:
# print(raster)
outname = raster.split(".")[0][7:]
# print(otname)
# 创建栅格对象
for i in range(1,4):
bandname = "SR_B"+ str(i)
bandpath = raster+"/"+bandname
print(bandpath)
raster_obj = arcpy.Raster(bandpath)
# 获取单波段
# 保存处理后的栅格
raster_obj.save(os.path.join(output_directory, outname+"b"+str(i)+".tif"))