代码分享 Python 您所在的位置:网站首页 python代码求最大值 代码分享 Python

代码分享 Python

2024-06-03 10:16| 来源: 网络整理| 查看: 265

 01

任务举例:文件夹内有12个月遥感影像求年最大值,累加值等(生成的是一幅栅格影像)

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

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

# -*- coding: UTF-8 -*- import arcpy from arcpy import env from arcpy.sa import * ​ # Set environment settings env.workspace = "E:/NPPresult/"#输入工作空间中 # Set local variables rasters = arcpy.ListRasters("*", "tif") #遍历工作空间中的tif格式数据 ​ ​ # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") ​ outCellStatistics = CellStatistics(rasters, "MEAN", "DATA")#"SUM"总和; STD标准差; MINIMUM最小值; MAXIMUM最大值; outCellStatistics.save("E:/RHME.tif") print("All project is OK!")  02

任务举例:文件夹内有12个月研究区域植被覆盖度,地表温度等影像,求该区域12个月每月的植被覆盖度(地表温度)平均值,最大值,最小值等(一幅影像生成一个值)

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

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

# -*- coding: UTF-8 -*- ​import arcpy import os import glob import arcpy from arcpy.sa import * ​ arcpy.CheckOutExtension("ImageAnalyst") # 检查许可 arcpy.CheckOutExtension("spatial") ​ inws = r"E:/05BeijingPark/tem/park/" ​ OutputFile = open('E:/05BeijingPark/tem/park/PA.csv', 'w')#更改要存储结果的路径,自动生成表格 ​ # 利用glob包,将inws下的所有tif文件读存放到rasters中 rasters = glob.glob(os.path.join(inws, "*.tif")) ​ whereClause = "VALUE = 0" # 去除异常值。如果无异常值可删去. ​ # 循环rasters中的所有影像,进行“求平均值”操作 for ras in rasters: outSetNull = SetNull(ras, ras, whereClause) # 去除异常值;如果无异常值可删去 ​ meanValueInfo = arcpy.GetRasterProperties_management(outSetNull, 'MEAN') # MINIMUM —输入栅格中所有像元的最小值。 # MAXIMUM —输入栅格中所有像元的最大值。 # MEAN —输入栅格中所有像元的平均值。 # STD —输入栅格中所有像元的标准差。 # TOP —范围的顶部值或Y最大值(YMax)。 # LEFT —范围的左侧值或X最小值(XMin)。 # RIGHT —范围的右侧值或X最大值(XMax)。 meanValue = meanValueInfo.getOutput(0) print os.path.basename(ras).split('_')[0] + ',' + str(meanValue) + '\n' OutputFile.write(os.path.basename(ras).split('_')[0] + ',' + str(meanValue) + '\n') ​ OutputFile.close() print("All project is OK!") ​

END

编辑 |南波婉琳

审核 |南波婉琬

更多精彩请关注



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有