PyWPS can handle all the management needed to setup temporal GRASS GIS
environemtn (GRASS DBASE, Location and Mapset) for you. You just need to
configure it in the :class:`pywps.Process`, using the parameter
grass_location
, which can have 2 possible values:
epsg:[EPSG_CODE]
- New temporal location is created using the EPSG code given. PyWPS will create temporal directory as GRASS Location and remove it after the WPS Execute response is constructed.
/path/to/grassdbase/location/
- Existing absolute path to GRASS Location directory. PyWPS will create temporal GRASS Mapset direcetory and remove it after the WPS Exceute response is constructed.
Then you can use Python - GRASS interfaces in the execute method, to make the work.
Note
Even PyWPS supports GRASS integration, the data still need to be
imported using GRASS modules v.in.*
or r.in.*
and also they have
to be exported manually at the end.
def execute(request, response):
from grass.script import core as grass
grass.run_command('v.in.ogr', input=request.inputs["input"][0].file,
...)
...
grass.run_command('v.out.ogr', input="myvector", ...)
Also do not forget to set gisbase
:ref:`configuration` option.
ZOO-Project provides both a server (C) and client (JavaScript) framework.
The QGIS WPS client provides a plugin with WPS support for the QGIS Desktop GIS.