这看似微不足道,但我似乎可以跟踪错误,我对Python非常新,但不是编程。从在互联网上阅读一下,我认为我的问题是.dat ENVI图像文件没有被读作“描述对象”。但我怎么能这样读呢?我可能还需要它来阅读标题信息,任何解决方案?
这是我的代码:
import arcpy #make sure you run the python associated with ArcGIS
import os
filepath = 'filepath'
filename = 'filename'
band_names = range(1,225)
# Path creation
in_folder = filepath + os.sep + 'ENVI'
out_folder = filepath + os.sep + 'GeoTIFF' # preferably an empty folder
# input multiband raster
in_ENVI = in_folder + filename '.dat'
in_raster = raster(in_ENVI)
index = 0
# get raster information specific to each band
desc = arcpy.Describe(in_raster)
################### THIS IS WHERE I GET THE ERROR ##################
Runtime error
Traceback (most recent call last):
File "<string>", line 23, in <module>
NameError: name 'raster' is not defined
################### SCRIPT TERMINATED ##############################
for band in desc.children:
print band
bandName = band.name
band_path = os.path.join(in_raster, bandName)
dest_path = os.path.join(out_folder, filename '_' + band_names(index) + '.tif')
arcpy.CopyRaster_management(band_path, dest_path, "", "", "", "NONE", "NONE", "")
index = index + 1
答案 0 :(得分:0)
好的,我实际上是自己想出来的。这是我使用的代码。该错误实际上不在arcpy.Describe()中,而是在arcpy.CopyRaster_management中,因为我没有将band_name [index]转换为字符串。
dest_path = os.path.join(out_folder, filename + str(band_names[index]) + '.tif')