想要使用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的操作*函数,后续能接着修改,接着用。