[Qgis-developer] WPS server

Martin Dobias wonder.sk at gmail.com
Mon Dec 3 05:05:43 PST 2012


Hi Rene-Luc

On Mon, Dec 3, 2012 at 10:01 AM, rldhont <rldhont at gmail.com> wrote:

> With the QGIS Expression you just have to know how to write an expression
> to create a new Process. It's not coding.
> For example the Buffer Process can be described like this :
> buffer("geometry","distance")
> You want to create a Process which retrun the buffer without the geometry :
> difference(buffer("geometry","**distance"),"geometry")
> And we can define a Process which return the result of a QGIS Expression
> as the Process parameter.
>

Thanks for sharing your thoughts about your implementation.

I would like to express my concerns that using QgsExpression may be a dead
end for a generic WPS servers. Expressions are meant to deal with
individual features of a vector layer. You're right that it's possible to
define your own functions and chain them to create processes, but this is
very limited. For example it's not possible for a process to return more
results and it's not possible to use one result more than once. Just like
raster calculator has its own expression engine, also the processing
service should use a way of describing algorithms that suits best its needs
- and in our case that's python+SEXTANTE.

Therefore I strongly recommend using SEXTANTE for the WPS server backend. I
believe that would be less work than trying to hack QgsExpression to use it
for processing. You would just need to parse WPS query, generate a Python
script that would run SEXTANTE analysis and then create WPS reply. It's
probably not desirable to run the processing directly within the server
process (thread), so this would be a better solution either way.

Regards
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20121203/e5e5981c/attachment.html>


More information about the Qgis-developer mailing list