Arcgis/python批量栅格计算(乘法*缩放因子)

本文所用数据为一文件夹所有tif影像,进行乘0.01的缩放因子,处理后影像放入新文件夹中

1.如果Python装好了arcgis运行环境,可以直接;python运行。

# coding:utf-8
import os
import arcpy
from arcpy import env
from arcpy.sa import *
import string
arcpy.CheckOutExtension("spatial")
arcpy.gp.overwriteOutput=1

arcpy.env.workspace = "E:/04carbon/NPPyear500mMRT"
rasters = arcpy.ListRasters("*", "tif") #遍历工作空间中的tif格式数据
outPath = 'E:/04carbon/NPP0.01/'
for ras in rasters:# 循环rasters中的所有影像,进行乘法操作
    outrasters = outPath + str(ras)
    outTimes = Times(ras, 0.01)
    outTimes.save(outrasters)
    print(str(ras))
print("All project is OK!")

2.可直接在arcgis中python编辑器运行。

import os
import arcpy
from arcpy import env
from arcpy.sa import *
import string
arcpy.CheckOutExtension("spatial")
arcpy.gp.overwriteOutput=1
arcpy.env.workspace = "E:/04carbon/NPPyear500mMRT"
rasters = arcpy.ListRasters("*", "tif") 
outPath = 'E:/04carbon/NPP0.01/'
for ras in rasters:
    outrasters = outPath + str(ras)
    outTimes = Times(ras, 0.01)
    outTimes.save(outrasters)
    print(str(ras))
print("All project is OK!")
  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ArcGIS Python提供了强大的栅格计算功能,可以轻松实现历年最大值的计算。下面是使用ArcGIS Python进行历年最大值计算的步骤: 1. 导入所需模块:在Python脚本中,首先需要导入ArcGIS相关的模块,如arcpy和arcpy.sa。 2. 定义输入路径和文件名:指定包含历年栅格数据的文件夹路径和栅格数据的文件名。 3. 创建栅格对象:利用arcpy.sa模块中的Raster函数,将栅格数据加载到内存中,并创建一个栅格对象。 4. 创建一个空的结果栅格:使用arcpy.sa模块中的Con函数,创建一个与输入栅格相同大小的空白栅格,用于存储历年最大值。 5. 循环计算最大值:通过for循环,分别计算每个像元在历年中的最大值。可以使用arcpy.sa模块中的CellStatistics函数,在每次循环中计算历年最大值,并将结果存储到结果栅格中。 6. 保存结果:使用arcpy.sa模块中的Raster函数,将结果栅格保存为新的栅格数据。 以下是一个示例代码,用于计算历年降水数据的最大值: import arcpy from arcpy.sa import * # 定义输入路径和文件名 input_folder = r"C:\data" input_files = ['rainfall2000.tif', 'rainfall2001.tif', 'rainfall2002.tif'] # 创建空白结果栅格 result_raster = arcpy.sa.Con(Raster(input_files[0]) > 0, Raster(input_files[0]) * 0, -9999) # 循环计算最大值 for input_file in input_files: raster = Raster(input_folder + "\\" + input_file) result_raster = arcpy.sa.CellStatistics([result_raster, raster], "MAXIMUM") # 保存结果 result_raster.save(input_folder + "\\max_rainfall.tif") 以上代码会将指定文件夹下的降水数据进行历年最大值计算,并将结果保存为max_rainfall.tif文件。你可以根据需要修改输入路径和文件名,以适应自己的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值