[Qgis-developer] SAGA Interface

Camilo Polymeris cpolymeris at gmail.com
Wed Mar 30 20:31:14 EDT 2011


On Wed, Mar 30, 2011 at 9:59 AM, G. Allegri <giohappy at gmail.com> wrote:
> Hi Camilo.
> I agree with your approach. I already expressed it in past emails on this
> topic.
> Even if working at low levels requires some more overhead (cross platform
> builds and support), it would bring a higher level of usability.
> A first step could be the design of data structures wrappers/bindings
> between  ones.
> I think that true integration between QGIS and SAGA internal native data
> structures.

Thanks for your comment. For those reasons and the ones I mentioned in
the original mail, I think I'll be going the C++ route. The single
argument that seems to favour Python is the greater availability of
coders. Giovanni and Gianluca have responded to this mail saying they
would work on a Python version. No other C++ coders interested, yet :(

So, I have roughly divided the work to be done in a list of smaller
tasks. These I have sorted in a way that would allow me, I hope, to
reach one goal by end of the first GSoC term and other by end of the
second term. This list is at the end of this message and would apply
with minor modifications to a Python module, too.
The intention here is to come up with a timeline and to identify what
the hardest parts of the process are going to be, possible pitfalls,
etc.
Please let me know if you have identified tasks I haven't considered.
I think this is a good exercise, even out of the GSoC context.

When its better formulated and if there are no objections I'll add it to
> [1] http://www.qgis.org/wiki/SAGA_Toolbox_for_QGIS

Regards,
Camilo


(0) PRE-GSOC (now :)
Tasks:
	- Proposal
	- Development environment
	- Software design
	- Setup project

(1) FIRST TERM GOAL: Implement basic functionality, have *at least
one* module working.
Implementation requirements:
	- Plugin registration
	- Library handling
	- Module loading
	- GUI: Basic module list
	- GUI: Module dialog, generic widget for options
	- Option parameters: Boolean, Integer, Floating Point
	- Input/output data structures: Grid

(2) SECOND TERM GOAL: Polish functionality and interface, have most
non-interactive modules working.
Requirements:
	- Options: Choices
	- Options: Value Range
	- Input/output: Shapes
	- Option constraint: Integer, Floating Point
	- Option constraint: Choices
	- GUI: Appropiate specific widgets based on option constraints
	- GUI: Library & module descriptions, basic help
	- Packaging (ugh)

 (3) POST-GSOC GOAL: Add support for remaining modules, including
interactive modules. Other interface improvements.
Requirements:
	- Options: All other remaining options
	- Input/output: Table and remaining data structures
	- Interactive modules: Grid
	- Interactive modules: Line, Box, Circle
	- GUI: Interactive
	- GUI: Save & load functions (XML)
	- Python bindings

(4) LONG-TERM GOAL: Conquer the GIS world


More information about the Qgis-developer mailing list