2015-05-25 5 views
0

Я использую pymodis для перепрограммирования и мозаики наборов данных с использованием MRT. Я успешно перепроецируется данные, используя pymodis пакет, как показано ниже:Ошибка при использовании pymodis.convertmodis.createMosaic

list_modis=glob.glob('*.hdf') 

for i in range(0,len(list_modis)): 
    name=parameter_file(INPUT_folder,list_modis[i],left_x,right_x,top_y,bottom_y) 
    x=pymodis.convertmodis.convertModis(list_modis[i],'param.prm','C:\\MRT\\') 
    x.run() 

Это работает отлично, но когда я использую Создать Mosaic я получил проблему. Пожалуйста, предложите мне, где я ошибся.

y=pymodis.convertmodis.createMosaic('mosaicinput.txt','mosaic','C:\\MRT\\') 
y.run() 

Mosaicinput.txt имеет следующие файлы:

MOD15A2.A2001025.h27v08.005.2006356072429.hdf MOD15A2.A2001025.h27v09.005.2006356181328.hdf MOD15A2.A2001025.h28v08.005.2006356073508.hdf MOD15A2.A2001025.h28v09 .005.2006356075256.hdf

Когда я запускаю этот код, я получил следующее сообщение об ошибке:

 

Traceback (most recent call last): 
    File "C:\Users\Jaya_HOME\Desktop\WEB DHM Toolbox\script\modis_mosaic.py", line 125, in 
    y.run() 
    File "C:\Python27\ArcGIS10.1\lib\site-packages\pymodis\convertmodis.py", line 177, in run 
    self.write_mosaic_xml() 
    File "C:\Python27\ArcGIS10.1\lib\site-packages\pymodis\convertmodis.py", line 156, in write_mosaic_xml 
    pmm = parseModisMulti(listHDF) 
    File "C:\Python27\ArcGIS10.1\lib\site-packages\pymodis\parsemodis.py", line 555, in __init__ 
    self.parModis.append(parseModis(i)) 
    File "C:\Python27\ArcGIS10.1\lib\site-packages\pymodis\parsemodis.py", line 64, in __init__ 
    raise IOError('{name} does not exist'.format(name=filename)) 
IOError: MOD15A2.A2001025.h27v08.005.2006356072429.hdf MOD15A2.A2001025.h27v09.005.2006356181328.hdf MOD15A2.A2001025.h28v08.005.2006356073508.hdf MOD15A2.A2001025.h28v09.005.2006356075256.hdf does not exist 

Это синтаксис этого модуля:

 
class pymodis.convertmodis.createMosaic(listfile, outprefix, mrtpath, subset=False)[source] 
A class to convert several MODIS tiles into a mosaic 

Parameters: 
listfile (str) – the path to file with the list of HDF MODIS file 
outprefix (str) – the prefix for output files 
mrtpath (str) – the full path to mrt directory which contains the bin and data directories 
subset (str) – a string composed by 1 and 0 according with the layer to mosaic. The string should something like ‘1 0 1 0 0 0 0’

ответ

1

Так что я пытался запустить скрипт python modis_mosaic.py, который, как я считаю, выполняет ту же работу, которую вы здесь пытаетесь. Я получил ту же ошибку, что «файл blahblah.hdf не существует». Вот средство, которое я нашел:

Таким образом, сценарию был предоставлен путь к текстовому файлу, но он не понимает, что файлы .hdf должны быть найдены в этом каталоге, а вместо этого он ищет файлы в каталоге pymodis/scripts. Я могу сказать это, потому что после того, как я скопировал файлы .hdf в папку pythodis/scripts, а затем попытался выполнить команду, он отлично работал. \

Я думаю, что это из-за природы python, где он ищет файлы всегда в его текущая директория, если иной не указаны явным образом, как мы указали файл .txt

Надеется, что это имеет смысл

+1

я извиняюсь, дело в том, что .hdf файлах должны находиться в том же каталоге, из где ваших, запуск команд. Поэтому попробуйте перейти в каталог, содержащий файлы .hdf, а затем запустите команду. Это не обязательно должен быть каталог pythodis/scripts, как я упоминал ранее –

Смежные вопросы