arcPy批量裁剪tif影像

最近在写论文时需要裁剪张栅格影像,argis批处理还是感觉不太方便。于是转到arcPy来试试。

处理速度瞬间上了一道台阶。

代码记录如下:

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


#获取文件目录列表
def get_path(filenames_in):
    path_list = []
    for root, dirs, files in os.walk(filenames_in):
        print(dirs)
        for dir in files:
            #twoFilenames_in = os.path.join(root,dir)
            #print(twoFilenames_in)
            #for twoRoot, twoDirs, twoFiles in os.walk(twoFilenames_in):
                # for twoFile in twoFiles:
                #     if twoFile[-3:] == 'tif':
                        #print(dir)
                        #filename = os.path.join(filenames_in, dir[:-4])
                        #print(filename)
                        #print(pathDir)
            print(dir)
            if dir[-3:] == 'tif':
                filePath = os.path.join(filenames_in, dir)
                path_list.append(filePath)
        print(path_list)
        return path_list

def outExtract(fileroot,maskPath,outPath):
    for path in get_path(fileroot) :
        outExtractByMask = ExtractByMask(path,maskPath)
        path = outPath + path.split('\\')[-1]
        outExtractByMask.save(path)
        print(path,'have done!')
    #投影至
    #arcpy.ProjectRaster_management(in_raster = outExtractByMask,out_raster=f"D:\dataset\caijiannc\{path[-10:]}.tif", \
                                   #out_coor_system= r"D:\datasum\DEM\1984_DEM.tif",resampling_type= "BILINEAR",
                                   #cell_size='0.00833333333332575'
                                   #)
outPath = r"D:\datasum\preExact\\"
preRoot = r"D:\datasum\pre"
maskPath = r"D:\datasum\DEM\\zhibeDEM.tif"
outExtract(preRoot,maskPath,outPath)
outPath = r"D:\datasum\tmpExact\\"
preRoot = r"D:\datasum\tmp"
outExtract(preRoot,maskPath,outPath)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值