Экспорт нескольких растров из GRASS
Я использую GRASS и R для анализа некоторых гиперспектральных данных. Я хотел бы экспортировать свои спектральные слои в один файл.img, который совместим с ENVI. До сих пор я использовал g.mlist, чтобы выбрать соответствующие слои, и теперь я использую i.group, чтобы создать группу из этих слоев, которую я могу экспортировать с помощью r.out.gdal.
Я вижу, что i.group принимает входной параметр, который представляет собой список имен растровых слоев - у меня их около 100, поэтому я ищу способ избежать их индивидуального ввода!
По сути, мой вопрос заключается в том, что я экспортировал имена из g.mlist в текстовый файл - есть ли способ использовать этот файл во входном параметре?
Вероятно, это очень основная проблема, и это связано с моей неопытностью в программировании.
Я хотел бы использовать что-то вроде:
система ("i.group group=MSP1 input=/home/Documents/MSP/list.txt")
За исключением того, что /home/Documents/MSP/list.txt не является растровой картой.
Или, если кто-нибудь знает, как лучше экспортировать несколько слоев изображений в один файл, это тоже было бы здорово.
1 ответ
Вместо того, чтобы пытаться вызвать GRASS из моего Rscript, как в моем опубликованном вопросе, я вызвал 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 здесь, но я буду продолжать работать.