Хочу использовать 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
Непонятно как увязать это в один скрипт.
Скрипт для GRASS
- Alexey
- Участник
- Сообщения: 56
- Зарегистрирован: 21 май 2008, 07:47
- Репутация: 1
-
- Новоприбывший
- Сообщения: 12
- Зарегистрирован: 25 апр 2008, 16:56
- Репутация: 1
Re: Скрипт для GRASS
брать максимально похожий скрипт из /usr/lib/grass/scripts/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
Непонятно как увязать это в один скрипт.
сильно поможет любой справочник программирования в шеле.
из оффициально документации я нашел только соглашение разработчиков на вид и структуру файла скрипта, но она очевидна из директории со скриптами.
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 22 май 2008, 11:08
- Репутация: 0
- Контактная информация:
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 07 май 2008, 23:49
- Репутация: 0
Пишу в батнике, шеле команду для отдельного модуля, например:
r.in.gdal in=... out=...
ничего не происходит и ничего не выдает, даже ошибки, даже если делать подробный вывод информации.
При вызове этого модуля из сторонней программы с помощью обработки ошибок получаю следущую инфу: program crashed.
В чём может быть проблема/ошибка? И как можно это решить? Вроде в скриптах вызывается так же. %)
r.in.gdal in=... out=...
ничего не происходит и ничего не выдает, даже ошибки, даже если делать подробный вывод информации.
При вызове этого модуля из сторонней программы с помощью обработки ошибок получаю следущую инфу: program crashed.
В чём может быть проблема/ошибка? И как можно это решить? Вроде в скриптах вызывается так же. %)
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 21 авг 2008, 01:28
- Репутация: 0
Re: Скрипт для GRASS
Не знаю как насчет 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
Последняя строчка удаляет временный файл, созданный скриптом
После имени скрипта в командной строке ввести через пробел имя импортируемого файла, имя вектора, имя экспортируемого файла
#!/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
Последняя строчка удаляет временный файл, созданный скриптом
После имени скрипта в командной строке ввести через пробел имя импортируемого файла, имя вектора, имя экспортируемого файла
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 24 гостя