使用Python联动ArcGIS批量重采样

想要使用ArcGIS中的重采样功能,对栅格进行降采样到0.5大小像元。
虽然ArcGIS中有批量处理功能,有批量添加,有批量调整像元大小,但是在输出栅格集没办法批量定义成我想要的样子,于是在CSDN上寻求到了帮助,下面是我改成重采样的代码,

原文链接:https://blog.csdn.net/zhoujiaaw/article/details/101220647

# Name: Resample_Ex_.py
 
# Description: Converts polygon features to a raster dataset.
 
 
 
# Import system modules
 
import arcpy
 
from arcpy import env
 
import os
 
import sys
 
import time
 
 
 
def vector_tif():
 
    path = r"F:\test\czd_dom\dom_czd500"#存放tif的文件夹,改为自己的
 
    list_name = []
 
    #读取文件中的全部.tif 并写入到一个列表中
 
    for file in os.listdir(path):  
 
        file_path = os.path.join(file)  
    
        if os.path.splitext(file_path)[1]=='.tif':  
 
            list_name.append(file_path)  
 
 
 
    #下面程序就是复制arcmap工具里面的”项目描述的内容“
    # Resample TIFF image to a higher resolution


    arcpy.env.workspace = r"F:\test\czd_dom"
      
                    
    # Set local variables

    j = len(list_name)
 
    for i in range(len(list_name)):#循环全部tif文件
 
        name = list_name[i]

        print('{}/{}'.format(i,j))
 
        print(name)
 
        #以下参数,可以根据不同功能所需的输入做出更改
 
        in_raster = r'F:/test/czd_dom/dom_czd500/'+name#输入tif文件的名字
 
        #excute resample
 
        outRaster = r'F:/test/dom_czd_re/'+name#输出tif的名字
 
        arcpy.Resample_management(in_raster, outRaster, "0.2", "BILINEAR")
 
        # Execute PolygonToRaster

 
 
 
 
if __name__ == "__main__":   
 
    print("重采样")
 
    s_time=time.time()

    vector_tif()#调用函数
 
    e_time=time.time()
 
    print("程序共耗时: %.2f s!" % (e_time - s_time))

这更像是一个模板,能添加不同的ArcGIS的操作*函数,后续能接着修改,接着用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值