r.mapcalc не работает
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
r.mapcalc не работает
Я внимательно изучил документацию по r.mapcalc, но не понимаю, что GRASS 7.4.1 не понимает в команде
r.mapcalc -l region=current expression = difference * difference / gradient
(difference и gradient - существующие в текущем регионе растры)
Причем ошибка: parse error - expected < вместо *
И почему-то r.mapcalculator вообще не признается командой, в расширениях его тоже нету.
Я неправильно использую синтаксис команды?
r.mapcalc -l region=current expression = difference * difference / gradient
(difference и gradient - существующие в текущем регионе растры)
Причем ошибка: parse error - expected < вместо *
И почему-то r.mapcalculator вообще не признается командой, в расширениях его тоже нету.
Я неправильно использую синтаксис команды?
Что написал - то написал!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: r.mapcalc не работает
Какая ОС? Куда вводится команда - в системную командную строку или в окно для команд в интерфейсе GRASS?
Попробуйте так:
Во-первых, нельзя ставить пробелы вокруг знака "="; во-вторых, лучше брать выражение в двойные кавычки.
Попробуйте так:
Код: Выделить всё
r.mapcalc -l region=current expression="difference * difference / gradient"
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: r.mapcalc не работает
Потому что его убрали в текущей версии GRASS (7.*), это старый и по сути не очень нужный модуль (при наличии <r.mapcalc>).
Редактор материалов, модератор форума
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: r.mapcalc не работает
Что-то не нравится ему. Parse error, expected = вместо *Александр Мурый писал(а): ↑13 авг 2018, 13:55r.mapcalc -l region=current expression="difference * difference / gradient"
Попробовал и поубирать проблеы, и одинарные кавычки вокруг названий растров - одно и то же.
Буду пробовать ещё, здесь синтаксис все ещё неправильный.
Что написал - то написал!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: r.mapcalc не работает
Не заметил сразу косяк: в выражении первым должно стоять имя нового вычисленного растра.
То есть в данном случае:
То есть в данном случае:
Код: Выделить всё
r.mapcalc -l region=current expression="newraster = difference * difference / gradient"
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: r.mapcalc не работает
Видимо, хочет знать, куда результат класть
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: r.mapcalc не работает
Дополнения:
- при использовании флага "-l" реальной работы не делается, просто выводятся входные/выходные параметры; видимо, этот новый флаг ввели для нужд скриптинга;
- можно использовать более традиционный синтаксис для <r.mapcalc>:
- при использовании флага "-l" реальной работы не делается, просто выводятся входные/выходные параметры; видимо, этот новый флаг ввели для нужд скриптинга;
- можно использовать более традиционный синтаксис для <r.mapcalc>:
Код: Выделить всё
r.mapcalc 'newraster = difference * difference / gradient'
Редактор материалов, модератор форума
- Jasen
- Активный участник
- Сообщения: 100
- Зарегистрирован: 27 янв 2006, 18:33
- Репутация: 4
- Ваше звание: Специалист
- Откуда: Москва
- Контактная информация:
Re: r.mapcalc не работает
Спасибо всем. Тема закрыта.
Правильный синтаксис:
Вот я и думал все, где же указывается файл, куда пишется результат. File это совершенно другое в данном случае.
Правильный синтаксис:
Код: Выделить всё
r.mapcalc expression="result = difference * difference / gradient" --overwrite
Что написал - то написал!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей