[Qgis-developer] WPS server
rldhont
rldhont at gmail.com
Mon Dec 3 01:01:23 PST 2012
Hi Paolo,
Hi Luca,
Hi all,
I'll explain my idea about QGIS-Server and WPS implementation.
For the next QGIS release, 3Liz has decided to improve QGIS-Server WFS
implementation. The main improvement is to cover the maximum of the
1.0.0 standard, especially Transaction. For Transaction and GetFeature
Request, I needed to extend the QGIS Expressions directly in the QGIS
core. I added some spatial operators like Intersects, Contains, Disjoint
but I also added spatial constructor like geomFromWKT, Intersection,
buffer. The last point means that it's possible to construct a buffer
with the QGIS Expression system.
I also discovered that in the Filter Encoding OGC standard, it's
possible to use Functions and the QGIS Expression system provides a
reader for this way of describing expressions.
And Nathan Woordrow publishing 'User defined expression functions for
QGIS' on his blog
http://woostuff.wordpress.com/2012/11/10/user-defined-expression-functions-for-qgis/
. This point explaining how the new QGIS Expression system is
extendable. And for me it was the start for testing a WPS
implementation, because I needed WPS for validating geometry for the WFS
Transaction Request.
I've worked on a WPS project which provides a way to create Process in a
wide range of programming langage, the ZOO-Project. I've worked on the
JavaScript Provider. In this project, you have to code to create new
process.
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.
My plan for WPS implementation is firstly to find fund, to :
* implement the standard (defining how to declare process, how to use
the posting XML for Excute Request, how to use QGIS layer from project, etc)
* loading Python scripts for 'User defined expression functions'
* Using Sextante
Sextante is not my priority because it is more complexe, the QGIS-Server
doesn't load python and python plugins, and we firstly need to provide a
way to have simple Process and simple way to describe Process, after
that it will be easy to use SEXTANTE.
Regards,
René-Luc D'Hont
3Liz
More information about the Qgis-developer
mailing list