我在我的linux shell中使用gdal_translate -of ENVI inputpath1/RE1.tif outputpath1/RE1
来转换一个文件。
现在,我想和其他50个文件一样。这些文件与其他tif文件一起放在不同的子目录中,我不想转换它们,我也有不同的输出目录。所以,我准备了两个ascii文件作为输入和输出文件列表:
input_list.txt:
inputpath1 / RE1.tif
inputpath2 / RE2.tif
输入路径3 / RE3 tif
output_list.txt:
outputpath1 / RE1
outputpath2 / RE2
outputpath3 / RE3
有没有办法像这样使用gdal_translate
:gdal_translate -of ENVI input_list.txt output_list.txt
?
谢谢!
答案 0 :(得分:0)
您可以编写一个简短的程序(使用python,或perl,或bash,或您喜欢的语言)来读取输入路径,输出路径,然后调用gdal_translate。像这样的伪代码:
input_paths = open(input_list.txt)
output_paths = open(output_list.txt)
while (input_paths.hasNextLine()) {
current_input_path = input_paths.getNextLine()
current_output_path = output_paths.getNextLine()
system_call("gdal_translate -of ENVI " + current_input_path + " " + current_output_path)
}
*实际代码会有所不同。
答案 1 :(得分:0)
如果您希望翻译的文件位于同一目录中,那么这很容易。假设您有input_list.txt
个以.tif
结尾的GeoTIFF文件的路径名,并且需要它们作为以.bsq
结尾的ENVI文件,这应该来自BASH shell:
while read f; do
gdal_translate -of ENVI "$f" "`basename "$f" .tif`.bsq"
done < input_list.txt