Hi all,

So I'd thought I'd throw out an idea how the client could  behave with
WPS support.

Richard Gould led me into the nice direction of adding the WPS, kind of
like a WMS is added. So I'm thinking, since the operation
GetCapabilities will give a list of all processes supported by the WPS,
and the operation DescribeProcess will retrieve a detailed description
of one or several processes. Here's a scenario:

1. When adding a WPS, the address is specified by the user. By default,
uDig then queries the GetCapabilities followed by DescribeProcess for
all processes available. Up pops a list of processes that is now
available to the uDig user. Some kind of subtree would show the brief
description of this process, the required inputs and generated outputs. 

Now lets say that a map is showing, that was rendered earlier by a
GetMap request to some WMS. 

2. In the case of the WPS buffer-process, the user then selects that she
wishes to add the "complex" input parameter needed (a gml geometry). She
and then adds that input by clicking on some Feature on the map.
Clicking on that Feature would send off something like a GetFeatureInfo
request to the WMS server, retrieving the info as gml (which is
supported by GeoServer). So that input is now shown as added.
3. The user then selects that she wants to add the other required input
to the WPS process, which is the distance to buffer the features
geometry. This is just filled in in some text field.

Generally, perhaps uDig would show the input form either as an Icon (for
complex input) or a text field (for simpler inputs, like literal values
or references to input files), depending on the Type of the needed
input.

4. When all is set up, the user clicks "Execute" and off it goes to the
WPS.

5. The response is then handled according to the output Type. In the
case of the Buffer process, gml is streamed back. It contains the
buffered geometry, as a Polygon. uDig now creates a new FeatureType
("bufferedGeometry" or something like that), adds the Polygon to a
Feature of that type and displays it as a new layer on top of the
original one (I'm just guessing that this is the way it is done).

6. The end.

Am I kind of on the right track with this? In that case, where would I
start in the uDig code to do this stuff? Any design ideas would be
great!

Jonas

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to