GRASS Graphical Modeler

Обсуждение материалов сайта: вопросы, замечания, предложения
Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

GRASS Graphical Modeler

Сообщение rhot » 24 июл 2012, 16:06

Прошу заценить потенциальную статью
http://wiki.gis-lab.info/w/GRASS_Graphical_Modeler

Статья рассчитана на тех, кто не знаком с GRASS Graphical Modeler, но умеет пользоваться справкой.
Конструктивная критика принимается :)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: GRASS Graphical Modeler

Сообщение KolesovDmitry » 24 июл 2012, 16:41

Спасибо, интересно было прочитать. Какие места, на мой взгляд, стоит подправить:

* Во введении сказать, что вы описываете Graphical Modeler на конкретной задаче.
* В разделе Решение стоит дать список последовательности действий, которые описываются ниже, и дать к каждому шагу краткую аннотацию -- для чего это шаг нужен, каковы его цели.
* (это я попросту не сумел для себя уяснить -- наверное, я не один такой буду) Не понятно, как получается цикл по комбинациям каналов (321, 453, 543, 742, 745, 754) -- он создается автоматически, или же приходится каждую команду руками добавлять?

А в целом -- полезная статья, спасибо!

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 24 июл 2012, 16:48

Спасибо за отзыв, подправлю.

Цикла никакого нет, но можно сделать для несколько другой задачи, если будет время. Например, я использовал цикл для перепроицирования набора растров в другую систему координат.
Каждая команда вручную вводится, а комбинации каналов выбраны просто как наиболее используемые мной.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

Re: GRASS Graphical Modeler

Сообщение Максим Дубинин » 24 июл 2012, 17:29

Приятно видеть новые статьи новых авторов)

Мелкие придирки на первый взгляд:

1. Картинки с огромными белыми полями следует обрезать по значимому углу
2. Я бы избежал фразы "ESRI (Environmental Systems Research Institute) скопировали идею". Дело темное кто у кого скопировал и вообще это не важно. Я бы объединил это предложение с предыдущим.
3. В сэмплаху нас есть сцена ландсат, на которую можно ссылаться для примера, можно ли ее также обозначить в тексте (написать типа "если хотите попробовать сами - вот...") . Ссылка на сцену: http://gis-lab.info/data/samples/lt5170 ... 41mor00.7z
4. Кое где уменьшение картинок не оправдано, например: http://wiki.gis-lab.info/w/%D0%A4%D0%B0 ... module.png Не стоит сильно экономить.
пристегивайтесь, турбулентность прямо по курсу

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 24 июл 2012, 17:30

rhot писал(а): Цикла никакого нет...
Каждая команда вручную вводится...
А в цикле всё-таки было бы эффективнее, хоть в моделлере, хоть в скрипте :)
А то уменьшается кол-во профита от автоматизации.. "Вручную" (особенно с историей команд) можно настучать быстрее.

По статье:
  • Всё-таки официально моделлер называется "wxGUI Modeler" (акцент на исп-ии wxGUI). Т.е. полностью "GRASS wxGUI Modeler". Занудство, знаю :)
  • В описании специально выделено:
    Note: the tool is currently under development and distributed as experimental prototype.
    Может, стоит честно предупредить юзеров?
  • Хотелось бы больше общего описания функций самого моделлера (что там вообще можно делать и зачем именно в нём).
  • Согласен с Максимом -- всегда интереснее с пробными данными, на которых можно поиграться..
  • Это, IMHO, немного не в тему.
    Время начала запуска: 9:34:16; время окончания работы модели: 9:41:35.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 09 окт 2012, 12:54

Прошу прощения за оверквотинг, но по-другому никак :)
KolesovDmitry писал(а):Во введении сказать, что вы описываете Graphical Modeler на конкретной задаче.
Сделано!
KolesovDmitry писал(а):В разделе Решение стоит дать список последовательности действий, которые описываются ниже, и дать к каждому шагу краткую аннотацию -- для чего это шаг нужен, каковы его цели.
Сделано!
Максим Дубинин писал(а):Картинки с огромными белыми полями следует обрезать по значимому углу
Не совсем понятно о чём речь...
Максим Дубинин писал(а):Я бы избежал фразы "ESRI (Environmental Systems Research Institute) скопировали идею".
Исправил.
Максим Дубинин писал(а):В сэмплаху нас есть сцена ландсат, на которую можно ссылаться для примера, можно ли ее также обозначить в тексте (написать типа "если хотите попробовать сами - вот...")
Ссылку привёл.
Максим Дубинин писал(а):Кое где уменьшение картинок не оправдано, например: http://wiki.gis-lab.info/w/%D0%A4%D0%B0 ... module.png Не стоит сильно экономить.
Вернул размер картинки на оригинальный.
amuriy писал(а):А в цикле всё-таки было бы эффективнее, хоть в моделлере, хоть в скрипте :)
А то уменьшается кол-во профита от автоматизации..
В данном случае это не уместно - мне все подряд комбинации каналов не нужны. Времени больше уйдёт (дефицит от времени, однако :) ) на создание абсолютно всех композитов, чем на только тех, которыми я часто пользуюсь.
amuriy писал(а):"Вручную" (особенно с историей команд) можно настучать быстрее.
Не согласен, предлагаю сделать "тест-драйв": моя модель против "вручную" (хотите если, используйте историю команд). Время выполнения модели на моём компьютере приведено в статье. Могу привести данные по "железу", если надо :)
amuriy писал(а):Всё-таки официально моделлер называется "wxGUI Modeler" (акцент на исп-ии wxGUI). Т.е. полностью "GRASS wxGUI Modeler".
Исправил.
amuriy писал(а):В описании специально выделено:

Note: the tool is currently under development and distributed as experimental prototype.


Может, стоит честно предупредить юзеров?
Предупредил как мог :)
amuriy писал(а):Хотелось бы больше общего описания функций самого моделлера (что там вообще можно делать и зачем именно в нём).
Сделано!
amuriy писал(а):Это, IMHO, немного не в тему.

Время начала запуска: 9:34:16; время окончания работы модели: 9:41:35.
Давайте, укажу тогда просто общее время выполнения модели?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 09 окт 2012, 14:51

rhot писал(а):
amuriy писал(а):А в цикле всё-таки было бы эффективнее, хоть в моделлере, хоть в скрипте :)
В данном случае это не уместно - мне все подряд комбинации каналов не нужны.
А что, в цикле уже нельзя задать только нужные комбинации каналов?
rhot писал(а):Не согласен, предлагаю сделать "тест-драйв": моя модель против "вручную" (хотите если, используйте историю команд). Время выполнения модели на моём компьютере приведено в статье. Могу привести данные по "железу", если надо :)
Не будем увлекаться меряньем чего-то там :) Всем нравится работать по-разному.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 09 окт 2012, 15:03

amuriy писал(а):А что, в цикле уже нельзя задать только нужные комбинации каналов?
Буду рад, если приведёте пример с указанными комбинациями - я не знаю как это сделать.
Ещё хотелось бы групповое переименование сделать, если это возможно средствами GRASS (g.rename), но я не уверен, что регулярные выражения поддерживаются в этой команде.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 09 окт 2012, 17:49

rhot писал(а):Буду рад, если приведёте пример с указанными комбинациями - я не знаю как это сделать.
В шелле это выглядит как-то так:

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


for bands in 321 453 543 742 745 754; do
band_1=$(echo $bands | cut -c1)
band_2=$(echo $bands | cut -c2)
band_3=$(echo $bands | cut -c3)

i.landsat.rgb --verbose red=toar.${band_1} green=toar.${band_2} blue=toar.${band_3} strength=98
r.composite --overwrite --verbose red=toar.${band_1} green=toar.${band_2} blue=toar.${band_3} levels=32 output=$bands
done
rhot писал(а): Ещё хотелось бы групповое переименование сделать, если это возможно средствами GRASS (g.rename), но я не уверен, что регулярные выражения поддерживаются в этой команде.
Например, чтобы переименовать растры типа LT50720882005312HOA02_B1, LT50720882005312HOA02_B2... в B.1, B.2..., делаем :

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

for i in $(g.mlist rast pat="LT50720882005312HOA02_B?"); do
a=$(echo $i | cut -d'_' -f2)
b=$(echo $a | cut -c1)
c=$(echo $a | cut -c2)
g.rename rast=$i,${b}.${c}
done
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 10 окт 2012, 13:57

amuriy писал(а):В шелле это выглядит как-то так:
То же самое, но на питоне

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

for x in ["321", "453", "543", "742", "745", "754"]:
    result = re.findall(r"(\d)", x)
    band1 = result[0]
    band2 = result[1]
    band3 = result[2]
    grass.run_command(i.landsat.rgb --verbose red=toar.band1 green=toar.band2 blue=toar.band3 strength=98)
    grass.run_command(r.composite --overwrite --verbose red=toar.band1 green=toar.band2 blue=toar.band3 levels=32 output=x)
Последний раз редактировалось rhot 10 окт 2012, 16:05, всего редактировалось 1 раз.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 10 окт 2012, 15:42

Тот же цикл на питоне, более лаконичная версия :)

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


list = ["321", "453", "543", "742", "745", "754"]

for band in list:
grass.run_command("i.landsat.rgb",
red="toar."+band[0],
green="toar."+band[1],
blue="toar."+band[2],
strength=98)

grass.run_command("r.composite",
red="toar."+band[0],
green="toar."+band[1],
blue="toar."+band[2],
levels=32,
output=band)
Последний раз редактировалось Александр Мурый 10 окт 2012, 16:32, всего редактировалось 1 раз.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 10 окт 2012, 15:57

amuriy, перепишем скрипт переименования на питон и будет рабочий пример использования Modeler'a на высшем уровне :)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 10 окт 2012, 16:03

rhot писал(а):amuriy, перепишем скрипт переименования на питон и будет рабочий пример использования Modeler'a на высшем уровне :)
Ага, на более высоком уровне абстракции. :) Надо ещё дооформить начало скрипта с <i.landsat.toar> и можно в рецепты.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: GRASS Graphical Modeler

Сообщение Александр Мурый » 10 окт 2012, 22:28

Ещё по поводу будущей статьи.

- Явно не хватает раздела с общим описанием wxGUI Modeler (какие кнопочки за что отвечают и т.п.), не показан в явном виде профит от экспорта моделей в питон-скрипт (как "шаблон" GRASS-скрипта для начинающих).
Начиная с версии GRASS 6.4.2 это расширение включено в программу по умолчанию, отдельная установка не требуется.
- Лучше сказать, что моделлер уже есть у вас, если ваша GRASS версией не ниже 6.4.2 собрана с wxGUI

- В моделях можно делать циклы и выборки данных по шаблону через g.mlist (кнопка "Add loop/series"), с этим тоже не очень понятно

rhot, у тебя, похоже, устаревшая версия моделлера. У меня на недавно собранной GRASS 6.4.3svn внизу окна есть ещё вкладка "Python editor":
wxgui_mod_py_editor.png
wxgui_mod_py_editor.png (12.59 КБ) 22336 просмотров
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: GRASS Graphical Modeler

Сообщение rhot » 11 окт 2012, 00:00

Да, я в курсе, что появился ещё и редактор питона, писалось-то всё ой как давно...
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Ответить

Вернуться в «Материалы сайта»

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

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