0

I upgraded QGIS from 2.18.0 to 2.18.14 but I losted Saga in processing tools.

First I tried to disable/reactivate it in processing > options > providers but nothing.

I searched some solution on web and I saw that I can't change Saga folder in providers.

enter image description here

So I find a way to change it in QGIS advanced options > processing > configuration menu. I tried some folders but nothing worked...

enter image description here

In others gis stackexchange posts people said to use Osgeo4W Saga installation but i'm on mac OS not on Windows...

3
  • gis.stackexchange.com/questions/258826/… Commented Dec 26, 2017 at 10:40
  • @LennertDeFeyter : it's a good way that I'm exploring. I install LTS saga gis version 2.3.2 with HomeBrew brew install saga-gis. But now i'm searching which folder I have to set up in Qgis advanced option...
    – Tim C.
    Commented Dec 27, 2017 at 9:29
  • I tried /usr/local/Cellar/saga-gis-lts/2.3.2, /usr/local/Cellar/saga-gis-lts/2.3.2/lib, /usr/local/Cellar/saga-gis-lts/2.3.2/bin. I don't know what he needs to access.
    – Tim C.
    Commented Dec 27, 2017 at 9:35

2 Answers 2

3

Qgis user list, in particular Carlos Cerdan helped me to fix this issue. So I share solution:

  1. Go to /Applications/QGIS.app/Contents/Resources/python/plugins/processing/algs/saga
  2. Open SagaAlgorithmProvider.py in your favorite text editor
  3. go to line 76 and change: if not version.startswith('2.3.'): to e.g.: if not version.startswith('2.2.'):

It works for me, I hope it can help !

EDIT: This way only permit to use Saga 2.2.* which is provided with Qgis 2.18.*

2

Changing SagaAlgorithmProvider.py will add SAGA to the processing menu, but may not work, depending on your setup.

A lot of the SAGA command line options changed between 2.2 and 2.3, so some of the algorithms won't work. Processing thinks it's calling 2.3, and sets the command line options accordingly. SAGA 2.2 then complains about unknown parameters.

I'm using a Mac, with the KyngChaos build of QGIS (2.18.13, Nov 2017)

I got SAGA 2.3 to work by installing the SAGA LTS using homebrew...

brew install saga-gis-lts

Calling

saga_cmd --version

shows it's 2.3.2

Using

which saga_cmd

shows saga_cmd lives in /usr/local/bin

When processing starts up, it looks in the QGIS install folder for SAGA. The KyngChaos build includes saga 2.2, so Processing will choose that, rather than 2.3.2.

To get around that, I edited the SagaUtils.py, commenting out and replacing the line 'testfolder='

def findSagaFolder():
    folder = None
    if isMac():
        #testfolder = os.path.join(QgsApplication.prefixPath(), 'bin')
        testfolder = '/usr/local/bin'
        . . .

Restarted QGIS, and SAGA 2.3 is available :-)

3
  • Where I find SagaUtils.py ?
    – Tim C.
    Commented Jan 2, 2018 at 9:19
  • it should be the same directory as the SagaAlgorithmProvider.py (for me, the same directory as in your answer)
    – Steven Kay
    Commented Jan 2, 2018 at 10:26
  • It works ! But i have to reset SagaAlgorithmProvider.py with if not version.startswith('2.3.') line 76.
    – Tim C.
    Commented Jan 4, 2018 at 8:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.