Скрипт для GRASS

Ответить
Аватара пользователя
Alexey
Участник
Сообщения: 56
Зарегистрирован: 21 май 2008, 07:47
Проекты: 1
Репутация: 1

Скрипт для GRASS

Сообщение Alexey » 28 май 2008, 07:58

Хочу использовать GRASS для выполнения последовательности действий:
1. Создать новый векторный слой Layer1 в GRASS
2. Импортировать в Layer1 контуры из in.dxf
3. Превратить эти конутры в области и добавить центроиды
4. Создать новый слой LayerBuf, который будет буфером от Layer1 c отступом в 10 м.
5. Экспортировать LayerBuf в out.dxf

Эти действия хочется делать с помощью пакетного файла.

Каким образом и в каком формате нужно записать эти действия, чтобы иметь командный .bat файл для вполнения такой операции?

Перечень используемых модулей для GRASS понятен:
v.in.dxf
v.buffer
v.out.dxf

Непонятно как увязать это в один скрипт.

p2004r
Новоприбывший
Сообщения: 12
Зарегистрирован: 25 апр 2008, 16:56
Репутация: 1

Re: Скрипт для GRASS

Сообщение p2004r » 03 июн 2008, 14:04

Alexey писал(а):Хочу использовать GRASS для выполнения последовательности действий:
1. Создать новый векторный слой Layer1 в GRASS
2. Импортировать в Layer1 контуры из in.dxf
3. Превратить эти конутры в области и добавить центроиды
4. Создать новый слой LayerBuf, который будет буфером от Layer1 c отступом в 10 м.
5. Экспортировать LayerBuf в out.dxf

Эти действия хочется делать с помощью пакетного файла.

Каким образом и в каком формате нужно записать эти действия, чтобы иметь командный .bat файл для вполнения такой операции?

Перечень используемых модулей для GRASS понятен:
v.in.dxf
v.buffer
v.out.dxf

Непонятно как увязать это в один скрипт.
брать максимально похожий скрипт из /usr/lib/grass/scripts/
сильно поможет любой справочник программирования в шеле.

из оффициально документации я нашел только соглашение разработчиков на вид и структуру файла скрипта, но она очевидна из директории со скриптами.

Fineeire
Новоприбывший
Сообщения: 10
Зарегистрирован: 22 май 2008, 11:08
Репутация: 0
Контактная информация:

Сообщение Fineeire » 04 июн 2008, 10:07

Кстати, в грассе есть возможность создание командного слоя - что это и можно ли к нему прикрутить написанный скриптик?

DiMaR
Новоприбывший
Сообщения: 5
Зарегистрирован: 07 май 2008, 23:49
Репутация: 0

Сообщение DiMaR » 09 авг 2008, 00:00

Пишу в батнике, шеле команду для отдельного модуля, например:
r.in.gdal in=... out=...
ничего не происходит и ничего не выдает, даже ошибки, даже если делать подробный вывод информации.
При вызове этого модуля из сторонней программы с помощью обработки ошибок получаю следущую инфу: program crashed.
В чём может быть проблема/ошибка? И как можно это решить? Вроде в скриптах вызывается так же. %)

fatune
Новоприбывший
Сообщения: 2
Зарегистрирован: 21 авг 2008, 01:28
Статьи: 1
Репутация: 0

Re: Скрипт для GRASS

Сообщение fatune » 21 авг 2008, 02:10

Не знаю как насчет bat-файла, но в linux скрипт выглядел бы так:

#!/usr/bash

v.in.dxf in=$1 out=$2
v.type in=$2 out=$2_bound type=line,boundary
v.centroids in=$2_bound out=$2
v.buffer in=$2 out=$2_buff buffer=10
v.out.dfx in=$2_buff out=$3

g.remove vect=$2_bound

Последняя строчка удаляет временный файл, созданный скриптом

После имени скрипта в командной строке ввести через пробел имя импортируемого файла, имя вектора, имя экспортируемого файла

Ответить

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

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

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