欢迎光临散文网 会员登陆 & 注册

代码分享 Python |arcgis pro批量删除栅格影像异常值/重分类

2023-06-19 23:19 作者:qmy乐乐  | 我要投稿

任务举例:下载的NPP影响最大值为35000,通过查看栅格数据直方图要删除异常值。

数据准备:文件夹(工作空间)-含有需要批量处理的tif影像

工具准备:Python arcpy 环境/arcgis pro
操作:替换代码中的路径即可

arcgis pro—分析—python notebook

# -*- coding: UTF-8 -*-

import arcpy

import os

import glob

import arcpy

from arcpy.sa import *


arcpy.CheckOutExtension("ImageAnalyst")  # 检查许可

arcpy.CheckOutExtension("spatial")


arcpy.env.workspace = "*********"  #工作空间

rasters = arcpy.ListRasters("*", "tif") #遍历工作空间中的tif格式数据


outPath = "E:*****"


whereClause = "VALUE > 30000 "  # 去除异常值


#循环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!")

批量重分类

# -*- coding: UTF-8 -*-

import os

import arcpy

from arcpy.sa import *


'''

我需要对NDVI,**,**,**,**进行重分类,

本代码对20年的NDVI进行重分类,我的数据最大不超0.9,在我的文件夹下共有20张tif,hhh,2021.12.13写!

'''

def reclass(inputPath, outputPath):

    arcpy.env.workspace = inputPath

    ras_List = arcpy.ListRasters("*", "tif")

    reclassField = "VALUE"

    '''

    RemapRange([[分类下限,分类上限,新赋的值],[以此类推],...])

    '''

    remap_NDVI = RemapRange([[-1, 0, 1], [0, 0.1, 2], [0.1, 0.2, 3], [0.2, 0.3, 4], [0.3, 0.4, 5], [0.4, 0.5, 6],

                             [0.5, 0.6, 7], [0.6, 0.7, 8], [0.7, 0.8, 9], [0.8, 0.9, 10]])


    for ras in ras_List:

        ra = os.path.join(inputPath, ras)

        outRecalssify = Reclassify(ra, reclassField, remap_NDVI, "NODATA")

        out_ra = os.path.join(outputPath, ras[0:9] + "reclass.tif")

        outRecalssify.save(out_ra)

        #print(out_ra)


if __name__ == '__main__':


    inputPath = r"C:\Users\NDVI"

    outputPath = r"C:\Users\\reclass"

    reclass(inputPath, outputPath)


结果:

代码来源:

(24条消息) 代码分享 Python |批量删除栅格影像异常值_GeoLab 219的博客-CSDN博客

(24条消息) Python:arcpy批量重分类实现_arcpy重分类_何大虾-热红外定量遥感的博客-CSDN博客

计算面积占比


代码分享 Python |arcgis pro批量删除栅格影像异常值/重分类的评论 (共 条)

分享到微博请遵守国家法律