Optional SAGA GIS support

SAGA GIS provides a comprehensive set of geoscientific methods and spatial algorithms. The optional SAGA GIS support is available since ZOO-Project 1.5. It allows to execute the SAGA Modules directly as ZOO WPS Services thanks to a ZOO-Kernel specific internal mechanism which is detailed in this section.


SAGA GIS logo SAGA GIS is the System for Automated Geoscientific Analyses. Learn more on official website.

How does it work ?

Installation and configuration

Follow the step described bellow in order to activate the ZOO-Project optional SAGA GIS support.


Installation steps


These installation steps were successfully tested on Ubuntu 14.4 LTS

Download lastest ZOO-Kernel code from SVN.

svn checkout http://svn.zoo-project.org/svn/trunk/zoo-kernel zoo-kernel

Then compile ZOO-Kernel using the needed configuration options as shown bellow:

cd zoo-kernel
./configure  --with-saga=/usr/local/

And copy the newly created zoo_loader.cgi to /usr/lib/cgi-bin :

cp zoo_loader.cgi /usr/lib/cgi-bin

Configuration steps

Main configuration file

Add the following content to your /usr/lib/cgi-bin/main.cfg file in the [env] section:

Services configuration file

The build of the otb2zcfg utility is required to activate the available OTB Applications as WPS services. This can be done using the following command:

mkdir build
cd build
ccmake ..

Run the following command to generate all the needed zcfg files for the available OTB Application:

mkdir zcfgs
cd zcfgs
export ITK_AUTOLOAD_PATH=/your/path/to/otb/applications
mkdir /location/to/your/cgi-bin/OTB
cp *zcfg /location/to/your/cgi-bin/OTB
Test the ZOO SAGA support

Once done, OTB Applications should be listed as available WPS Services when runing a GetCapabilities request


Each OTB Service can then be described individually using the DescribeProcess request, as for example:


And executed according to your needs, as for the following example executing OTB.BandMath with the OTB sample data as input


When executing OTB applications as WPS Services, it is also possible to check the OTB process status, using the usual ZOO GetStatus request.