Как работать с GRASS GUI из терминала?
-
- Участник
- Сообщения: 91
- Зарегистрирован: 27 янв 2009, 00:22
- Репутация: 0
Как работать с GRASS GUI из терминала?
Такой вопрос, хочу из терминала выполнить скрипт, в процессе работы которого определенные данные будут грузится на дисплее GUI. К примеру пытался сделать так: grass -wx, открывается гис менеджер wxPython, в терминале выполняю d.rast -o map=elevation, понятное деле требует запустить какой-либо x0. Если выполнить из командной строки гис менеджера данные отображаются на дисплее, но эта командная строка недоделанная, например там нельзя выполнить скрипт типа такого for t in print_list_of_rasters; do if [условие]; then d.rast -o map=$t; fi ; done, хотелось бы выполнять такие скриптики и отображать данные на дисплее гис менеджера. Как это сделать?
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Как работать с GRASS GUI из терминала?
Сразу вопрос: какая версия грасс и какая операционная система?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как работать с GRASS GUI из терминала?
Работа идет в 6.4.0RC6 или 6.4.0RC5 под линуксом, так?
Как я понял, хочется управлять дисплеем wxgui так же, как обычным, включаемым через d.mon..
Думаю, не получится. Тут надо выбирать: для скриптов -- d.mon и товарищи, для "ручной", "мышечной" работы -- wxgui.
Поддержку прямого вывода скриптов на дисплей wxgui добавят (если я правильно понял) в grass7, пока там все очень сыро. Хотя попробовать можно..
Как я понял, хочется управлять дисплеем wxgui так же, как обычным, включаемым через d.mon..
Думаю, не получится. Тут надо выбирать: для скриптов -- d.mon и товарищи, для "ручной", "мышечной" работы -- wxgui.
Поддержку прямого вывода скриптов на дисплей wxgui добавят (если я правильно понял) в grass7, пока там все очень сыро. Хотя попробовать можно..
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 91
- Зарегистрирован: 27 янв 2009, 00:22
- Репутация: 0
Re: Как работать с GRASS GUI из терминала?
grass 6.4.0rc6 ubuntu 10.04. странно,что не предусмотрено. немного лучше ситуация в tcltk, там хоть и нельзя прямо в командной строке грасс шелл скриптик выполнить,зато есть кнопка в выводе gis.m `запустить в x-term`, т.о. можно выполнить свой скрипт записанный в файл, но в tcltk, в отличии от wx, команда d.rast не добавляет новый слой в список. в общем, ситуация довольно запутана
[Сообщение с мобильного устройства]
[Сообщение с мобильного устройства]
-
- Участник
- Сообщения: 91
- Зарегистрирован: 27 янв 2009, 00:22
- Репутация: 0
Re: Как работать с GRASS GUI из терминала?
grass 7 с первого раза не получилось скомпилировать
[Сообщение с мобильного устройства]
[Сообщение с мобильного устройства]
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Как работать с GRASS GUI из терминала?
Попробуйте еще попробовать запустить GRASS со другой версией GUI:alexkarta писал(а):grass 6.4.0rc6 ubuntu 10.04. странно,что не предусмотрено. немного лучше ситуация в tcltk, там хоть и нельзя прямо в командной строке грасс шелл скриптик выполнить,зато есть кнопка в выводе gis.m `запустить в x-term`, т.о. можно выполнить свой скрипт записанный в файл, но в tcltk, в отличии от wx, команда d.rast не добавляет новый слой в список.
Код: Выделить всё
g.gui oldtcltk
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как работать с GRASS GUI из терминала?
Проверил (тоже Ubuntu 10.04, GRASS 6.4.0RC6) -- Tcl/Tk не добавляет ни растр, ни вектор на экран (если даешь в окне "Output" команды d.rast и d.vect).
Получилось отобразить растр (и вектор) с помощью "Add command layer" на нижней панели GIS Manager. Надо внимательно следить, чтоб не было пробелов в именах, если они есть -- экранировать обратным слэшем (\).
Поискал, почитал вот это: http://grass.itc.it/gdp/html_grass64/g.pnmcomp.html
Видимо, дело в разнице устройства "обычных" графических мониторов, tcl/tk и wxgui.
Tcl/Tk использует вывод на экран не напрямую, а через "костыль" в виде служебного модуля g.pnmcomp, из-за своих внутренних ограничений в цвете и прозрачности изображений.
wxPython, вроде, выводит напрямую через d.rast и d.vect. И здесь тоже получается через "Add command layer".
Однако, нормального исполнения шелл-скрипта ни через Tcl/Tk ни через wxPython мне добиться так и не удалось. Может, стоит пускать все-таки через "обычные" мониторы?
-------------------------------
Да, в d.m (он же "oldtcltk") шелл-скрипт с грассовскими командами запустился нормально.
-------------------------------
Какие ошибки при компиляции grass7?
Получилось отобразить растр (и вектор) с помощью "Add command layer" на нижней панели GIS Manager. Надо внимательно следить, чтоб не было пробелов в именах, если они есть -- экранировать обратным слэшем (\).
Поискал, почитал вот это: http://grass.itc.it/gdp/html_grass64/g.pnmcomp.html
Видимо, дело в разнице устройства "обычных" графических мониторов, tcl/tk и wxgui.
Tcl/Tk использует вывод на экран не напрямую, а через "костыль" в виде служебного модуля g.pnmcomp, из-за своих внутренних ограничений в цвете и прозрачности изображений.
wxPython, вроде, выводит напрямую через d.rast и d.vect. И здесь тоже получается через "Add command layer".
Однако, нормального исполнения шелл-скрипта ни через Tcl/Tk ни через wxPython мне добиться так и не удалось. Может, стоит пускать все-таки через "обычные" мониторы?
-------------------------------
Да, в d.m (он же "oldtcltk") шелл-скрипт с грассовскими командами запустился нормально.
-------------------------------
Какие ошибки при компиляции grass7?
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 91
- Зарегистрирован: 27 янв 2009, 00:22
- Репутация: 0
Re: Как работать с GRASS GUI из терминала?
Там какой-то конфликт библиотек был, сейчас уже не вспомнить. grass7 пока использовать не хочу, все и так хорошо работает.KolesovDmitry писал(а):Какие ошибки при компиляции grass7?
Спасибо за g.gui oldtcltk, вполне приемлемое решение, вроде работает, буду дальше тестировать
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 27 гостей