我正在使用GRASS和R来分析一些高光谱数据。 我想将我的谱层导出到一个与ENVI兼容的.img文件中。 到目前为止,我已经使用g.mlist来选择合适的图层,现在我使用i.group从这些图层创建组,我可以用r.out.gdal导出。
我看到i.group采用了一个输入参数,即栅格图层名称列表 - 我有大约100个,所以我正在寻找一种方法来避免单独输入它们!
我的问题基本上是,我已经将名字从g.mlist导出到文本文件 - 有没有办法在输入参数中使用这个文件?
这可能是一个非常基本的问题,是由于我的编程缺乏经验。
我想使用类似的东西:
system(“i.group group = MSP1 input = / home / Documents / MSP / list.txt”)
除了/home/Documents/MSP/list.txt不是栅格地图。
或者,如果有人知道将多个图像层导出到一个文件的更好方法,那也会很棒。
答案 0 :(得分:1)
我没有尝试在我发布的问题中从我的Rscript中调用GRASS,而是从一个单独的脚本调用i.group,它似乎有效。 所以现在我的电话是:
Rscript MSP.R
sh ExportENVI.sh
ExportENVI脚本是:
#!/bin/bash
#Exports corrected layers to single image file for ENVI
group_list=$(g.mlist type=rast pattern=msp* separator=,)
echo $group_list
i.group group=MSP1 input=$group_list
r.out.gdal input=MSP1 output=/home/Documents/MSP/group_output.img format=HFA
r.out.gdal input=MSP1 output=/home/Documents/MSP/group_output.img format=ENVI
exit 0
我不确定ENVI的正确格式,如果我需要同时执行.img和.hdr,但我会继续工作。