2014-11-06 58 views
0

这可能看起来微不足道,但我似乎可以跟踪这个错误,而且我对Python非常非常新,但不是编程。从互联网上阅读了一下,我想我的问题是.dat ENVI图像文件不被读作“描述对象”。但是,我怎么才能让它被读取?我可能需要它来阅读标题信息,任何解决方案?Python Arcpy.describe麻烦阅读ENVI.dat

这里是我的代码:

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

好了,所以我其实想通了自己。这是我使用的代码。该错误实际上不在arcpy.Describe()中,而是在arcpy.CopyRaster_management中,因为我没有将band_name [index]转换为字符串。

dest_path = os.path.join(out_folder, filename + str(band_names[index]) + '.tif')