任务描述: 利用python去除栅格影像数据的异常值(本文以去除0值为例)
数据准备: 文件夹(工作空间)内含有需要去除异常值的tif影像
工具准备: Python arcpy 环境
操作: 替换代码中的路径即可
# -*- coding: UTF-8 -*-
import arcpy
from arcpy.sa import *
arcpy.CheckOutExtension("ImageAnalyst") # 检查许可
arcpy.CheckOutExtension("spatial") # 检查许可
arcpy.env.workspace = "D:/DATA/2010/" # 工作空间
rasters = arcpy.ListRasters("*", "tif") # 遍历工作空间中的tif格式数据
outPath = 'D:/DATA/2010_Value/' # 输出文件路径
whereClause = "VALUE = 0" # 去除异常值
# 循环rasters中的所有影像,进行去异常值操作
for ras in rasters:
outrasters = outPath + str(ras) # 更改输出栅格名字
outSetNull = SetNull(ras, ras, whereClause) # 去除异常值
outSetNull.save(outrasters)
print(str(ras))
print("All project is OK!")