Arcpy 多幅栅格裁剪

现在有需求:使用流域栅格对多幅栅格进行裁剪,可以使用arcgis的模型构建器实现,但我遇到下面的问题:
在这里插入图片描述
文件夹中的栅格名称太长了(不能超过13个字符),没办法作为输出栅格的名称
使用了一个叫做计算值的工具将名称缩短
在这里插入图片描述
但是迭代很奇怪,n值一直停留在第一个文件的位置,于是放弃,改用arcpy。
在这里插入图片描述
arcpy代码如下

# -*- coding:UTF-8 -*- # 要对字符编码格式进行修改,否则无法让中文合法
# *************************************************************************
# 目的:多幅流域栅格裁剪
# 时间:2021年3月9日
# 作者:Vivianooooo
# 需求:在arcgis的建模中,我想要要对多幅栅格进行裁剪,但由于tif栅格的名称过长,在用计算值工具时发生了奇怪的报错,迭代栅格工具无法实现
# 思路:用流域掩膜对多幅栅格进行裁剪
# *************************************************************************

import arcpy
from arcpy import env

def basinClip():
    wholeTWS = "D:\\data\\GRACE\\JPL"
    outputPath = "D:\\data\\Study\\ArcPro\\mascon_jpl"
    BruMask_tif = arcpy.Raster("D:\data\\Study\\ArcPro\\BruMask.tif")

    arcpy.env.workspace = wholeTWS
    grid_list = arcpy.ListRasters("*", "TIF")
    for raster in grid_list:
        _out_val_ = arcpy.ia.Times(in_raster_or_constant1=BruMask_tif, in_raster_or_constant2=raster)
        outFileNam = raster[37:47]
        _out_val_.save(outputPath + '\\' + outFileNam)

if __name__ == '__main__':
    basinClip()

结果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值