[GRASS/Советы] Пакетный импорт растров

Ответить
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

[GRASS/Советы] Пакетный импорт растров

Сообщение KolesovDmitry » 03 сен 2008, 18:10

В каталоге ~/tmp/rastr/ хранятся растры GeoTiff, нужно экспортировать все эти растры в текущий набор GRASS.
Названия файлов содержат суфикс "_longlat.tif". Пример названия файла: "A2007091_longlat.tif", этот файл нужно импортировать под названием "A2007091"

Код: Выделить всё

GRASS> for file in ~/tmp/rastr/*tif; do r.in.gdal input=$file output=$(basename $file '_longlat.tif'); done
В результате каждый канал растра будет импортирован отдельно: например, двух-канальный растр "A2007091" даст в итоге два растра в GRASS - "A2007091.1" и "A2007091.2"

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: [GRASS/Советы] Пакетный импорт растров

Сообщение Максим Дубинин » 01 окт 2008, 19:33

не лишний ли пробел между $file и 'longlat' в этой части скрипта?

Код: Выделить всё

output=$(basename $file '_longlat.tif')
пристегивайтесь, турбулентность прямо по курсу

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: [GRASS/Советы] Пакетный импорт растров

Сообщение KolesovDmitry » 02 окт 2008, 14:59

sim писал(а):не лишний ли пробел между $file и 'longlat' в этой части скрипта?

Код: Выделить всё

output=$(basename $file '_longlat.tif')
С одной стороны, пробел не лишний, но, с другой стороны, эту часть скрипта можно и модифицировать под конкретные нужды.

Команда basename (стандартная unix-совская команда, входит в пакет coreutils) выводит последний компонент пути к файлу. Может применяться в двух вариантах -- с суфиксом или без.

Параметры:

Код: Выделить всё

basename NAME [SUFFIX]
Применение поясню на примерах (привожу команду и результат выполнения):

Код: Выделить всё

basename /tmp/rastr/abcd_longlat.tif
abcd_longlat.tif

Код: Выделить всё

basename /tmp/rastr/abcd_longlat.tif .tif
abcd_longlat

Код: Выделить всё

basename /tmp/rastr/abcd_longlat.tif _longlat.tif
abcd

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: [GRASS/Советы] Пакетный импорт растров

Сообщение Максим Дубинин » 02 окт 2008, 17:26

спасибо, понял, убирает подстроку, а без пробела наоборот, будет добавлять

хороший рецепт, подтверждаю - работает
пристегивайтесь, турбулентность прямо по курсу

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей