用Arcpy批量进行栅格计算

本篇博客介绍如何使用ArcPy模块进行批量栅格数据的乘法运算,通过循环遍历工作空间中所有栅格文件,并与指定的比率栅格进行相乘,最后保存结果到指定目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import arcpy
from arcpy import env
from arcpy.sa import *

arcpy.CheckOutExtension("spatial")
env.overwriteOutput=1

workingDir=r"D:\\lyj\\code\\"
env.workspace=workingDir+"globe_temp_raster"

in_rasters1=arcpy.ListRasters()
in_raster2=Raster("D:\\lyj\\code\\pop_ratio\\calc_ratio.tif")


for in_raster1 in in_rasters1:
    print in_raster1
    out_raster=in_raster1*in_raster2
    out_raster.save(workingDir+"globe_temp_raster_result\\"+"cal_"+in_raster1)
### 使用 arcpy 批量计算栅格数据的标准差 要使用 `arcpy` 批量计算栅格数据的标准差,可以通过调用 `CellStatistics` 函数来完成。该函数支持多种统计数据的计算,其中包括标准差 (`STD`) 的选项。下面是一个完整的 Python 脚本示例: ```python # -*- coding: UTF-8 -*- import arcpy from arcpy import env from arcpy.sa import * # 设置环境参数 env.workspace = "E:/RasterData/" # 输入工作空间路径 out_workspace = "E:/StdResults/" # 输出结果的工作空间路径 # 列出所有 TIFF 文件 rasters = arcpy.ListRasters("*", "TIF") # 检查并启用 Spatial Analyst 许可证 arcpy.CheckOutExtension("Spatial") try: # 计算标准差 (STD) outCellStatistics = CellStatistics(rasters, "STD", "DATA") # 将结果保存到指定位置 output_raster = out_workspace + "StandardDeviation.tif" outCellStatistics.save(output_raster) print(f"标准差已成功计算并保存至 {output_raster}") except Exception as e: print(f"发生错误:{e}") finally: # 归还 Spatial Analyst 许可证 arcpy.CheckInExtension("Spatial") ``` #### 参数解释 1. **`env.workspace`**: 定义输入栅格文件所在的目录[^1]。 2. **`ListRasters()`**: 获取当前工作空间下的所有 `.tif` 栅格文件列表[^1]。 3. **`CheckOutExtension("Spatial")` 和 `CheckInExtension("Spatial")`**: 启用和释放 ArcGIS Spatial Analyst 扩展许可证[^1]。 4. **`CellStatistics`**: 对多个栅格执行逐像元统计分析。其中 `"STD"` 表示计算标准差。 --- ### 注意事项 - 确保所有参与运算的栅格具有相同的坐标系、分辨率以及范围,否则可能导致运行失败或结果异常[^3]。 - 如果某些像元存在缺失值(NoData),则需设置合适的处理方式。例如,通过 `"DATA"` 或 `"NODATA"` 来控制 NoData 像元的影响。 - 需要有足够的磁盘空间存储输出的结果栅格文件。 --- ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值