Я обновил QGIS до версии 3.6, используя OSGEO4w
Когда я пытаюсь запустить любой скрипт GRASS, я получаю следующее сообщение об ошибке:
Этот алгоритм не может быть запущен :-( В указанной папке GRASS 7 "C: \ OSGEO4 ~ 1 \ bin \ bin" нет действительного набора модулей GRASS 7. Пожалуйста, перейдите в диалоговое окно "Настройки обработки" и убедитесь, что GRASS 7 папка правильно настроена
Похоже, что путь не существует, но я не мог найти место, чтобы изменить его; это больше не вариант в настройках обработки, как в версиях 2.x.
Есть ли способ запустить эти скрипты обработки в QGIS 3.6 и, если да, как я могу настроить нужные параметры?
Изменить: вот как выглядит моя обработка
Ответы:
Если я открываю QGIS с помощью ярлыка «QGIS Desktop 3.6.0 с GRASS 7.6.0», все работает нормально. Если я открываю QGIS с помощью ярлыка «QGIS Desktop 3.6.0», я получаю ту же ошибку, что и вы
источник
grass
такая же проблема возникла снова и была решена путем обновления пакета с OSGEO4w.QGIS Desktop x.x.x with GRASS x.x.x
вариант вообще. Я только получаюQGIS Desktop
возможность. Что может быть не так?call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
в свой пакетный файл qgis, и инструменты Grass работают. Конечно, путь должен быть правильным, и линия должна идти после этой линииcall "%~dp0\o4w_env.bat"
У меня была та же проблема, но мне удалось ее решить, переименовав папку «трава» из «grass76» в grass-7.6.0 ».
источник
Относительно части вашего вопроса
Вы можете управлять путем к рабочей папке GRASS через
На основе версии QGIS 3.0.3
где вы можете настроить
'GRASS7 folder'
, просто дважды щелкните по нему.И, кстати, GRASS отлично работает на моей версии QGIS 3.0.3.
источник
Основываясь на этой статье на Grassyiki, установка переменной среды операционной системы GISBASE в папку установки GRASS может решить проблему (например, C: \ OSGeo4W \ apps \ grass \ grass76).
Опции обработки QGIS 3.8 по-прежнему не содержат опцию для папки GRASS.
Я имею в виду операционную систему Windows и QGIS 3.8 / GRASS 7.6.
источник
Мне кажется, что некоторые переменные окружения отсутствуют при запуске "нормальной" qgis. Я исправил это в QGIS 3.4.13, изменив qgis-ltr-bin.env и qgis-ltr.bat . В версии 3.6, 3.8 (...) эти два файла будут иметь разные, но схожие названия. если ты
щелкните правой кнопкой мыши по значку запуска qgis> открыть путь к файлу
это должно привести вас к ... \ OSGeo4W64 \ bin или куда бы вы не установили qgis. Там вы найдете два файла. Откройте их с помощью стандартного текстового редактора (например, блокнота), чтобы внести изменения:
qgis-ltr-bin.env :
в qgis-ltr.bat :
call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
(возможно, папка grass имеет другое имя в вашей версии)источник
То же исправление, что @Friedemann работал в QGIS 3.10 с папкой C: \ OSGeo4W64 \ apps \ grass \ grass78, измененной на C: \ OSGeo4W64 \ apps \ grass \ grass-7.8.0ОБНОВЛЕНИЕ: простое исправление изменения имени папки позволило открывать функции панели инструментов Grass в QGIS 3.10. Однако при выполнении все операции GRASS завершились с ошибкой в журнале:
Итак, я попытался установить переменную среды Windows (используя имя папки GRASS, возвращенное обратно к 'grass78'), как описано в другом ответе, и теперь операции GRASS правильно выполняются в QGIS. Кажется, это правильное решение.
источник
Другое решение использовать GRASS при обработке ToolBox (с QGIS) - найти в
C:\OSGeo4W64\apps\qgis\python\processing\algs\grass7\
файлеGrass7Utils.py
и заменить термины:grass-7.
с помощьюgrass7
в коде , расположенной на линии 223 или околоfor version in ['', '7', '76', '74', '72', '71', '70']:
"путьfor version in ['', '7', '78', '76', '74', '72', '71', '70']:
в коде находится в строке 229 или около того .источник