我想了解如何在ArcCatalog中根据目录中的所有.img
光栅文件创建批处理操作工具。我不需要更改代码,但我需要设置正确的参数。使用ArcCatalog创建python批处理图像操作
这里是我的代码:
'''This script uses map algebra to find values in an
elevation raster greater than a specified value.'''
import os
import arcpy
#switches on Spatial Analyst
arcpy.CheckOutExtension('Spatial')
#loads the spatial analyst module
from arcpy.sa import *
#overwrites any previous files of same name
arcpy.overwriteOutput=True
# Specify the input folder and cut-offs
inDirectory = arcpy.GetParameterAsText(0)
cutoffElevation = int(arcpy.GetParameterAsText(1))
for i in os.listdir(inDirectory):
if os.path.splitext(i)[1] == '.img':
inRaster = os.path.join(inDirectory, i)
outRaster = os.path.join(inDirectory, os.path.splitext(i)[0] + '_above_' + str(cutoffElevation) + '.img')
# Make a map algebra expression and save the resulting raster
tmpRaster = Raster(inRaster) > cutoffElevation
tmpRaster.save(outRaster)
# Switch off Spatial Analyst
arcpy.CheckInExtension('Spatial')
在我所选择的参数:
- 输入栅格栅格数据集 - 方向输入,多值是
- 输出栅格栅格数据集 - 方向输出
- 切断仰角 - 字符串,方向输入
我在输入栅格中添加我想要的图像,选择输出栅格并切断高程。但我得到的错误:
line 13, in cutoffElevation =int(arcpy.GetparameterAsText(1)).
ValueError: invalid literal for int() with base 10
有没有人知道如何解决这个问题?