[GRASS-dev] GRASS GIS 7 and QGIS connected using the Web
Processing Service (WPS)
soerengebbert at googlemail.com
Fri Apr 15 12:29:24 EDT 2011
2011/4/15 Moritz Lennert <mlennert at club.worldonline.be>:
> On 15/04/11 12:56, Soeren Gebbert wrote:
>> Hi Moritz,
>> please use the latest pywps and wps-grass-bridge svn versions.
> That seems to have solved it. I had used the install script for pywps, but
> this installed the FOSS4G2010 branch. Now I've installed the latest trunk
> and everything seems to work.
> Sorry for the noise !
Thanks for testing this solution, feedback is very important!
> A few rapid remarks for future development from my first usage:
> - Flags are all True by default. I think they should be False by default. I
> see that e.g. for v.buffer, the v_buffer.py process file contains:
> self.addLiteralInput(identifier = '-s', title = 'Make outside corners
> straight', minOccurs = 0, maxOccurs = 1, type = type(True), default = False,
> allowedValues = [True, False])
> so one would expect it to be False by default. This probably means that the
> problem is in the QGIS plugin, or ?
> - It is not clear where the order of parameter in the GUI comes from:
> notably those that are not directly defined by the model (e.g. ns and ew
> resolution), but it would make for a better experience to have them more
> logically grouped.
When generating the GRASS module WPS XML process description and based
upon this the PyWPS processes i had in mind that for literal boolean
inputs "False" should be the default. And i had in mind that the input
order is adapted from the GRASS command line interface, i.e: the ns
and ew resolution as well as the band number are the last entries for
inputs. But the WPS server seems to have its own order logic (dicts?)
and i do not want to implement input/output ordering in QGIS plugin
because the logic of the order of is GRASS module specific.
> - When running v.buffer, I get the following error:
> <ows:Exception exceptionCode="NoApplicableCode">
> <ows:ExceptionText>Failed to execute WPS process
> [v.buffer]: Error while executing the grass module. The following error
> message was logged:
> Buffering lines...
> Deleting boundaries...
> 2%... 5%...etc
> So, it seems to catch all the output of G_percent and G_message and
> interpret it as an error...
This should not happen. In case a module does not run correctly
(decision is made based on the return value) and exception will be
raised and the stderr output of the module will be attached. Seems
like a bug in wps-grass-bridge to me.
> - The WPS plugin shouldn't be modular, i.e. you should be able to use other
> commands with the plugin open (e.g. add another layer)
Yes indeed, this is an important missing feature. There are many
features missing i.e: non blocking waiting for long running processes,
a status bar for long running processes, efficient vector data
handling, GUI enhancement, better text/plain output handling, better
error handling and so on ... . Unfortunately i am not a QGIS nor a QT4
programmer, so i do not have the knowledge to implement such important
features by myself, so any help is appreciated.
> Once again, thanks for all the work and for your support !
More information about the grass-dev