0

我正在使用 GRASS 和 R 来分析一些高光谱数据。我想将我的光谱层导出到一个与 ENVI 兼容的 .img 文件。到目前为止,我已经使用 g.mlist 来选择合适的图层,现在我使用 i.group 从这些图层创建组,我可以使用 r.out.gdal 导出。

我看到 i.group 接受一个输入参数,即栅格图层名称列表 - 我有大约 100 个,所以我正在寻找一种方法来避免单独输入它们!

我的问题本质上是,我已经将名称从 g.mlist 导出到一个文本文件 - 有没有办法在输入参数中使用这个文件?

这可能是一个非常基本的问题,并且是由于我的编程经验不足。

我想使用类似的东西:

system("i.group 组=MSP1 输入=/home/Documents/MSP/list.txt")

除了 /home/Documents/MSP/list.txt 不是栅格地图。

或者,如果有人知道将多个图像层导出到一个文件中的更好方法,那也很棒。

4

1 回答 1

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

如果我需要在此处同时执行 .img 和 .hdr,我不确定 ENVI 的正确格式,但我会继续工作。

于 2014-08-10T19:19:53.693 回答