[SoC] SAGA Interface for QGIS - Final GSoC Report

Camilo Polymeris cpolymeris at gmail.com
Sat Aug 20 21:02:00 EDT 2011


Hello everyone,

I am happy to say that this week saw many improvements in the QGIS
Processing Framework and the interface to SAGA.

Primarily, raster input and output works now, thanks to help from SAGA
developer Volker Wichmann. Single band local QGIS rasters are
transparently converted to SAGA format using GDAL, processed, and
imported back into QGIS. Many things could be improved and features
added, but the basic functionality is there.

To assess the progress of the interface, I have written a small
script, which checks module support, as determined by parameter
implementation. The programmatically collected stats, indicating
support for 170 modules (40%) are published in the Module Support[1]
wiki page, while the Tested Modules[2] page, maintained by Paolo,
contains a list of SAGA modules that have actually been tested.

Work on a settings dialog has started. It is still unclear how many
and which settings should be left to the user. Also on the GUI side,
an about dialog was implemented, which displays the new processing
icon by Robert Szczepanek.

In an effort to be consistent with the QGIS terminology, the string
"raster" is now automatically substituted for instances of "grid" in
each SAGA module's text: Names, tags, parameters and descriptions.

Less visible to the user, but still important, the SAGA code has been
refactored a little. Work is still pending on this issue.
Additionally, the plugin's objects are now managed in a cleaner way.

Validator and default value bugs have been fixed. Further testing is necessary.

Finally, due to rising interest in interfacing other libraries (GRASS,
OTB) I have published the API documentation[3] on the framework and
started writing a Developer's Tutorial[4].

Google Summer of Code 2011 is almost over, but it is my intention to
continue maintaining this software, first focusing on polishing the
available code and later adding more features: Support for further
parameter types, interactive modules, and module instance
serialization, among many other proposed.


Best regards & thanks a lot for the help,


Camilo

[1] https://github.com/polymeris/qgis/wiki/Module-Support
[2] https://github.com/polymeris/qgis/wiki/Tested-Modules
[3] http://polymeris.github.com/qgis/processing.html
[4] https://github.com/polymeris/qgis/wiki/Developer%27s-Tutorial


More information about the SoC mailing list