Le 03/12/2012 14:05, Martin Dobias a écrit :
Hi Rene-Luc

On Mon, Dec 3, 2012 at 10:01 AM, rldhont <rldh...@gmail.com <mailto:rldh...@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.

Hi Martin,

My idea was to have a simple WPS server based on QGIS-Server, very simple for simple vector case, and I thought it's a good idea. I only need to validate geometry, constructing simple buffer or intersection.

For big processing, I think SEXTANTE is better suitable, but for a WPS serveur, SEXTANTE didn't need QGIS. We can construct a WPS Server based on pySextante with pyWPS.

I don't really want to hack QgsExpression, just accesses to very simple processing, I'll just it. For SEXTANTE, It will be better to work on someting based on pyWPS.

René-Luc


Regards
Martin

_______________________________________________
Qgis-developer mailing list
Qgis-developer@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to