Zaktualizowałem QGIS do wersji 3.6 za pomocą OSGEO4w
Podczas próby uruchomienia dowolnego skryptu GRASS pojawia się następujący komunikat o błędzie:
Nie można uruchomić tego algorytmu :-( Podany folder GRASS 7 „C: \ OSGEO4 ~ 1 \ bin \ bin” nie zawiera prawidłowego zestawu modułów GRASS 7. Przejdź do okna dialogowego Ustawienia przetwarzania i sprawdź, czy GRASS 7 folder jest poprawnie skonfigurowany
Wygląda na to, że ścieżka nie istnieje, ale nie mogłem znaleźć miejsca, aby ją zmienić; nie jest już opcją w ustawieniach przetwarzania, jak w wersjach 2.x.
Czy istnieje sposób na uruchomienie tych skryptów przetwarzających w QGIS 3.6, a jeśli tak, to w jaki sposób mogę dostosować potrzebne ustawienia?
Edycja: Oto jak wyglądają moje opcje przetwarzania
Odpowiedzi:
Jeśli otworzę QGIS za pomocą skrótu „QGIS Desktop 3.6.0 z GRASS 7.6.0” wszystko działa dobrze. Jeśli otworzę QGIS za pomocą skrótu „QGIS Desktop 3.6.0”, pojawia się ten sam błąd co ty
źródło
grass
pakietu za pomocą OSGEO4w.QGIS Desktop x.x.x with GRASS x.x.x
opcji. Mam tylkoQGIS Desktop
opcję. Co może być nie tak?call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
do mojego pliku wsadowego qgis i narzędzia do trawy działają. Oczywiście droga musi być poprawna, a linia powinna następować po tej liniicall "%~dp0\o4w_env.bat"
Miałem ten sam problem, ale udało mi się go rozwiązać, zmieniając nazwę folderu trawy z „grass76” na grass-7.6.0 ”.
źródło
W odniesieniu do części twojego pytania
możesz zarządzać ścieżką działającego folderu GRASS
Na podstawie wersji QGIS 3.0.3
gdzie możesz dostosować
'GRASS7 folder'
, wystarczy dwukrotnie kliknąć na niego.Nawiasem mówiąc, GRASS działa dobrze na mojej wersji QGIS 3.0.3.
źródło
Na podstawie tego artykułu grasswiki ustawienie zmiennej środowiskowej systemu operacyjnego GISBASE na folder instalacyjny GRASS może rozwiązać problem (np. C: \ OSGeo4W \ apps \ grass \ grass76).
Opcje przetwarzania QGIS 3.8 nadal nie zawierają opcji dla folderu GRASS.
Mam na myśli system operacyjny Windows i QGIS 3.8 / GRASS 7.6.
źródło
Wydaje mi się, że brakuje niektórych zmiennych środowiskowych podczas uruchamiania „normalnych” qgis. Naprawiłem to w QGIS 3.4.13, zmieniając qgis-ltr-bin.env i qgis-ltr.bat . W wersji 3.6, 3.8 (...) te dwa pliki będą miały inną, ale podobną nazwę. Jeśli ty
kliknij prawym przyciskiem myszy ikonę startową qgis> otwórz ścieżkę pliku
powinno to doprowadzić cię do ... \ OSGeo4W64 \ bin lub gdziekolwiek zainstalowałeś qgis. Znajdziesz tam dwa pliki. Otwórz je za pomocą standardowego edytora tekstu (np. Notatnika), aby wprowadzić zmiany:
qgis-ltr-bin.env :
w qgis-ltr.bat :
call "%OSGEO4W_ROOT%\apps\grass\grass78\etc\env.bat"
(może folder trawy ma inną nazwę w twojej wersji)źródło
Taka sama poprawka, jak @Friedemann pracował w QGIS 3.10 z folderem C: \ OSGeo4W64 \ apps \ grass \ grass78 zmieniono na C: \ OSGeo4W64 \ apps \ grass \ grass-7.8.0AKTUALIZACJA: łatwa zmiana nazwy folderu pozwoliła na otwarcie funkcji przybornika trawy w QGIS 3.10. Jednak po wykonaniu wszystkie operacje GRASS zakończyły się niepowodzeniem z następującym błędem w dzienniku:
Próbowałem więc ustawić zmienną środowiskową Windows (używając nazwy folderu GRASS przywrócono z powrotem do „grass78”), jak opisano w innej odpowiedzi, a operacje GRASS działają teraz poprawnie w QGIS. To wydaje się właściwe rozwiązanie.
źródło
Innym rozwiązaniem do użycia GRASS w przetwarzaniu ToolBox (z QGIS) jest znalezienie w
C:\OSGeo4W64\apps\qgis\python\processing\algs\grass7\
plikuGrass7Utils.py
i zamiana terminów:grass-7.
przezgrass7
w kodzie znajdującym się w linii 223 lub dalejfor version in ['', '7', '76', '74', '72', '71', '70']:
”przezfor version in ['', '7', '78', '76', '74', '72', '71', '70']:
w kodzie znajdującym się w linii 229 lub w innym miejscu.źródło