[Pywps-commits] r693 - in trunk/doc: . html
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Mon Oct 6 17:50:44 CEST 2008
Author: jachym
Date: 2008-10-06 17:50:43 +0200 (Mon, 06 Oct 2008)
New Revision: 693
Removed:
trunk/doc/InAndOutputs.html
trunk/doc/Lang.html
trunk/doc/Process.html
trunk/doc/buffer.xml
trunk/doc/html/index.html
trunk/doc/html/pywps-howto.css
trunk/doc/html/pywps-howto.html
trunk/doc/html/pywps-schema.png
trunk/doc/ows.otl
trunk/doc/pywps-howto.txt
trunk/doc/sample-execute-POST.xml
Log:
removed files, which are generated on-the-fly from doc
Deleted: trunk/doc/InAndOutputs.html
===================================================================
--- trunk/doc/InAndOutputs.html 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/InAndOutputs.html 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,575 +0,0 @@
-
-<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module InAndOutputs</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>InAndOutputs</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jachym/usr/src/pywps/trunk/pywps/Process/InAndOutputs.py">/home/jachym/usr/src/pywps/trunk/pywps/Process/InAndOutputs.py</a></font></td></tr></table>
- <p><tt># Author: Jachym Cepicky<br>
-# <a href="http://les-ejk.cz">http://les-ejk.cz</a><br>
-# Lince: <br>
-# <br>
-# Web Processing Service implementation<br>
-# Copyright (C) 2006 Jachym Cepicky<br>
-# <br>
-# This program is free software; you can redistribute it and/or modify<br>
-# it under the terms of the GNU General Public License as published by<br>
-# the Free Software Foundation; either version 2 of the License.<br>
-# <br>
-# This program is distributed in the hope that it will be useful,<br>
-# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-# GNU General Public License for more details.<br>
-# <br>
-# You should have received a copy of the GNU General Public License<br>
-# along with this program; if not, write to the Free Software<br>
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom> <br>
-<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-
-<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="re.html">re</a><br>
-</td><td width="25%" valign=top><a href="types.html">types</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-
-<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="InAndOutputs.html#Input">Input</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="InAndOutputs.html#BoundingBoxInput">BoundingBoxInput</a>
-</font></dt><dt><font face="helvetica, arial"><a href="InAndOutputs.html#ComplexInput">ComplexInput</a>
-</font></dt><dt><font face="helvetica, arial"><a href="InAndOutputs.html#LiteralInput">LiteralInput</a>
-</font></dt></dl>
-</dd>
-<dt><font face="helvetica, arial"><a href="InAndOutputs.html#Output">Output</a>
-</font></dt><dd>
-<dl>
-<dt><font face="helvetica, arial"><a href="InAndOutputs.html#BoundingBoxOutput">BoundingBoxOutput</a>
-</font></dt><dt><font face="helvetica, arial"><a href="InAndOutputs.html#ComplexOutput">ComplexOutput</a>
-</font></dt><dt><font face="helvetica, arial"><a href="InAndOutputs.html#LiteralOutput">LiteralOutput</a>
-</font></dt></dl>
-</dd>
-</dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="BoundingBoxInput">class <strong>BoundingBoxInput</strong></a>(<a href="InAndOutputs.html#Input">Input</a>)</font></td></tr>
-
-<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="BoundingBoxInput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, dimensions<font color="#909090">=2</font>, crss<font color="#909090">=[]</font>)</dt><dd><tt>Add BoundingBox input<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-crss List of {String} supported coordinate systems.<br>
- default: ["EPSG:4326"]<br>
-<a href="#Input">Input</a>.<a href="#BoundingBoxInput-__init__">__init__</a>(self,identifier,title,abstract=None,<br>
- metadata=[],minOccurs=minOccurs,maxOccurs=maxOccurs,type="BoundingBoxValue")</tt></dd></dl>
-
-<dl><dt><a name="BoundingBoxInput-setValue"><strong>setValue</strong></a>(self, value)</dt><dd><tt>Set value of this input<br>
- <br>
-Parameters:<br>
-value {Tuple} (minx,miny,maxx,maxy)</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>crs</strong> = None</dl>
-
-<dl><dt><strong>crss</strong> = None</dl>
-
-<dl><dt><strong>dimensions</strong> = None</dl>
-
-<dl><dt><strong>maxx</strong> = None</dl>
-
-<dl><dt><strong>maxy</strong> = None</dl>
-
-<dl><dt><strong>minx</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Input">Input</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>maxOccurs</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>minOccurs</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="BoundingBoxOutput">class <strong>BoundingBoxOutput</strong></a>(<a href="InAndOutputs.html#Output">Output</a>)</font></td></tr>
-
-<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="BoundingBoxOutput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, crss<font color="#909090">=[]</font>, dimensions<font color="#909090">=2</font>, asReference<font color="#909090">=False</font>)</dt><dd><tt>BoundingBox output<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-crss List of {String} supported coordinate systems.<br>
- default: ["EPSG:4326"]<br>
-dimensions {Integer} number of dimensions<br>
- default: 2<br>
-asReference {Boolean} wheather this output will be given back as<br>
- reference or as file<br>
- default: False</tt></dd></dl>
-
-<dl><dt><a name="BoundingBoxOutput-setValue"><strong>setValue</strong></a>(self, value)</dt><dd><tt>Set value to bbox output<br>
- <br>
-Parameters:<br>
-value {Tuple} (minx,miny,maxx,maxy)</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>crss</strong> = None</dl>
-
-<dl><dt><strong>dimensions</strong> = None</dl>
-
-<dl><dt><strong>maxx</strong> = None</dl>
-
-<dl><dt><strong>maxy</strong> = None</dl>
-
-<dl><dt><strong>minx</strong> = None</dl>
-
-<dl><dt><strong>miny</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Output">Output</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>asReference</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="ComplexInput">class <strong>ComplexInput</strong></a>(<a href="InAndOutputs.html#Input">Input</a>)</font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt><a href="#ComplexInput">ComplexInput</a> type<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="ComplexInput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, maxmegabites<font color="#909090">=5</font>, formats<font color="#909090">=[{'mimeType': 'text/xml'}]</font>)</dt><dd><tt>Init complex input<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-formats List of {Dict} according to table 23 (page 25). E.g.<br>
- [<br>
- {"mimeType": "image/tiff"},<br>
- {<br>
- "mimeType": "text/xml",<br>
- "encoding": "utf-8",<br>
- "schema":"<a href="http://foo/bar">http://foo/bar</a>"<br>
- }<br>
- ]<br>
- default: [{"mimeType":"text/xml"}]<br>
-maxmegabites {Float} Maximum input file size. Can not be bigger, as<br>
- defined in global configuration file. <br>
- default: 5</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-downloadData"><strong>downloadData</strong></a>(self, url)</dt><dd><tt>Download data from given url. Do not download more, then<br>
-self.<strong>maxmegabites</strong><br>
- <br>
-Parameters:<br>
-url {String} URL where the data are lying</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-onMaxFileSizeExceeded"><strong>onMaxFileSizeExceeded</strong></a>(self, why)</dt><dd><tt>Empty method, called, when there was any problem with the input.<br>
- <br>
-Parameters:<br>
-why {String} Error code</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-onNotFound"><strong>onNotFound</strong></a>(self, what)</dt><dd><tt>Empty method, called, when there was any problem with the input.<br>
- <br>
-Parameters:<br>
-what {String} Error code</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-onProblem"><strong>onProblem</strong></a>(self, what, why)</dt><dd><tt>Empty method, called, when there was any problem with the input.<br>
- <br>
-Parameters:<br>
-what {String} Message with error description<br>
-why {String} Error code</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-setValue"><strong>setValue</strong></a>(self, input)</dt><dd><tt>Set input value for this input</tt></dd></dl>
-
-<dl><dt><a name="ComplexInput-storeData"><strong>storeData</strong></a>(self, data)</dt><dd><tt>To be redefined in each instance</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>format</strong> = None</dl>
-
-<dl><dt><strong>formats</strong> = None</dl>
-
-<dl><dt><strong>maxFileSize</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Input">Input</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>maxOccurs</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>minOccurs</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="ComplexOutput">class <strong>ComplexOutput</strong></a>(<a href="InAndOutputs.html#Output">Output</a>)</font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Complex value output<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="ComplexOutput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, formats<font color="#909090">=[{'mimeType': 'text/xml'}]</font>, asReference<font color="#909090">=False</font>)</dt><dd><tt>Complex output<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} output identifier<br>
-title {String} output title<br>
- <br>
-Optional parameters:<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-formats List of {Dict} according to table 23 (page 25). E.g.<br>
- [<br>
- {"mimeType": "image/tiff"},<br>
- {<br>
- "mimeType": "text/xml",<br>
- "encoding": "utf-8",<br>
- "schema":"<a href="http://foo/bar">http://foo/bar</a>"<br>
- }<br>
- ]<br>
- default: [{"mimeType":"text/xml"}]<br>
-asReference {Boolean} wheather this output will be given back as<br>
- reference or as file<br>
- default: False</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>format</strong> = None</dl>
-
-<dl><dt><strong>formats</strong> = None</dl>
-
-<hr>
-Methods inherited from <a href="InAndOutputs.html#Output">Output</a>:<br>
-<dl><dt><a name="ComplexOutput-setValue"><strong>setValue</strong></a>(self, value)</dt><dd><tt>Set this output value</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Output">Output</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>asReference</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="Input">class <strong>Input</strong></a></font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Class WPS <a href="#Input">Input</a><br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Input-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, type<font color="#909090">=None</font>)</dt><dd><tt><a href="#Input">Input</a> initialization<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-type {String} one of "LiteralValue", "ComplexValue" or<br>
- "BoundingBoxValue"<br>
- default: None</tt></dd></dl>
-
-<dl><dt><a name="Input-setValue"><strong>setValue</strong></a>(self, input)</dt><dd><tt>Control in some way the input value<br>
- <br>
-Parameters:<br>
-input {pywps.Process.<a href="#Input">Input</a>}</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>maxOccurs</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>minOccurs</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="LiteralInput">class <strong>LiteralInput</strong></a>(<a href="InAndOutputs.html#Input">Input</a>)</font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Literal input type of input. <br>
- <br>
-NOTE: The spacing parameter was not used yet<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="LiteralInput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, dataType<font color="#909090">=<type 'str'></font>, uoms<font color="#909090">=()</font>, values<font color="#909090">='*'</font>, spacing<font color="#909090">=None</font>, default<font color="#909090">=None</font>)</dt><dd><tt>Init the literal value type of input<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. Default: None<br>
- default: None<br>
-uoms List of {String} value units<br>
- default: ()<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-allowedValues List of {String} or {List} list of allowed values,<br>
- which can be used with this input. You can set interval<br>
- using list with two items, like:<br>
- <br>
- (1,2,3,(5,9),10,"a",("d","g"))<br>
- <br>
- This will produce allowed values 1,2,3,10, "a" and<br>
- any value between 5 and 9 or "d" and "g".<br>
- <br>
- If "*" is used, it means "any value"<br>
- default: ("*")<br>
-type {types.TypeType} value type, e.g. Integer, String, etc. you<br>
- can uses the "types" module of python.<br>
- default: types.StringType<br>
-default {Any} default value.<br>
- default: None<br>
-spacing {Float} <br>
- default: None</tt></dd></dl>
-
-<dl><dt><a name="LiteralInput-getValue"><strong>getValue</strong></a>(self)</dt><dd><tt>Get the input.value</tt></dd></dl>
-
-<dl><dt><a name="LiteralInput-setValue"><strong>setValue</strong></a>(self, input)</dt><dd><tt>Set input value value to this input</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>dataType</strong> = None</dl>
-
-<dl><dt><strong>default</strong> = None</dl>
-
-<dl><dt><strong>restrictedCharacters</strong> = [r'\', '#', ';', '&', '!']</dl>
-
-<dl><dt><strong>spacing</strong> = None</dl>
-
-<dl><dt><strong>uom</strong> = None</dl>
-
-<dl><dt><strong>uoms</strong> = None</dl>
-
-<dl><dt><strong>values</strong> = None</dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Input">Input</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>maxOccurs</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>minOccurs</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="LiteralOutput">class <strong>LiteralOutput</strong></a>(<a href="InAndOutputs.html#Output">Output</a>)</font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Literal output class<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="LiteralOutput-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, uoms<font color="#909090">=()</font>, dataType<font color="#909090">=<type 'str'></font>, default<font color="#909090">=None</font>, asReference<font color="#909090">=False</font>)</dt><dd><tt><a href="#Output">Output</a> of type LiteralValue<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. Default: None<br>
- default: None<br>
-metadata List of {Dict} additional metadata<br>
- default: ()<br>
-uoms List of {String} value units<br>
- default: ()<br>
-dataType {types.TypeType} value type, e.g. Integer, String, etc. you<br>
- can uses the "types" module of python.<br>
- default: types.StringType<br>
-default {Any} default value.<br>
- default: None<br>
-asReference {Boolean} wheather this output will be given back as<br>
- reference or as file<br>
- default: False</tt></dd></dl>
-
-<hr>
-Methods inherited from <a href="InAndOutputs.html#Output">Output</a>:<br>
-<dl><dt><a name="LiteralOutput-setValue"><strong>setValue</strong></a>(self, value)</dt><dd><tt>Set this output value</tt></dd></dl>
-
-<hr>
-Data and other attributes inherited from <a href="InAndOutputs.html#Output">Output</a>:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>asReference</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="Output">class <strong>Output</strong></a></font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Class WPS <a href="#Input">Input</a><br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Output-__init__"><strong>__init__</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, type<font color="#909090">=None</font>, asReference<font color="#909090">=False</font>)</dt><dd><tt><a href="#Output">Output</a> initialization<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-type {String} one of "LiteralValue", "ComplexValue" or<br>
- "BoundingBoxValue"<br>
- default: None<br>
-asReference {Boolean} wheather this output will be given back as<br>
- reference or as file<br>
- default: False</tt></dd></dl>
-
-<dl><dt><a name="Output-setValue"><strong>setValue</strong></a>(self, value)</dt><dd><tt>Set this output value</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>asReference</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>type</strong> = None</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
Deleted: trunk/doc/Lang.html
===================================================================
--- trunk/doc/Lang.html 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/Lang.html 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,66 +0,0 @@
-
-<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module Lang</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>Lang</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jachym/usr/src/pywps/trunk/pywps/Process/Lang.py">/home/jachym/usr/src/pywps/trunk/pywps/Process/Lang.py</a></font></td></tr></table>
- <p><tt>Set and get language codes, initialize translated messages, so that the<br>
-user scan use them directly in processes.<br>
- <br>
-In the process:<br>
- <br>
- User has to define set of messages for all supported languages, like<br>
- <br>
- self.<strong>lang</strong>["eng"]["key1"] = "Hallo, world!"<br>
- self.<strong>lang</strong>["eng"]["key2"] = "Foo"<br>
- self.<strong>lang</strong>["eng"]["key3"] = "Bar"<br>
- <br>
- Than the user can use i18n(key) method, which returns the string<br>
- in preset language (given by client request)</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom> <br>
-<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-
-<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
-</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-
-<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="Lang.html#Lang">Lang</a>
-</font></dt></dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="Lang">class <strong>Lang</strong></a></font></td></tr>
-
-<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Lang-__init__"><strong>__init__</strong></a>(self)</dt></dl>
-
-<dl><dt><a name="Lang-get"><strong>get</strong></a>(self, key)</dt><dd><tt>Will return desired string in selected language</tt></dd></dl>
-
-<dl><dt><a name="Lang-getCode"><strong>getCode</strong></a>(self, langString)</dt></dl>
-
-<dl><dt><a name="Lang-initStrings"><strong>initStrings</strong></a>(self)</dt><dd><tt>Initialize self.<strong>strings</strong> object accoring to known codces from<br>
-<a href="#Lang">Lang</a>.py<br>
- <br>
-It can be used later like:<br>
- self.<strong>strings</strong>["eng"]["foo"] = "bar"</tt></dd></dl>
-
-<dl><dt><a name="Lang-setCode"><strong>setCode</strong></a>(self)</dt><dd><tt>Set choosen language code</tt></dd></dl>
-
-</td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
Deleted: trunk/doc/Process.html
===================================================================
--- trunk/doc/Process.html 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/Process.html 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,341 +0,0 @@
-
-<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><title>Python: module Process</title>
-</head><body bgcolor="#f0f0f8">
-
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
-<tr bgcolor="#7799ee">
-<td valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>Process</strong></big></big></font></td
-><td align=right valign=bottom
-><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jachym/usr/src/pywps/trunk/pywps/Process/Process.py">/home/jachym/usr/src/pywps/trunk/pywps/Process/Process.py</a></font></td></tr></table>
- <p><tt># Author: Jachym Cepicky<br>
-# <a href="http://les-ejk.cz">http://les-ejk.cz</a><br>
-# Lince: <br>
-# <br>
-# Web Processing Service implementation<br>
-# Copyright (C) 2006 Jachym Cepicky<br>
-# <br>
-# This program is free software; you can redistribute it and/or modify<br>
-# it under the terms of the GNU General Public License as published by<br>
-# the Free Software Foundation; either version 2 of the License.<br>
-# <br>
-# This program is distributed in the hope that it will be useful,<br>
-# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-# GNU General Public License for more details.<br>
-# <br>
-# You should have received a copy of the GNU General Public License<br>
-# along with this program; if not, write to the Free Software<br>
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</tt></p>
-<p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#aa55cc">
-<td colspan=3 valign=bottom> <br>
-<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
-
-<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
-<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="InAndOutputs.html">InAndOutputs</a><br>
-<a href="Lang.html">Lang</a><br>
-</td><td width="25%" valign=top><a href="subprocess.html">subprocess</a><br>
-<a href="sys.html">sys</a><br>
-</td><td width="25%" valign=top><a href="time.html">time</a><br>
-<a href="types.html">types</a><br>
-</td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ee77aa">
-<td colspan=3 valign=bottom> <br>
-<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
-
-<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
-<td width="100%"><dl>
-<dt><font face="helvetica, arial"><a href="Process.html#Status">Status</a>
-</font></dt><dt><font face="helvetica, arial"><a href="Process.html#WPSProcess">WPSProcess</a>
-</font></dt></dl>
- <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="Status">class <strong>Status</strong></a></font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt><a href="#Status">Status</a> object for each process<br>
- <br>
-Attributes:<br>
-creationTime time.time()<br>
-code {String} "processstarted", "processfailed" or anything else<br>
-percentCompleted {Float} how far the calculation is<br>
-value {String} message string to the client<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="Status-onStatusChanged"><strong>onStatusChanged</strong></a>(self)</dt><dd><tt>To be redefined by other methods</tt></dd></dl>
-
-<dl><dt><a name="Status-set"><strong>set</strong></a>(self, msg<font color="#909090">=''</font>, percentDone<font color="#909090">=0</font>, propagate<font color="#909090">=True</font>)</dt><dd><tt>Set status message<br>
- <br>
-Parameters:<br>
-msg {String} message for the client<br>
-percentDone {Float} percent > 0<br>
-propagate {Boolean} call onStatusChanged method</tt></dd></dl>
-
-<dl><dt><a name="Status-setProcessStatus"><strong>setProcessStatus</strong></a>(self, code, value)</dt><dd><tt>Sets current status of the process. Calls onStatusChanged method<br>
- <br>
-Parameters:<br>
-code {String} one of "processaccepted" "processstarted"<br>
- "processsucceeded" "processpaused" "processfailed"<br>
-value {String} additional message</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>code</strong> = None</dl>
-
-<dl><dt><strong>creationTime</strong> = 1220454837.6243529</dl>
-
-<dl><dt><strong>percentCompleted</strong> = 0</dl>
-
-<dl><dt><strong>value</strong> = None</dl>
-
-</td></tr></table> <p>
-<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
-<tr bgcolor="#ffc8d8">
-<td colspan=3 valign=bottom> <br>
-<font color="#000000" face="helvetica, arial"><a name="WPSProcess">class <strong>WPSProcess</strong></a></font></td></tr>
-
-<tr bgcolor="#ffc8d8"><td rowspan=2><tt> </tt></td>
-<td colspan=2><tt>Base class for any PyWPS Process<br> </tt></td></tr>
-<tr><td> </td>
-<td width="100%">Methods defined here:<br>
-<dl><dt><a name="WPSProcess-__init__"><strong>__init__</strong></a>(self, identifier, title<font color="#909090">=None</font>, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, profile<font color="#909090">=[]</font>, version<font color="#909090">=None</font>, statusSupported<font color="#909090">=True</font>, storeSupported<font color="#909090">=False</font>, grassLocation<font color="#909090">=None</font>)</dt><dd><tt>Process initialization. All parameters can be set lately<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} process identifier<br>
-title {String} process title<br>
- <br>
-Optional parameters:<br>
-abstract {String} process description<br>
- default: None<br>
-metadata List of {Dict} aditional metadata. See<br>
- <a href="http://www.opengeospatial.org/standards/common">http://www.opengeospatial.org/standards/common</a>, table 32 on page 65<br>
- E.g. {"foo":"bar"}<br>
- default: None<br>
-profile {URN}<br>
- default: None<br>
-version {String} process version<br>
- default: None<br>
-statusSupported {Boolean} this process can be run assynchronously<br>
- default: True<br>
-storeSupported {Boolean} outputs from this process can be stored<br>
- for later dowload<br>
- default: True<br>
-grassLocation {String} or {Boolean} name of GRASS Location within<br>
- "grassdbase" directory (from pywps.cfg configuration file).<br>
- If set to True, temporary GRASS Location will be created<br>
- and grass environment will be started. If None or False, no<br>
- GRASS environment will be started.<br>
- default: None</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addBBoxInput"><strong>addBBoxInput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, crss<font color="#909090">=['EPSG:4326']</font>)</dt><dd><tt>Add BoundingBox input<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-crss List of {String} supported coordinate systems.<br>
- default: ["EPSG:4326"]</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addBBoxOutput"><strong>addBBoxOutput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, crs<font color="#909090">='EPSG:4326'</font>, dimensions<font color="#909090">=2</font>)</dt><dd><tt>Add new output item of type BoundingBoxValue to this process <br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-crss List of {String} supported coordinate systems.<br>
- default: ["EPSG:4326"]<br>
-dimensions {Integer} number of dimensions<br>
- default: 2</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addComplexInput"><strong>addComplexInput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, formats<font color="#909090">=[{'mimeType': 'text/xml'}]</font>, maxmegabites<font color="#909090">=5</font>)</dt><dd><tt>Add complex input to this process<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. <br>
- default: None<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-formats List of {Dict} according to table 23 (page 25). E.g.<br>
- [<br>
- {"mimeType": "image/tiff"},<br>
- {<br>
- "mimeType": "text/xml",<br>
- "encoding": "utf-8",<br>
- "schema":"<a href="http://foo/bar">http://foo/bar</a>"<br>
- }<br>
- ]<br>
- default: [{"mimeType":"text/xml"}]<br>
-maxmegabites {Float} Maximum input file size. Can not be bigger, as<br>
- defined in global configuration file. <br>
- default: 5</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addComplexOutput"><strong>addComplexOutput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, formats<font color="#909090">=[{'mimeType': 'text/xml'}]</font>)</dt><dd><tt>Add complex output to this process<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} output identifier<br>
-title {String} output title<br>
- <br>
-Optional parameters:<br>
-metadata List of {Dict} {key:value} pairs. <br>
- default: None<br>
-formats List of {Dict} according to table 23 (page 25). E.g.<br>
- [<br>
- {"mimeType": "image/tiff"},<br>
- {<br>
- "mimeType": "text/xml",<br>
- "encoding": "utf-8",<br>
- "schema":"<a href="http://foo/bar">http://foo/bar</a>"<br>
- }<br>
- ]<br>
- default: [{"mimeType":"text/xml"}]</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addLiteralInput"><strong>addLiteralInput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, uoms<font color="#909090">=()</font>, minOccurs<font color="#909090">=1</font>, maxOccurs<font color="#909090">=1</font>, allowedValues<font color="#909090">='*'</font>, type<font color="#909090">=<type 'int'></font>, default<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>)</dt><dd><tt>Add new input item of type LiteralValue to this process<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. Default: None<br>
- default: None<br>
-uoms List of {String} value units<br>
- default: ()<br>
-minOccurs {Integer} minimum number of occurencies. <br>
- default: 1<br>
-maxOccurs {Integer} maximum number of occurencies. <br>
- default: 1<br>
-allowedValues List of {String} or {List} list of allowed values,<br>
- which can be used with this input. You can set interval<br>
- using list with two items, like:<br>
- <br>
- (1,2,3,(5,9),10,"a",("d","g"))<br>
- <br>
- This will produce allowed values 1,2,3,10, "a" and<br>
- any value between 5 and 9 or "d" and "g".<br>
- <br>
- If "*" is used, it means "any value"<br>
- default: ("*")<br>
-type {types.TypeType} value type, e.g. Integer, String, etc. you<br>
- can uses the "types" module of python.<br>
- default: types.IntType<br>
-default {Any} default value.<br>
- default: None<br>
-metadata List of {Dict} Aditional metadata. E.g. {"foo":"bar"}<br>
- default: None</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-addLiteralOutput"><strong>addLiteralOutput</strong></a>(self, identifier, title, abstract<font color="#909090">=None</font>, uoms<font color="#909090">=()</font>, type<font color="#909090">=<type 'int'></font>, default<font color="#909090">=None</font>)</dt><dd><tt>Add new output item of type LiteralValue to this process<br>
- <br>
-Mandatory parameters:<br>
-identifier {String} input identifier<br>
-title {String} input title<br>
- <br>
-Optional parameters:<br>
-abstract {String} input description. Default: None<br>
- default: None<br>
-uoms List of {String} value units<br>
- default: ()<br>
-type {types.TypeType} value type, e.g. Integer, String, etc. you<br>
- can uses the "types" module of python.<br>
- default: types.IntType<br>
-default {Any} default value.<br>
- default: None</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-cmd"><strong>cmd</strong></a>(self, cmd, stdin<font color="#909090">=None</font>)</dt><dd><tt>Runs GRASS command, fetches all GRASS_MESSAGE and<br>
-GRASS_PERCENT messages and sets self.<strong>status</strong> according to them, so<br>
-the client application can track the progress information, when<br>
-runing with <a href="#Status">Status</a>=True<br>
- <br>
-This module is supposed to be used instead of 'os.system()', while<br>
-running GRASS modules<br>
- <br>
-Example Usage:<br>
- Gcmd("r.los in=elevation.dem out=los coord=1000,1000")<br>
- <br>
- Gcmd("v.net.path network afcol=forward abcol=backward out=mypath nlayer=1","1 9 12")</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-getInput"><strong>getInput</strong></a>(self, identifier)</dt><dd><tt>Get input defined by identifier<br>
- <br>
-Returns: None or Input</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-getInputValue"><strong>getInputValue</strong></a>(self, identifier)</dt><dd><tt>Get input value according to identifier<br>
- <br>
-Returns: None or self.<strong>inputs</strong>[identifier].value</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-i18n"><strong>i18n</strong></a>(self, key)</dt><dd><tt>Give back translation of defined key<br>
- <br>
-Returns: {String} translated string</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-initProcess"><strong>initProcess</strong></a>(self, title<font color="#909090">=None</font>, abstract<font color="#909090">=None</font>, metadata<font color="#909090">=[]</font>, profile<font color="#909090">=[]</font>, version<font color="#909090">=None</font>, statusSupported<font color="#909090">=True</font>, storeSupported<font color="#909090">=False</font>, grassLocation<font color="#909090">=None</font>)</dt><dd><tt>Can be used for later process re-initialization <br>
- <br>
-For parameters, see __init__ method options.</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-message"><strong>message</strong></a>(self, msg, force<font color="#909090">=False</font>)</dt><dd><tt>Print some message to standard error<br>
- <br>
-Parameters:<br>
-msg {String} print this string to standard error<br>
-force {Boolean} if self.<strong>debug</strong> or force == True, the message will be<br>
- printed. nothing happen otherwise.</tt></dd></dl>
-
-<dl><dt><a name="WPSProcess-setOutputValue"><strong>setOutputValue</strong></a>(self, identifier, value)</dt><dd><tt>Set output value<br>
- <br>
-Returns: None</tt></dd></dl>
-
-<hr>
-Data and other attributes defined here:<br>
-<dl><dt><strong>abstract</strong> = None</dl>
-
-<dl><dt><strong>debug</strong> = None</dl>
-
-<dl><dt><strong>grassLocation</strong> = None</dl>
-
-<dl><dt><strong>identifier</strong> = None</dl>
-
-<dl><dt><strong>inputs</strong> = None</dl>
-
-<dl><dt><strong>lang</strong> = None</dl>
-
-<dl><dt><strong>metadata</strong> = None</dl>
-
-<dl><dt><strong>outputs</strong> = None</dl>
-
-<dl><dt><strong>profile</strong> = None</dl>
-
-<dl><dt><strong>status</strong> = None</dl>
-
-<dl><dt><strong>statusSupported</strong> = None</dl>
-
-<dl><dt><strong>storeSupported</strong> = None</dl>
-
-<dl><dt><strong>title</strong> = None</dl>
-
-<dl><dt><strong>version</strong> = None</dl>
-
-<dl><dt><strong>wsdl</strong> = None</dl>
-
-</td></tr></table></td></tr></table>
-</body></html>
\ No newline at end of file
Deleted: trunk/doc/buffer.xml
===================================================================
--- trunk/doc/buffer.xml 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/buffer.xml 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,37 +0,0 @@
-Content-type: application/x-www-form-urlencoded
-Accept: text/plain
-
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<Execute service="WPS" version="0.4.0" store="true" status="false"
-xmlns="http://www.opengeospatial.net/wps"
-xmlns:ows="http://www.opengeospatial.net/ows"
-xmlns:xlink="http://www.w3.org/1999/xlink"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://www.opengeospatial.net/wps
-..\wpsExecute.xsd">
- <ows:Identifier>Buffer</ows:Identifier>
- <DataInputs>
- <Input>
- <ows:Identifier>InputPolygon</ows:Identifier>
- <ows:Title>Playground area</ows:Title>
- <ComplexValueReference
-ows:reference="http://foo.bar/some_WFS_request.xml"
-schema="http://foo.bar/gml_polygon_schema.xsd" />
- </Input>
- <Input>
- <ows:Identifier>BufferDistance</ows:Identifier>
- <ows:Title>Distance which people will walk to get to a
-playground</ows:Title>
- <LiteralValue uom="meters">400</LiteralValue>
- </Input>
- </DataInputs>
- <OutputDefinitions>
- <Output>
- <ows:Identifier>BufferedPolygon</ows:Identifier>
- <ows:Title>Area serviced by playground.</ows:Title>
- <ows:Abstract>Area within which most users of this playground will
-live.</ows:Abstract>
- </Output>
- </OutputDefinitions>
-</Execute>
-
Deleted: trunk/doc/html/index.html
===================================================================
--- trunk/doc/html/index.html 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/html/index.html 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,1054 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
-original version by: Nikos Drakos, CBLU, University of Leeds
-* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
- Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Implementation of OGC WPS standard: PyWPS</TITLE>
-<META NAME="description" CONTENT="Implementation of OGC WPS standard: PyWPS">
-<META NAME="keywords" CONTENT="pywps-howto">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="pywps-howto.css">
-
-</HEAD>
-
-<BODY >
-
-<DIV CLASS="navigation"><!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive"
- SRC="/usr/share/latex2html/icons/nx_grp_g.png">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="/usr/share/latex2html/icons/up_g.png">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="/usr/share/latex2html/icons/prev_g.png">
-<BR>
-<BR>
-<BR></DIV>
-<!--End of Navigation Panel-->
-<H1 ALIGN="CENTER">Implementation of OGC WPS standard: PyWPS</H1>
-<DIV CLASS="author_info">
-
-<P ALIGN="CENTER"><STRONG>Jachym Cepicky</STRONG></P>
-</DIV>
-
-<P>
-
-<P><P>
-<BR>
-<BLOCKQUOTE>
-Copyright ©2006-2009 PyWPS Development Team
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
-</BLOCKQUOTE>
-
-<P><P>
-<BR>
-
-<P>
-In this file, you can found the description of installation and
-configuration of PyWPS script. At the and, you can learn, how to add
-your own process. This document describes most recent
-version of PyWPS (<SPAN CLASS="textit">2.0.0</SPAN>), available in subversion respository.
-
-<P>
-PyWPS project has been started on April 2006 with support of DBU -
-Deutsche Bundesstiftung Umwelt<A NAME="tex2html1"
- HREF="#foot222"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A> and with help of
-GDF-Hannover<A NAME="tex2html3"
- HREF="#foot223"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A> and Help Service Remote
-Sensing<A NAME="tex2html5"
- HREF="#foot224"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A> companies. Initial author is Jachym
-Cepicky<A NAME="tex2html7"
- HREF="#foot225"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A>.
-
-<P>
-<BR>
-
-<H2><A NAME="SECTION00010000000000000000">
-Contents</A>
-</H2>
-<!--Table of Contents-->
-
-<UL CLASS="TofC">
-<LI><A NAME="tex2html54"
- HREF="pywps-howto.html#SECTION00020000000000000000">Introduction</A>
-<UL>
-<LI><A NAME="tex2html55"
- HREF="pywps-howto.html#SECTION00021000000000000000">How it works</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html56"
- HREF="pywps-howto.html#SECTION00030000000000000000">Quick install</A>
-<LI><A NAME="tex2html57"
- HREF="pywps-howto.html#SECTION00040000000000000000">Know issues</A>
-<LI><A NAME="tex2html58"
- HREF="pywps-howto.html#SECTION00050000000000000000">Installation</A>
-<UL>
-<LI><A NAME="tex2html59"
- HREF="pywps-howto.html#SECTION00051000000000000000">Installation the quick 'n' dirty way</A>
-<LI><A NAME="tex2html60"
- HREF="pywps-howto.html#SECTION00052000000000000000">Installation the 'clean' way</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html61"
- HREF="pywps-howto.html#SECTION00060000000000000000">Configuration</A>
-<LI><A NAME="tex2html62"
- HREF="pywps-howto.html#SECTION00070000000000000000">Write your own processes</A>
-<UL>
-<LI><A NAME="tex2html63"
- HREF="pywps-howto.html#SECTION00071000000000000000">Process initialization and configuration</A>
-<LI><A NAME="tex2html64"
- HREF="pywps-howto.html#SECTION00072000000000000000">Process Programming</A>
-<LI><A NAME="tex2html65"
- HREF="pywps-howto.html#SECTION00073000000000000000">Using GRASS GIS</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html66"
- HREF="pywps-howto.html#SECTION00080000000000000000">Testing your new process</A>
-</UL>
-<!--End of Table of Contents-->
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00020000000000000000">
-Introduction</A>
-</H1>
-PyWPS (Python Web Processing Service) is implementation of Web
-Processing Service 1.0.x standard from Open Geospatial
-Consortium<A NAME="tex2html9"
- HREF="#foot226"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A>.
-
-<P>
-It has been started on Mai 2006 as project supported by DBU. It offers
-environment for programming own process (geofunctions or models) which can
-be accessed from the public. The main advantage of PyWPS is, that it has
-been written with native support for GRASS
-GIS<A NAME="tex2html11"
- HREF="#foot42"><SUP><SPAN CLASS="arabic">6</SPAN></SUP></A>. Access GRASS modules via web
-interace should be as easy as possible.
-However, not only GRASS GIS is supported. Usage of other programs, like
-R package or GDAL or PROJ tools is possible as well.
-
-<P>
-PyWPS is written in Python programming language, your processes must use
-this language too.
-
-<P>
-PyWPS Homepage can be found at <TT><A NAME="tex2html12"
- HREF="http://pywps.wald.intevation.org">http://pywps.wald.intevation.org</A></TT>.
-PyWPS Wiki is hosted on <TT><A NAME="tex2html13"
- HREF="http://pywps.ominiverdi.org/wiki">http://pywps.ominiverdi.org/wiki</A></TT>.
-
-<P>
-
-<H2><A NAME="SECTION00021000000000000000">
-How it works</A>
-</H2>
-PyWPS is an translator application between client (Web Browser, Desktop
-GIS, command line tool, ...) and working tool installed on the server.
-PyWPS does no process the data by it self. As working tool, GRASS GIS, GDAL, PROJ, R
-and other programs can be used.
-
-<P>
-
-<DIV ALIGN="CENTER"><A NAME="pic:pywps"></A><A NAME="47"></A>
-<TABLE>
-<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
-How does PyWPS work: GRASS GIS is in this case working tool</CAPTION>
-<TR><TD>
-<DIV ALIGN="CENTER">
-<IMG
- WIDTH="832" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
- SRC="./pywps-schema.png"
- ALT="Image pywps-schema">
-
-</DIV></TD></TR>
-</TABLE>
-</DIV>
-
-<P>
-
-<H1><A NAME="SECTION00030000000000000000">
-Quick install</A>
-</H1>
-
-<OL>
-<LI>Install PyWPS, see page <A HREF="pywps-howto.html#install"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details
-</LI>
-<LI>NOTE: Rename original files (process examples, configuration files)
- with <TT>.py-dist</TT> suffix to <TT>.py</TT>, when you see them.
-</LI>
-<LI>Edit configuration files in <TT>pywps/etc/</TT> directory. See
- page <A HREF="pywps-howto.html#configuration"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-<LI>Create or edit <TT>__init__.py</TT> file in
- <TT>pywps/processes</TT> directory. Add available process names to
- <TT>__all__</TT> array.
-</LI>
-<LI>Add your processes to <TT>pywps/processes</TT> directory. See
- page <A HREF="pywps-howto.html#processes"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-<LI>Run PyWPS with <TT>./wps.py</TT> command, see
- page <A HREF="pywps-howto.html#testing"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-</OL>
-
-<P>
-
-<H1><A NAME="SECTION00040000000000000000">
-Know issues</A>
-</H1>
-Known bugs and limitations to UL>
-<LI>Translations do not work for GetCapabilities. They only work for DescribeProcess request types.
-</LI>
-<LI>If inputs are of type <TT>LiteralValue</TT> and it's type is
-string, it could be security problem. Take care on your inputs and do
-not use it directly in scripts to avoid your server to be hacked.
-</LI>
-</UL>
-
-<P>
-Please report all problems or unexpected handeling either via pywps mailing
-list<A NAME="tex2html15"
- HREF="#foot227"><SUP><SPAN CLASS="arabic">7</SPAN></SUP></A>or using PyWPS
-bugtracker<A NAME="tex2html16"
- HREF="#foot228"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A>.
-
-<P>
-
-<H1><A NAME="SECTION00050000000000000000"></A>
-<A NAME="install"></A>
-<BR>
-Installation
-</H1>
-Required packages:
-
-<P>
-
-<UL>
-<LI>python
-</LI>
-<LI>python-xml
-</LI>
-<LI>python-htmltmpl
-</LI>
-</UL>
-
-<P>
-Recommended packages:
-
-<P>
-
-<UL>
-<LI>Web Server (e.g. Apache) - <TT><A NAME="tex2html17"
- HREF="http://httpd.apache.org">http://httpd.apache.org</A></TT> - You
- will need an web server, to be able to execute processes from remote
- computers.
-
-<P>
-</LI>
-<LI>GIS GRASS - <TT><A NAME="tex2html18"
- HREF="http://grass.itc.it">http://grass.itc.it</A></TT> - Geographical Resources
- Analysis Support System (GRASS) is Open Source GIS, which provides more
- then 350 modules for raster and vector (2D, 3D) data analysis. PyWPS is
- written with native support for GRASS and it's functions.
-
-<P>
-</LI>
-<LI>PROJ.4 - <TT><A NAME="tex2html19"
- HREF="http://proj.maptools.org">http://proj.maptools.org</A></TT> - Cartographic
- Projections library used in various Open Source projects, such as
- GRASS, UMN MapServer, QGIS and others. It can be used e.g. for data
- transformation.
-
-<P>
-</LI>
-<LI>GDAL/OGR - <TT><A NAME="tex2html20"
- HREF="http://gdal.org">http://gdal.org</A></TT> - translator library for
- raster geospatial data formats, is used in various projects for
- importing, exporting and transformation between various raster and vector
- data formats.
-
-<P>
-</LI>
-<LI>R - <TT><A NAME="tex2html21"
- HREF="http://www.r-project.org">http://www.r-project.org</A></TT> - is a language and environment
- for statistical computing and graphics.
-
-<P>
-</LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00051000000000000000">
-Installation the quick 'n' dirty way</A>
-</H2>
-For installing pywps to your server simply unzip the archive to the
-directory, where cgi programs are allowed to run. You can also use current
-repository version.
-
-<P>
-<PRE>
-$ cd /usr/lib/cgi-bin/
-$ tar xvzf /tmp/pywps-VERSION.tar.gz
-$ pywps/wps.py
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00052000000000000000">
-Installation the 'clean' way</A>
-</H2>
-Unzip the package
-<PRE>
-$ tar -xzf pywps-VERSION.tar.gz
-</PRE>
-and run
-<PRE>
-$ python setup.py install
-</PRE>
-adjust the configuration file
-<PRE>
-$ vim /etc/pywps.cfg
-</PRE>
-permint write access to templates directory
-<PRE>
-# chmod -R 777 /usr/lib/python2.5/site-packages/pywps/Templates
-</PRE>
-
-<P>
-Several binary packages for Linux distributios (<TT>RPM,DEB</TT>) are also avaliable on PyWPS
-homepage<A NAME="tex2html22"
- HREF="#foot98"><SUP><SPAN CLASS="arabic">9</SPAN></SUP></A>.
-
-<P>
-
-<H1><A NAME="SECTION00060000000000000000"></A>
-<A NAME="configuration"></A>
-<BR>
-Configuration
-</H1>
-
-<P>
-Before you start to tune your PyWPS installation, you should get your copy of
-OpenGIS(R) Web Processing Service document (OGC 05-007r7) version
-1.0.0<A NAME="tex2html24"
- HREF="#foot229"><SUP><SPAN CLASS="arabic">10</SPAN></SUP></A>.
-
-<P>
-
-<P>
-<BR>
-NOTE: Note, that the configuration option are CASE SENSITIVE
-<P>
-<BR>
-
-
-<P>
-Pywps configuration takes place in <TT>pywps.cfg</TT> file located in
-<TT>/etc/pywps.cfg</TT> or <TT>pywps/etc/pywps.cfg</TT>.
-
-<P>
-Default configuration file is located in <TT>pywps/default.cfg</TT>, you
-can always make a copy of this file and start the configuration from
-scratch.
-
-<P>
-Several sections are in the file.
-
-<UL>
-<LI>Section <SPAN CLASS="textbf">[wps]</SPAN> contains general WPS settings, which are:
-
-<UL>
-<LI>encoding - Language encoding (utf-8, iso-8859-2, windows-1250, ...)
-</LI>
-<LI>title - Server title
-</LI>
-<LI>version - WPS version (1.0.0)
-</LI>
-<LI>abstract - Server anstract
-</LI>
-<LI>fees - Possible fees
-</LI>
-<LI>constraints - Possible constraints
-</LI>
-<LI>serveraddress - WPS script address: <TT><A NAME="tex2html26"
- HREF="http://foo/bar/wps.py">http://foo/bar/wps.py</A></TT>
-</LI>
-<LI>keywords - Comma-separated list of kyewords
-</LI>
-<LI>lang - Default langue (eng)
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[provider]</SPAN> contains informations about you
-
-<UL>
-<LI>providerName - Name of your company
-</LI>
-<LI>individualName - Your name
-</LI>
-<LI>positionName
-</LI>
-<LI>role
-</LI>
-<LI>deliveryPoint - Street
-</LI>
-<LI>city
-</LI>
-<LI>postalCode
-</LI>
-<LI>country
-</LI>
-<LI>electronicMailAddress - foo at bar
-</LI>
-<LI>providerSite - <TT><A NAME="tex2html27"
- HREF="http://foo.bar">http://foo.bar</A></TT>
-</LI>
-<LI>phoneVoice
-</LI>
-<LI>phoneFacsimile
-</LI>
-<LI>administrativeArea
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[server]</SPAN> contains server settings
-
-<UL>
-<LI>maxoperations - Maximal number of parallel running
- processes. If set to 0, then there is no limit.
-</LI>
-<LI>maxinputparamlength - Maximal length of string input
- parameter.
-</LI>
-<LI>maxfilesize - Maximal input file size (raster or
- vector). The size can be determined as follows: 1GB, 5MB, 3kB,
- 1000b.
-</LI>
-<LI>tempPath - Direcotory for temporary files (mostly
- temporary GRASS locations).
-</LI>
-<LI>outputUrl - Url where the outputs are stored.
-</LI>
-<LI>outputPath - Path. where output files are stored.
-</LI>
-<LI>debug - true/false
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[grass]</SPAN> - GRASS GIS settings
-
-<UL>
-<LI>path - $PATH variable, e.g. <TT>/usr/lib/grass/bin</TT>
-</LI>
-<LI>addonPath - $GRASS_ADDONS variable
-</LI>
-<LI>version - GRASS version
-</LI>
-<LI>gui - Should be "text"
-</LI>
-<LI>gisbase - Path to GRASS GIS_BASE directory
- (<TT>/usr/lib/grass</TT>)
-</LI>
-<LI>ldLibraryPath - Path of GRASS Libs
- (<TT>/usr/lib/grass/lib</TT>)
-
-</LI>
-</UL>
-</LI>
-</UL>
-
-<P>
-File example follows:
-<PRE>
-[wps]
-encoding=utf-8
-title=PyWPS Server
-version=1.0.0
-abstract=See http://pywps.wald.intevation.org and http://www.opengeospatial.org/standards/wps
-fees=None
-constraints=none
-serveraddress=http://localhost/cgi-bin/wps
-keywords=GRASS,GIS,WPS
-lang=eng
-
-[provider]
-providerName=Your Company Name
-individualName=Your Name
-positionName=Your Position
-role=Your role
-deliveryPoint=Street
-city=City
-postalCode=000 00
-country=eu
-electronicMailAddress=login at server.org
-providerSite=http://foo.bar
-phoneVoice=False
-phoneFacsimile=False
-administrativeArea=False
-
-[server]
-maxoperations=3
-maxinputparamlength=1024
-maxfilesize=3mb
-tempPath=/tmp
-outputUrl=http://localhost/wps/wpsoutputs
-outputPath=/var/www/wps/wpsoutputs
-debug=true
-
-[grass]
-path=/usr/lib/grass/bin/:/usr/lib/grass/scripts/
-addonPath=
-version=6.2.1
-gui=text
-gisbase=/usr/lib/grass/
-ldLibraryPath=/usr/lib/grass/lib
-</PRE>
-
-<P>
-subsectionTesting after installation
-<A NAME="testing"></A>For test, just run
-<TT>wps.py</TT> in your command line:
-
-<P>
-<PRE>
-$ ./wps.py "service=wps&request=getcapabilities"
-
-INIT DONE
-LOADING PRECOMPILED
-TEMPLATE: UPTODATE
-PRECOMPILED: UPTODATE
-Content-type: text/xml
-
-<?xml version="1.0" encoding="utf-8"?>
-<wps:Capabilities service="WPS" version="1.0.0" xml:lang="eng,ger"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:wps="http://www.opengis.net/wps/1.0.0"
- xmlns:ows="http://www.opengis.net/ows/1.1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
- xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
- http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd"
- updateSequence="1">
- <ows:ServiceIdentification>
- <ows:Title>PyWPS Development Server</ows:Title>
- ...
-</wps:Capabilities>
-</PRE>
-
-<P>
-If you got something like this, (Capabilities response), everything looks
-fine.
-
-<P>
-If you got some other message, like e.g.:
-
-<P>
-<PRE>
-Traceback (most recent call last):
- File "/usr/bin/wps.py", line 221, in <module>
- wps = WPS()
- File "/usr/bin/wps.py", line 140, in __init__
- self.performRequest()
- File "/usr/bin/wps.py", line 188, in performRequest
- from pywps.WPS.GetCapabilities import GetCapabilities
- File "/usr/lib/python2.5/site-packages/pywps/WPS/GetCapabilities.py", line 26, in <module>
- from Response import Response
- File "/usr/lib/python2.5/site-packages/pywps/WPS/Response.py", line 28, in <module>
- from htmltmpl import TemplateManager, TemplateProcessor
-ImportError: No module named htmltmpl
-</PRE>
-
-<P>
-Than something is wrong with your Python installation or with the program.
-This message means, that the python-htmltmpl package is not installed in
-your system.
-
-<P>
-
-<H1><A NAME="SECTION00070000000000000000"></A>
-<A NAME="processes"></A>
-<BR>
-Write your own processes
-</H1>
-
-<P>
-All processes are stored in the <TT>pywps/processes</TT> directory. You can
-create custom directory anywhere in your system and set
-<TT>$PYTHON_PROCESS</TT> environment variabl (how to do this for the web
-server, refer to your Server documentation). Following example will
-describe buffering process. Several example processes are distributed along with PyWPS source code.
-
-<P>
-Create file <TT>exampleBufferProcess.py</TT> in PYWPS_PROCESSES directory.
-
-<P>
-Each process is stand-alone python script with one class <TT>Process</TT>,
-which has two methods: <TT>__init__, execute</TT>. It is possible also to add as
-many your functions/methods, as you wish.
-
-<P>
-
-<H2><A NAME="SECTION00071000000000000000">
-Process initialization and configuration</A>
-</H2>
-
-<P>
-<PRE>
- 1 from pywps.Process.Process import WPSProcess
- 2 class Process(WPSProcess):
- 3 """Main process class"""
- 4 def __init__(self):
- 5 """Process initialization"""
- 7 # init process
- 8 WPSProcess.__init__(self,
- 9 identifier = "exampleBufferProcess",
- 10 title="Buffer",
- 11 version = "0.2",
- 12 storeSupported = "true",
- 13 statusSupported = "true",
- 14 abstract="Create a buffer around an input vector file",
- 15 grassLocation = True)
-</PRE>
-
-<P>
-We defined new process called <TT>exampleBufferProcess</TT>. The process is allowed to
-store it's output data on the server (<TT>storeSupported</TT>) and it is also possible to run it in
-asynchronous mode (<TT>statusSupported</TT>). The process will run within
-GRASS GIS environment (<TT>grassLocation = True</TT>).
-
-<P>
-
-<H4><A NAME="SECTION00071010000000000000">
-Metadata defition</A>
-</H4> is stored in array <TT>self.Metadata</TT> in
-<TT>__init__</TT> method. You can add new Medatada using
-<TT>self.AddMetadata()</TT> method:
-<PRE>
- self.AddMetadata(identifier="point",type="point",
- textContent="Click in the map")
-</PRE>
-
-<P>
-
-<H3><A NAME="SECTION00071100000000000000">
-Data Inputs</A>
-</H3>
-
-<P>
-Three types of data inputs are defined:
-
-<UL>
-<LI>Literal Input - Basic literal input - single number or text
- value
-</LI>
-<LI>ComplexValue Input - Mostly vector file embded in input XML
- request or reference (URL) to such file.
-</LI>
-<LI>BoundingBox Input - Coordinates for lower-left and upper-right
- corner.
-</LI>
-</UL>
-
-<P>
-
-<H4><A NAME="SECTION00071110000000000000">
-ComplexInput</A>
-</H4>
-Complex input can be raster or vector file, to be processed.
-
-<P>
-<PRE>
- 18 self.dataIn = self.addComplexInput(identifier="data",
- 19 title = "Input data")
- 20
-</PRE>
-
-<P>
-
-<H4><A NAME="SECTION00071120000000000000">
-LiteralInput</A>
-</H4>
-
-<P>
-With literal input, you can obtain any type of character string.
-
-<P>
-<PRE>
- 21 self.widthIn = self.addLiteralInput(identifier = "width",
- 22 title = "Width")
- 23
-</PRE>
-
-<P>
-For further documentation, refere example processes distributed with the
-source code as well as <TT>pydoc pywps/Wps/Process.py</TT>. This help is
-also available in
-<TT>process.html</TT><A NAME="tex2html28"
- HREF="#foot230"><SUP><SPAN CLASS="arabic">11</SPAN></SUP></A> file distributed along with PyWPS
-source code.
-
-<P>
-
-<H3><A NAME="SECTION00071200000000000000">
-Data Outputs</A>
-</H3>
-Data outputs can be defined in similar way.
-
-<UL>
-<LI>Literal Output
-</LI>
-<LI>ComplexValue Outout
-</LI>
-<LI>BoundingBox Output
-</LI>
-</UL>
-
-<P>
-
-<H4><A NAME="SECTION00071210000000000000">
-ComplexValue Output</A>
-</H4>
-The complex value can be raster or vector file (or any other binary or text
-file).
-
-<P>
-<PRE>
-24 self.bufferOut = self.addComplexOutput(identifier="buffer",
-25 title="Output buffer file")
-26
-</PRE>
-
-<P>
-
-<H4><A NAME="SECTION00071220000000000000">
-Literal Output</A>
-</H4>
-If you want to output any text string.
-<PRE>
-27 self.textOut = self.addLiteralOutput(identifier="text",
-28 title="just some text")
-29
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00072000000000000000">
-Process Programming</A>
-</H2>
-
-<P>
-The process must be defined in the <TT>execute(self)</TT> method.
-Basicly, you want to get input values and set output values. For this
-purpose, you can use <TT>getValue(input_identifier)</TT> and
-<TT>setValue(output_identifier,value)</TT> methods of the input/output
-objects (see lower).
-
-<P>
-If you need to execute some shell command, you should use
-<TT>self.cmd(command,["string for standard input"])</TT> instead of e.g.
-<TT>os.system()</TT> or <TT>os.popen()</TT> functions.
-
-<P>
-Calculation progress can be set using <TT>self.status(string message,
-number percent)</TT> method.
-
-<P>
-Example follows:
-
-<P>
-<PRE>
-33 def execute(self):
-34 """Execute process.
-35
-36 Each command will be executed and output values will be set
-37 """
-38
-39 # run some command from the command line
-40 self.cmd("g.region -d")
-41
-42 # set status value
-43 self.status.set("Importing data",20)
-44 self.cmd("v.in.ogr dsn=%s output=data" %\
-45 (self.getInputValue('data')))
-46
-47 self.status.set("Buffering",50)
-48 self.cmd("v.buffer input=data output=data_buff buffer=%s scale=1.0 tolerance=0.01" %\
-49 (self.getInputValue('width')))
-50
-51 self.status.set("Exporting data",90)
-52
-53 self.cmd("v.out.ogr type=area format=GML input=data_buff dsn=out.xml olayer=path.xml")
-54
-55 self.bufferOut.setValue("out.xml")
-56 self.textOut.setValue("ahoj, svete")
-57 return
-</PRE>
-
-<P>
-
-<H3><A NAME="SECTION00072100000000000000">
-Error handling</A>
-</H3>
-
-<P>
-At the end of the <TT>execute</TT> function, <TT>None</TT> value should be returned. Any other
-value means, that the calculation will be stopped and error report will be
-returned back to the client, example:
-
-<P>
-<PRE>
- def execute(self):
- ...
- return "Ups, something failed!"
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00073000000000000000">
-Using GRASS GIS</A>
-</H2>
-
-<P>
-Configuration is done using standard pywps configuration file (see
-page<A HREF="pywps-howto.html#configuration"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A>).
-
-<P>
-If you want to use GRASS GIS commands in your process, and there is no
-GRASS Location to be used, you have to set <TT>grassLocation=True</TT> in
-process definition:
-
-<P>
-<PRE>
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = True)
-</PRE>
-
-<P>
-In this case, temporary GRASS Location will be created and after the
-process is done, it will be deleted again. By default, no GRASS Location is
-created.
-
-<P>
-You can also work in existing GRASS Location, then just set the location
-path:
-<PRE>
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = "/home/grass/grassdata/spearfish60")
-</PRE>
-
-<P>
-
-<H1><A NAME="SECTION00080000000000000000">
-Testing your new process</A>
-</H1>
-
-<P>
-To test your PyWPS installation, you run it either as Webserver
-cgi-application or in the command line directly. It is always good to start
-with the command line test, so do not have to check <TT>error.log</TT> of
-the web server.
-
-<P>
-
-<UL>
-<LI>GetCapabilities request (webserver)
-<PRE>
-./wps.py "service=wps&request=getcapabilities"
-
-wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- service=Wps&request=getcapabilities"
-</PRE>
-
-<P>
-</LI>
-<LI>DescribeProcess request:
-<PRE>
-./wps.py "version=1.0.0&service=Wps&request=DescribeProcess&\
- Identifier=bufferExampleProcess"
-
-wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- version=0.4.0&service=Wps&request=DescribeProcess&\
- Identifier=exampleBufferProcess"
-</PRE>
-
-<P>
-</LI>
-<LI>Execute request:
- For data inputs encoding, using HTTP Get method, see
- OGC 05-007r7<A NAME="tex2html29"
- HREF="#foot242"><SUP><SPAN CLASS="arabic">12</SPAN></SUP></A>, page 38 „Execute HTTP GET request KVP
- encoding``
-<PRE>
-./wps.py "version=1.0.0&service=Wps&\
- request=Execute&Identifier=exampleBufferProcess&\
- datainputs=data=http://foo/bar/roads.gml;width=0.5"
-</PRE>
-
-<P>
-</LI>
-</UL>
-
-<P>
-Some examples of XML request econding are available in doc/examples
-directory.
-
-<P>
-Before testing WPS via HTTP POST, you have to set <TT>REQUEST_METHOD</TT>
-environment variable, then you can redirect input XML into <TT>wps.py</TT>
-script via standard input:
-
-<P>
-<PRE>
-$ export REQUEST_METHOD=POST
-$ cat doc/wps_execute_request-responsedocument.xml|./wps.py
-</PRE>
-
-<P>
-
-<H1><A NAME="SECTION00090000000000000000">
-About this document ...</A>
-</H1>
- <STRONG>Implementation of OGC WPS standard: PyWPS</STRONG><P>
-This document was generated using the
-<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2002-2-1 (1.71)
-<P>
-Copyright © 1993, 1994, 1995, 1996,
-Nikos Drakos,
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright © 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT>-split 0 pywps-howto.tex</TT>
-<P>
-The translation was initiated by Jachym Cepicky on 2008-08-28
-<BR><HR><H4>Footnotes</H4>
-<DL>
-<DT><A NAME="foot222">... Umwelt</A><A
- HREF="pywps-howto.html#tex2html1"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html2"
- HREF="http://dbu.de">http://dbu.de</A></TT>
-
-</DD>
-<DT><A NAME="foot223">...
-GDF-Hannover</A><A
- HREF="pywps-howto.html#tex2html3"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html4"
- HREF="http://gdf-hannover.de">http://gdf-hannover.de</A></TT>
-
-</DD>
-<DT><A NAME="foot224">...
-Sensing</A><A
- HREF="pywps-howto.html#tex2html5"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html6"
- HREF="http://www.bnhelp.cz">http://www.bnhelp.cz</A></TT>
-
-</DD>
-<DT><A NAME="foot225">...
-Cepicky</A><A
- HREF="pywps-howto.html#tex2html7"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html8"
- HREF="http://les-ejk.cz">http://les-ejk.cz</A></TT>
-
-</DD>
-<DT><A NAME="foot226">...
-Consortium</A><A
- HREF="pywps-howto.html#tex2html9"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html10"
- HREF="http://www.opengeospatial.org/standards/requests/28">http://www.opengeospatial.org/standards/requests/28</A></TT>
-
-</DD>
-<DT><A NAME="foot42">...
-GIS</A><A
- HREF="pywps-howto.html#tex2html11"><SUP><SPAN CLASS="arabic">6</SPAN></SUP></A></DT>
-<DD>http://grass.itc.it
-
-</DD>
-<DT><A NAME="foot227">...
-list</A><A
- HREF="pywps-howto.html#tex2html15"><SUP><SPAN CLASS="arabic">7</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/mailman/listinfo/pywps-develPyWPS
-- development list
-
-</DD>
-<DT><A NAME="foot228">...
-bugtracker</A><A
- HREF="pywps-howto.html#tex2html16"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/tracker/?atid=174&group_id=22&func=browsePyWPS
-Bug tracker
-
-</DD>
-<DT><A NAME="foot98">...
-homepage</A><A
- HREF="pywps-howto.html#tex2html22"><SUP><SPAN CLASS="arabic">9</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html23"
- HREF="http://pywps.wald.intevation.org">http://pywps.wald.intevation.org</A></TT>
-
-</DD>
-<DT><A NAME="foot229">...
-1.0.0</A><A
- HREF="pywps-howto.html#tex2html24"><SUP><SPAN CLASS="arabic">10</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html25"
- HREF="http://www.opengeospatial.org/standards/wps">http://www.opengeospatial.org/standards/wps</A></TT>
-
-</DD>
-<DT><A NAME="foot230">...process.html</A><A
- HREF="pywps-howto.html#tex2html28"><SUP><SPAN CLASS="arabic">11</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/plugins/scmsvn/viewcvs.php/*checkout*/trunk/doc/process.html?rev=369&root=pywpsDocumentation
-to Process.py module
-
-</DD>
-<DT><A NAME="foot242">... 05-007r7</A><A
- HREF="pywps-howto.html#tex2html29"><SUP><SPAN CLASS="arabic">12</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html30"
- HREF="http://opengeospatial.org/standards/wps/">http://opengeospatial.org/standards/wps/</A></TT>
-
-</DD>
-</DL>
-<DIV CLASS="navigation"><HR>
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive"
- SRC="/usr/share/latex2html/icons/nx_grp_g.png">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="/usr/share/latex2html/icons/up_g.png">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="/usr/share/latex2html/icons/prev_g.png">
-<BR></DIV>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Jachym Cepicky
-2008-08-28
-</ADDRESS>
-</BODY>
-</HTML>
Deleted: trunk/doc/html/pywps-howto.css
===================================================================
--- trunk/doc/html/pywps-howto.css 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/html/pywps-howto.css 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,37 +0,0 @@
-/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
-.MATH { font-family: "Century Schoolbook", serif; }
-.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
-.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
-
-/* implement both fixed-size and relative sizes */
-SMALL.XTINY { font-size : xx-small }
-SMALL.TINY { font-size : x-small }
-SMALL.SCRIPTSIZE { font-size : smaller }
-SMALL.FOOTNOTESIZE { font-size : small }
-SMALL.SMALL { }
-BIG.LARGE { }
-BIG.XLARGE { font-size : large }
-BIG.XXLARGE { font-size : x-large }
-BIG.HUGE { font-size : larger }
-BIG.XHUGE { font-size : xx-large }
-
-/* heading styles */
-H1 { }
-H2 { }
-H3 { }
-H4 { }
-H5 { }
-
-/* mathematics styles */
-DIV.displaymath { } /* math displays */
-TD.eqno { } /* equation-number cells */
-
-
-/* document-specific styles come next */
-PRE.preform { }
-DIV.quote { }
-DIV.center { }
-DIV.navigation { }
-SPAN.textbf { font-weight: bold }
-SPAN.arabic { }
-SPAN.textit { font-style: italic }
Deleted: trunk/doc/html/pywps-howto.html
===================================================================
--- trunk/doc/html/pywps-howto.html 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/html/pywps-howto.html 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,1054 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
-original version by: Nikos Drakos, CBLU, University of Leeds
-* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
- Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>Implementation of OGC WPS standard: PyWPS</TITLE>
-<META NAME="description" CONTENT="Implementation of OGC WPS standard: PyWPS">
-<META NAME="keywords" CONTENT="pywps-howto">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-<LINK REL="STYLESHEET" HREF="pywps-howto.css">
-
-</HEAD>
-
-<BODY >
-
-<DIV CLASS="navigation"><!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive"
- SRC="/usr/share/latex2html/icons/nx_grp_g.png">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="/usr/share/latex2html/icons/up_g.png">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="/usr/share/latex2html/icons/prev_g.png">
-<BR>
-<BR>
-<BR></DIV>
-<!--End of Navigation Panel-->
-<H1 ALIGN="CENTER">Implementation of OGC WPS standard: PyWPS</H1>
-<DIV CLASS="author_info">
-
-<P ALIGN="CENTER"><STRONG>Jachym Cepicky</STRONG></P>
-</DIV>
-
-<P>
-
-<P><P>
-<BR>
-<BLOCKQUOTE>
-Copyright ©2006-2009 PyWPS Development Team
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
-</BLOCKQUOTE>
-
-<P><P>
-<BR>
-
-<P>
-In this file, you can found the description of installation and
-configuration of PyWPS script. At the and, you can learn, how to add
-your own process. This document describes most recent
-version of PyWPS (<SPAN CLASS="textit">2.0.0</SPAN>), available in subversion respository.
-
-<P>
-PyWPS project has been started on April 2006 with support of DBU -
-Deutsche Bundesstiftung Umwelt<A NAME="tex2html1"
- HREF="#foot222"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A> and with help of
-GDF-Hannover<A NAME="tex2html3"
- HREF="#foot223"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A> and Help Service Remote
-Sensing<A NAME="tex2html5"
- HREF="#foot224"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A> companies. Initial author is Jachym
-Cepicky<A NAME="tex2html7"
- HREF="#foot225"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A>.
-
-<P>
-<BR>
-
-<H2><A NAME="SECTION00010000000000000000">
-Contents</A>
-</H2>
-<!--Table of Contents-->
-
-<UL CLASS="TofC">
-<LI><A NAME="tex2html54"
- HREF="pywps-howto.html#SECTION00020000000000000000">Introduction</A>
-<UL>
-<LI><A NAME="tex2html55"
- HREF="pywps-howto.html#SECTION00021000000000000000">How it works</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html56"
- HREF="pywps-howto.html#SECTION00030000000000000000">Quick install</A>
-<LI><A NAME="tex2html57"
- HREF="pywps-howto.html#SECTION00040000000000000000">Know issues</A>
-<LI><A NAME="tex2html58"
- HREF="pywps-howto.html#SECTION00050000000000000000">Installation</A>
-<UL>
-<LI><A NAME="tex2html59"
- HREF="pywps-howto.html#SECTION00051000000000000000">Installation the quick 'n' dirty way</A>
-<LI><A NAME="tex2html60"
- HREF="pywps-howto.html#SECTION00052000000000000000">Installation the 'clean' way</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html61"
- HREF="pywps-howto.html#SECTION00060000000000000000">Configuration</A>
-<LI><A NAME="tex2html62"
- HREF="pywps-howto.html#SECTION00070000000000000000">Write your own processes</A>
-<UL>
-<LI><A NAME="tex2html63"
- HREF="pywps-howto.html#SECTION00071000000000000000">Process initialization and configuration</A>
-<LI><A NAME="tex2html64"
- HREF="pywps-howto.html#SECTION00072000000000000000">Process Programming</A>
-<LI><A NAME="tex2html65"
- HREF="pywps-howto.html#SECTION00073000000000000000">Using GRASS GIS</A>
-</UL>
-<BR>
-<LI><A NAME="tex2html66"
- HREF="pywps-howto.html#SECTION00080000000000000000">Testing your new process</A>
-</UL>
-<!--End of Table of Contents-->
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00020000000000000000">
-Introduction</A>
-</H1>
-PyWPS (Python Web Processing Service) is implementation of Web
-Processing Service 1.0.x standard from Open Geospatial
-Consortium<A NAME="tex2html9"
- HREF="#foot226"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A>.
-
-<P>
-It has been started on Mai 2006 as project supported by DBU. It offers
-environment for programming own process (geofunctions or models) which can
-be accessed from the public. The main advantage of PyWPS is, that it has
-been written with native support for GRASS
-GIS<A NAME="tex2html11"
- HREF="#foot42"><SUP><SPAN CLASS="arabic">6</SPAN></SUP></A>. Access GRASS modules via web
-interace should be as easy as possible.
-However, not only GRASS GIS is supported. Usage of other programs, like
-R package or GDAL or PROJ tools is possible as well.
-
-<P>
-PyWPS is written in Python programming language, your processes must use
-this language too.
-
-<P>
-PyWPS Homepage can be found at <TT><A NAME="tex2html12"
- HREF="http://pywps.wald.intevation.org">http://pywps.wald.intevation.org</A></TT>.
-PyWPS Wiki is hosted on <TT><A NAME="tex2html13"
- HREF="http://pywps.ominiverdi.org/wiki">http://pywps.ominiverdi.org/wiki</A></TT>.
-
-<P>
-
-<H2><A NAME="SECTION00021000000000000000">
-How it works</A>
-</H2>
-PyWPS is an translator application between client (Web Browser, Desktop
-GIS, command line tool, ...) and working tool installed on the server.
-PyWPS does no process the data by it self. As working tool, GRASS GIS, GDAL, PROJ, R
-and other programs can be used.
-
-<P>
-
-<DIV ALIGN="CENTER"><A NAME="pic:pywps"></A><A NAME="47"></A>
-<TABLE>
-<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
-How does PyWPS work: GRASS GIS is in this case working tool</CAPTION>
-<TR><TD>
-<DIV ALIGN="CENTER">
-<IMG
- WIDTH="832" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
- SRC="./pywps-schema.png"
- ALT="Image pywps-schema">
-
-</DIV></TD></TR>
-</TABLE>
-</DIV>
-
-<P>
-
-<H1><A NAME="SECTION00030000000000000000">
-Quick install</A>
-</H1>
-
-<OL>
-<LI>Install PyWPS, see page <A HREF="pywps-howto.html#install"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details
-</LI>
-<LI>NOTE: Rename original files (process examples, configuration files)
- with <TT>.py-dist</TT> suffix to <TT>.py</TT>, when you see them.
-</LI>
-<LI>Edit configuration files in <TT>pywps/etc/</TT> directory. See
- page <A HREF="pywps-howto.html#configuration"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-<LI>Create or edit <TT>__init__.py</TT> file in
- <TT>pywps/processes</TT> directory. Add available process names to
- <TT>__all__</TT> array.
-</LI>
-<LI>Add your processes to <TT>pywps/processes</TT> directory. See
- page <A HREF="pywps-howto.html#processes"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-<LI>Run PyWPS with <TT>./wps.py</TT> command, see
- page <A HREF="pywps-howto.html#testing"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A> for details.
-</LI>
-</OL>
-
-<P>
-
-<H1><A NAME="SECTION00040000000000000000">
-Know issues</A>
-</H1>
-Known bugs and limitations to UL>
-<LI>Translations do not work for GetCapabilities. They only work for DescribeProcess request types.
-</LI>
-<LI>If inputs are of type <TT>LiteralValue</TT> and it's type is
-string, it could be security problem. Take care on your inputs and do
-not use it directly in scripts to avoid your server to be hacked.
-</LI>
-</UL>
-
-<P>
-Please report all problems or unexpected handeling either via pywps mailing
-list<A NAME="tex2html15"
- HREF="#foot227"><SUP><SPAN CLASS="arabic">7</SPAN></SUP></A>or using PyWPS
-bugtracker<A NAME="tex2html16"
- HREF="#foot228"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A>.
-
-<P>
-
-<H1><A NAME="SECTION00050000000000000000"></A>
-<A NAME="install"></A>
-<BR>
-Installation
-</H1>
-Required packages:
-
-<P>
-
-<UL>
-<LI>python
-</LI>
-<LI>python-xml
-</LI>
-<LI>python-htmltmpl
-</LI>
-</UL>
-
-<P>
-Recommended packages:
-
-<P>
-
-<UL>
-<LI>Web Server (e.g. Apache) - <TT><A NAME="tex2html17"
- HREF="http://httpd.apache.org">http://httpd.apache.org</A></TT> - You
- will need an web server, to be able to execute processes from remote
- computers.
-
-<P>
-</LI>
-<LI>GIS GRASS - <TT><A NAME="tex2html18"
- HREF="http://grass.itc.it">http://grass.itc.it</A></TT> - Geographical Resources
- Analysis Support System (GRASS) is Open Source GIS, which provides more
- then 350 modules for raster and vector (2D, 3D) data analysis. PyWPS is
- written with native support for GRASS and it's functions.
-
-<P>
-</LI>
-<LI>PROJ.4 - <TT><A NAME="tex2html19"
- HREF="http://proj.maptools.org">http://proj.maptools.org</A></TT> - Cartographic
- Projections library used in various Open Source projects, such as
- GRASS, UMN MapServer, QGIS and others. It can be used e.g. for data
- transformation.
-
-<P>
-</LI>
-<LI>GDAL/OGR - <TT><A NAME="tex2html20"
- HREF="http://gdal.org">http://gdal.org</A></TT> - translator library for
- raster geospatial data formats, is used in various projects for
- importing, exporting and transformation between various raster and vector
- data formats.
-
-<P>
-</LI>
-<LI>R - <TT><A NAME="tex2html21"
- HREF="http://www.r-project.org">http://www.r-project.org</A></TT> - is a language and environment
- for statistical computing and graphics.
-
-<P>
-</LI>
-</UL>
-
-<P>
-
-<H2><A NAME="SECTION00051000000000000000">
-Installation the quick 'n' dirty way</A>
-</H2>
-For installing pywps to your server simply unzip the archive to the
-directory, where cgi programs are allowed to run. You can also use current
-repository version.
-
-<P>
-<PRE>
-$ cd /usr/lib/cgi-bin/
-$ tar xvzf /tmp/pywps-VERSION.tar.gz
-$ pywps/wps.py
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00052000000000000000">
-Installation the 'clean' way</A>
-</H2>
-Unzip the package
-<PRE>
-$ tar -xzf pywps-VERSION.tar.gz
-</PRE>
-and run
-<PRE>
-$ python setup.py install
-</PRE>
-adjust the configuration file
-<PRE>
-$ vim /etc/pywps.cfg
-</PRE>
-permint write access to templates directory
-<PRE>
-# chmod -R 777 /usr/lib/python2.5/site-packages/pywps/Templates
-</PRE>
-
-<P>
-Several binary packages for Linux distributios (<TT>RPM,DEB</TT>) are also avaliable on PyWPS
-homepage<A NAME="tex2html22"
- HREF="#foot98"><SUP><SPAN CLASS="arabic">9</SPAN></SUP></A>.
-
-<P>
-
-<H1><A NAME="SECTION00060000000000000000"></A>
-<A NAME="configuration"></A>
-<BR>
-Configuration
-</H1>
-
-<P>
-Before you start to tune your PyWPS installation, you should get your copy of
-OpenGIS(R) Web Processing Service document (OGC 05-007r7) version
-1.0.0<A NAME="tex2html24"
- HREF="#foot229"><SUP><SPAN CLASS="arabic">10</SPAN></SUP></A>.
-
-<P>
-
-<P>
-<BR>
-NOTE: Note, that the configuration option are CASE SENSITIVE
-<P>
-<BR>
-
-
-<P>
-Pywps configuration takes place in <TT>pywps.cfg</TT> file located in
-<TT>/etc/pywps.cfg</TT> or <TT>pywps/etc/pywps.cfg</TT>.
-
-<P>
-Default configuration file is located in <TT>pywps/default.cfg</TT>, you
-can always make a copy of this file and start the configuration from
-scratch.
-
-<P>
-Several sections are in the file.
-
-<UL>
-<LI>Section <SPAN CLASS="textbf">[wps]</SPAN> contains general WPS settings, which are:
-
-<UL>
-<LI>encoding - Language encoding (utf-8, iso-8859-2, windows-1250, ...)
-</LI>
-<LI>title - Server title
-</LI>
-<LI>version - WPS version (1.0.0)
-</LI>
-<LI>abstract - Server anstract
-</LI>
-<LI>fees - Possible fees
-</LI>
-<LI>constraints - Possible constraints
-</LI>
-<LI>serveraddress - WPS script address: <TT><A NAME="tex2html26"
- HREF="http://foo/bar/wps.py">http://foo/bar/wps.py</A></TT>
-</LI>
-<LI>keywords - Comma-separated list of kyewords
-</LI>
-<LI>lang - Default langue (eng)
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[provider]</SPAN> contains informations about you
-
-<UL>
-<LI>providerName - Name of your company
-</LI>
-<LI>individualName - Your name
-</LI>
-<LI>positionName
-</LI>
-<LI>role
-</LI>
-<LI>deliveryPoint - Street
-</LI>
-<LI>city
-</LI>
-<LI>postalCode
-</LI>
-<LI>country
-</LI>
-<LI>electronicMailAddress - foo at bar
-</LI>
-<LI>providerSite - <TT><A NAME="tex2html27"
- HREF="http://foo.bar">http://foo.bar</A></TT>
-</LI>
-<LI>phoneVoice
-</LI>
-<LI>phoneFacsimile
-</LI>
-<LI>administrativeArea
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[server]</SPAN> contains server settings
-
-<UL>
-<LI>maxoperations - Maximal number of parallel running
- processes. If set to 0, then there is no limit.
-</LI>
-<LI>maxinputparamlength - Maximal length of string input
- parameter.
-</LI>
-<LI>maxfilesize - Maximal input file size (raster or
- vector). The size can be determined as follows: 1GB, 5MB, 3kB,
- 1000b.
-</LI>
-<LI>tempPath - Direcotory for temporary files (mostly
- temporary GRASS locations).
-</LI>
-<LI>outputUrl - Url where the outputs are stored.
-</LI>
-<LI>outputPath - Path. where output files are stored.
-</LI>
-<LI>debug - true/false
-
-</LI>
-</UL>
-</LI>
-<LI>Section <SPAN CLASS="textbf">[grass]</SPAN> - GRASS GIS settings
-
-<UL>
-<LI>path - $PATH variable, e.g. <TT>/usr/lib/grass/bin</TT>
-</LI>
-<LI>addonPath - $GRASS_ADDONS variable
-</LI>
-<LI>version - GRASS version
-</LI>
-<LI>gui - Should be "text"
-</LI>
-<LI>gisbase - Path to GRASS GIS_BASE directory
- (<TT>/usr/lib/grass</TT>)
-</LI>
-<LI>ldLibraryPath - Path of GRASS Libs
- (<TT>/usr/lib/grass/lib</TT>)
-
-</LI>
-</UL>
-</LI>
-</UL>
-
-<P>
-File example follows:
-<PRE>
-[wps]
-encoding=utf-8
-title=PyWPS Server
-version=1.0.0
-abstract=See http://pywps.wald.intevation.org and http://www.opengeospatial.org/standards/wps
-fees=None
-constraints=none
-serveraddress=http://localhost/cgi-bin/wps
-keywords=GRASS,GIS,WPS
-lang=eng
-
-[provider]
-providerName=Your Company Name
-individualName=Your Name
-positionName=Your Position
-role=Your role
-deliveryPoint=Street
-city=City
-postalCode=000 00
-country=eu
-electronicMailAddress=login at server.org
-providerSite=http://foo.bar
-phoneVoice=False
-phoneFacsimile=False
-administrativeArea=False
-
-[server]
-maxoperations=3
-maxinputparamlength=1024
-maxfilesize=3mb
-tempPath=/tmp
-outputUrl=http://localhost/wps/wpsoutputs
-outputPath=/var/www/wps/wpsoutputs
-debug=true
-
-[grass]
-path=/usr/lib/grass/bin/:/usr/lib/grass/scripts/
-addonPath=
-version=6.2.1
-gui=text
-gisbase=/usr/lib/grass/
-ldLibraryPath=/usr/lib/grass/lib
-</PRE>
-
-<P>
-subsectionTesting after installation
-<A NAME="testing"></A>For test, just run
-<TT>wps.py</TT> in your command line:
-
-<P>
-<PRE>
-$ ./wps.py "service=wps&request=getcapabilities"
-
-INIT DONE
-LOADING PRECOMPILED
-TEMPLATE: UPTODATE
-PRECOMPILED: UPTODATE
-Content-type: text/xml
-
-<?xml version="1.0" encoding="utf-8"?>
-<wps:Capabilities service="WPS" version="1.0.0" xml:lang="eng,ger"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:wps="http://www.opengis.net/wps/1.0.0"
- xmlns:ows="http://www.opengis.net/ows/1.1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
- xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
- http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd"
- updateSequence="1">
- <ows:ServiceIdentification>
- <ows:Title>PyWPS Development Server</ows:Title>
- ...
-</wps:Capabilities>
-</PRE>
-
-<P>
-If you got something like this, (Capabilities response), everything looks
-fine.
-
-<P>
-If you got some other message, like e.g.:
-
-<P>
-<PRE>
-Traceback (most recent call last):
- File "/usr/bin/wps.py", line 221, in <module>
- wps = WPS()
- File "/usr/bin/wps.py", line 140, in __init__
- self.performRequest()
- File "/usr/bin/wps.py", line 188, in performRequest
- from pywps.WPS.GetCapabilities import GetCapabilities
- File "/usr/lib/python2.5/site-packages/pywps/WPS/GetCapabilities.py", line 26, in <module>
- from Response import Response
- File "/usr/lib/python2.5/site-packages/pywps/WPS/Response.py", line 28, in <module>
- from htmltmpl import TemplateManager, TemplateProcessor
-ImportError: No module named htmltmpl
-</PRE>
-
-<P>
-Than something is wrong with your Python installation or with the program.
-This message means, that the python-htmltmpl package is not installed in
-your system.
-
-<P>
-
-<H1><A NAME="SECTION00070000000000000000"></A>
-<A NAME="processes"></A>
-<BR>
-Write your own processes
-</H1>
-
-<P>
-All processes are stored in the <TT>pywps/processes</TT> directory. You can
-create custom directory anywhere in your system and set
-<TT>$PYTHON_PROCESS</TT> environment variabl (how to do this for the web
-server, refer to your Server documentation). Following example will
-describe buffering process. Several example processes are distributed along with PyWPS source code.
-
-<P>
-Create file <TT>exampleBufferProcess.py</TT> in PYWPS_PROCESSES directory.
-
-<P>
-Each process is stand-alone python script with one class <TT>Process</TT>,
-which has two methods: <TT>__init__, execute</TT>. It is possible also to add as
-many your functions/methods, as you wish.
-
-<P>
-
-<H2><A NAME="SECTION00071000000000000000">
-Process initialization and configuration</A>
-</H2>
-
-<P>
-<PRE>
- 1 from pywps.Process.Process import WPSProcess
- 2 class Process(WPSProcess):
- 3 """Main process class"""
- 4 def __init__(self):
- 5 """Process initialization"""
- 7 # init process
- 8 WPSProcess.__init__(self,
- 9 identifier = "exampleBufferProcess",
- 10 title="Buffer",
- 11 version = "0.2",
- 12 storeSupported = "true",
- 13 statusSupported = "true",
- 14 abstract="Create a buffer around an input vector file",
- 15 grassLocation = True)
-</PRE>
-
-<P>
-We defined new process called <TT>exampleBufferProcess</TT>. The process is allowed to
-store it's output data on the server (<TT>storeSupported</TT>) and it is also possible to run it in
-asynchronous mode (<TT>statusSupported</TT>). The process will run within
-GRASS GIS environment (<TT>grassLocation = True</TT>).
-
-<P>
-
-<H4><A NAME="SECTION00071010000000000000">
-Metadata defition</A>
-</H4> is stored in array <TT>self.Metadata</TT> in
-<TT>__init__</TT> method. You can add new Medatada using
-<TT>self.AddMetadata()</TT> method:
-<PRE>
- self.AddMetadata(identifier="point",type="point",
- textContent="Click in the map")
-</PRE>
-
-<P>
-
-<H3><A NAME="SECTION00071100000000000000">
-Data Inputs</A>
-</H3>
-
-<P>
-Three types of data inputs are defined:
-
-<UL>
-<LI>Literal Input - Basic literal input - single number or text
- value
-</LI>
-<LI>ComplexValue Input - Mostly vector file embded in input XML
- request or reference (URL) to such file.
-</LI>
-<LI>BoundingBox Input - Coordinates for lower-left and upper-right
- corner.
-</LI>
-</UL>
-
-<P>
-
-<H4><A NAME="SECTION00071110000000000000">
-ComplexInput</A>
-</H4>
-Complex input can be raster or vector file, to be processed.
-
-<P>
-<PRE>
- 18 self.dataIn = self.addComplexInput(identifier="data",
- 19 title = "Input data")
- 20
-</PRE>
-
-<P>
-
-<H4><A NAME="SECTION00071120000000000000">
-LiteralInput</A>
-</H4>
-
-<P>
-With literal input, you can obtain any type of character string.
-
-<P>
-<PRE>
- 21 self.widthIn = self.addLiteralInput(identifier = "width",
- 22 title = "Width")
- 23
-</PRE>
-
-<P>
-For further documentation, refere example processes distributed with the
-source code as well as <TT>pydoc pywps/Wps/Process.py</TT>. This help is
-also available in
-<TT>process.html</TT><A NAME="tex2html28"
- HREF="#foot230"><SUP><SPAN CLASS="arabic">11</SPAN></SUP></A> file distributed along with PyWPS
-source code.
-
-<P>
-
-<H3><A NAME="SECTION00071200000000000000">
-Data Outputs</A>
-</H3>
-Data outputs can be defined in similar way.
-
-<UL>
-<LI>Literal Output
-</LI>
-<LI>ComplexValue Outout
-</LI>
-<LI>BoundingBox Output
-</LI>
-</UL>
-
-<P>
-
-<H4><A NAME="SECTION00071210000000000000">
-ComplexValue Output</A>
-</H4>
-The complex value can be raster or vector file (or any other binary or text
-file).
-
-<P>
-<PRE>
-24 self.bufferOut = self.addComplexOutput(identifier="buffer",
-25 title="Output buffer file")
-26
-</PRE>
-
-<P>
-
-<H4><A NAME="SECTION00071220000000000000">
-Literal Output</A>
-</H4>
-If you want to output any text string.
-<PRE>
-27 self.textOut = self.addLiteralOutput(identifier="text",
-28 title="just some text")
-29
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00072000000000000000">
-Process Programming</A>
-</H2>
-
-<P>
-The process must be defined in the <TT>execute(self)</TT> method.
-Basicly, you want to get input values and set output values. For this
-purpose, you can use <TT>getValue(input_identifier)</TT> and
-<TT>setValue(output_identifier,value)</TT> methods of the input/output
-objects (see lower).
-
-<P>
-If you need to execute some shell command, you should use
-<TT>self.cmd(command,["string for standard input"])</TT> instead of e.g.
-<TT>os.system()</TT> or <TT>os.popen()</TT> functions.
-
-<P>
-Calculation progress can be set using <TT>self.status(string message,
-number percent)</TT> method.
-
-<P>
-Example follows:
-
-<P>
-<PRE>
-33 def execute(self):
-34 """Execute process.
-35
-36 Each command will be executed and output values will be set
-37 """
-38
-39 # run some command from the command line
-40 self.cmd("g.region -d")
-41
-42 # set status value
-43 self.status.set("Importing data",20)
-44 self.cmd("v.in.ogr dsn=%s output=data" %\
-45 (self.getInputValue('data')))
-46
-47 self.status.set("Buffering",50)
-48 self.cmd("v.buffer input=data output=data_buff buffer=%s scale=1.0 tolerance=0.01" %\
-49 (self.getInputValue('width')))
-50
-51 self.status.set("Exporting data",90)
-52
-53 self.cmd("v.out.ogr type=area format=GML input=data_buff dsn=out.xml olayer=path.xml")
-54
-55 self.bufferOut.setValue("out.xml")
-56 self.textOut.setValue("ahoj, svete")
-57 return
-</PRE>
-
-<P>
-
-<H3><A NAME="SECTION00072100000000000000">
-Error handling</A>
-</H3>
-
-<P>
-At the end of the <TT>execute</TT> function, <TT>None</TT> value should be returned. Any other
-value means, that the calculation will be stopped and error report will be
-returned back to the client, example:
-
-<P>
-<PRE>
- def execute(self):
- ...
- return "Ups, something failed!"
-</PRE>
-
-<P>
-
-<H2><A NAME="SECTION00073000000000000000">
-Using GRASS GIS</A>
-</H2>
-
-<P>
-Configuration is done using standard pywps configuration file (see
-page<A HREF="pywps-howto.html#configuration"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
- SRC="/usr/share/latex2html/icons/crossref.png"></A>).
-
-<P>
-If you want to use GRASS GIS commands in your process, and there is no
-GRASS Location to be used, you have to set <TT>grassLocation=True</TT> in
-process definition:
-
-<P>
-<PRE>
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = True)
-</PRE>
-
-<P>
-In this case, temporary GRASS Location will be created and after the
-process is done, it will be deleted again. By default, no GRASS Location is
-created.
-
-<P>
-You can also work in existing GRASS Location, then just set the location
-path:
-<PRE>
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = "/home/grass/grassdata/spearfish60")
-</PRE>
-
-<P>
-
-<H1><A NAME="SECTION00080000000000000000">
-Testing your new process</A>
-</H1>
-
-<P>
-To test your PyWPS installation, you run it either as Webserver
-cgi-application or in the command line directly. It is always good to start
-with the command line test, so do not have to check <TT>error.log</TT> of
-the web server.
-
-<P>
-
-<UL>
-<LI>GetCapabilities request (webserver)
-<PRE>
-./wps.py "service=wps&request=getcapabilities"
-
-wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- service=Wps&request=getcapabilities"
-</PRE>
-
-<P>
-</LI>
-<LI>DescribeProcess request:
-<PRE>
-./wps.py "version=1.0.0&service=Wps&request=DescribeProcess&\
- Identifier=bufferExampleProcess"
-
-wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- version=0.4.0&service=Wps&request=DescribeProcess&\
- Identifier=exampleBufferProcess"
-</PRE>
-
-<P>
-</LI>
-<LI>Execute request:
- For data inputs encoding, using HTTP Get method, see
- OGC 05-007r7<A NAME="tex2html29"
- HREF="#foot242"><SUP><SPAN CLASS="arabic">12</SPAN></SUP></A>, page 38 „Execute HTTP GET request KVP
- encoding``
-<PRE>
-./wps.py "version=1.0.0&service=Wps&\
- request=Execute&Identifier=exampleBufferProcess&\
- datainputs=data=http://foo/bar/roads.gml;width=0.5"
-</PRE>
-
-<P>
-</LI>
-</UL>
-
-<P>
-Some examples of XML request econding are available in doc/examples
-directory.
-
-<P>
-Before testing WPS via HTTP POST, you have to set <TT>REQUEST_METHOD</TT>
-environment variable, then you can redirect input XML into <TT>wps.py</TT>
-script via standard input:
-
-<P>
-<PRE>
-$ export REQUEST_METHOD=POST
-$ cat doc/wps_execute_request-responsedocument.xml|./wps.py
-</PRE>
-
-<P>
-
-<H1><A NAME="SECTION00090000000000000000">
-About this document ...</A>
-</H1>
- <STRONG>Implementation of OGC WPS standard: PyWPS</STRONG><P>
-This document was generated using the
-<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2002-2-1 (1.71)
-<P>
-Copyright © 1993, 1994, 1995, 1996,
-Nikos Drakos,
-Computer Based Learning Unit, University of Leeds.
-<BR>
-Copyright © 1997, 1998, 1999,
-<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
-Mathematics Department, Macquarie University, Sydney.
-<P>
-The command line arguments were: <BR>
- <STRONG>latex2html</STRONG> <TT>-split 0 pywps-howto.tex</TT>
-<P>
-The translation was initiated by Jachym Cepicky on 2008-08-28
-<BR><HR><H4>Footnotes</H4>
-<DL>
-<DT><A NAME="foot222">... Umwelt</A><A
- HREF="pywps-howto.html#tex2html1"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html2"
- HREF="http://dbu.de">http://dbu.de</A></TT>
-
-</DD>
-<DT><A NAME="foot223">...
-GDF-Hannover</A><A
- HREF="pywps-howto.html#tex2html3"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html4"
- HREF="http://gdf-hannover.de">http://gdf-hannover.de</A></TT>
-
-</DD>
-<DT><A NAME="foot224">...
-Sensing</A><A
- HREF="pywps-howto.html#tex2html5"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html6"
- HREF="http://www.bnhelp.cz">http://www.bnhelp.cz</A></TT>
-
-</DD>
-<DT><A NAME="foot225">...
-Cepicky</A><A
- HREF="pywps-howto.html#tex2html7"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html8"
- HREF="http://les-ejk.cz">http://les-ejk.cz</A></TT>
-
-</DD>
-<DT><A NAME="foot226">...
-Consortium</A><A
- HREF="pywps-howto.html#tex2html9"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html10"
- HREF="http://www.opengeospatial.org/standards/requests/28">http://www.opengeospatial.org/standards/requests/28</A></TT>
-
-</DD>
-<DT><A NAME="foot42">...
-GIS</A><A
- HREF="pywps-howto.html#tex2html11"><SUP><SPAN CLASS="arabic">6</SPAN></SUP></A></DT>
-<DD>http://grass.itc.it
-
-</DD>
-<DT><A NAME="foot227">...
-list</A><A
- HREF="pywps-howto.html#tex2html15"><SUP><SPAN CLASS="arabic">7</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/mailman/listinfo/pywps-develPyWPS
-- development list
-
-</DD>
-<DT><A NAME="foot228">...
-bugtracker</A><A
- HREF="pywps-howto.html#tex2html16"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/tracker/?atid=174&group_id=22&func=browsePyWPS
-Bug tracker
-
-</DD>
-<DT><A NAME="foot98">...
-homepage</A><A
- HREF="pywps-howto.html#tex2html22"><SUP><SPAN CLASS="arabic">9</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html23"
- HREF="http://pywps.wald.intevation.org">http://pywps.wald.intevation.org</A></TT>
-
-</DD>
-<DT><A NAME="foot229">...
-1.0.0</A><A
- HREF="pywps-howto.html#tex2html24"><SUP><SPAN CLASS="arabic">10</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html25"
- HREF="http://www.opengeospatial.org/standards/wps">http://www.opengeospatial.org/standards/wps</A></TT>
-
-</DD>
-<DT><A NAME="foot230">...process.html</A><A
- HREF="pywps-howto.html#tex2html28"><SUP><SPAN CLASS="arabic">11</SPAN></SUP></A></DT>
-<DD>http://wald.intevation.org/plugins/scmsvn/viewcvs.php/*checkout*/trunk/doc/process.html?rev=369&root=pywpsDocumentation
-to Process.py module
-
-</DD>
-<DT><A NAME="foot242">... 05-007r7</A><A
- HREF="pywps-howto.html#tex2html29"><SUP><SPAN CLASS="arabic">12</SPAN></SUP></A></DT>
-<DD><TT><A NAME="tex2html30"
- HREF="http://opengeospatial.org/standards/wps/">http://opengeospatial.org/standards/wps/</A></TT>
-
-</DD>
-</DL>
-<DIV CLASS="navigation"><HR>
-<!--Navigation Panel-->
-<IMG WIDTH="81" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next_inactive"
- SRC="/usr/share/latex2html/icons/nx_grp_g.png">
-<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
- SRC="/usr/share/latex2html/icons/up_g.png">
-<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
- SRC="/usr/share/latex2html/icons/prev_g.png">
-<BR></DIV>
-<!--End of Navigation Panel-->
-<ADDRESS>
-Jachym Cepicky
-2008-08-28
-</ADDRESS>
-</BODY>
-</HTML>
Deleted: trunk/doc/html/pywps-schema.png
===================================================================
(Binary files differ)
Deleted: trunk/doc/ows.otl
===================================================================
--- trunk/doc/ows.otl 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/ows.otl 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,48 +0,0 @@
-GetCapabilities
- Pøíjem
- Povinné parametry:
- * service=WPS
- * request=GetCapabilities
-
- Odpovìï
- Vyjímky
- MissingParameterValue
- InvalidParameterValue
- VersionNegotiationFailed
- InvalidUpdateSequence
- NoApplicableCode
- Ka¾dý dokument by mìl obsahovat mimo jiné parametr
- version
- Sekce - mìly by být u v¹ech dokumentù OWS
- ServiceIdentification - Metadata o serveru. Povinné údaje:
- ServiceType
- ServiceTypeVersion
- Title
- ServiceProvider - Metadata o poskytovateli slu¾by. Povinné údaje:
- ProviderName
- ServiceContact
- OperationsMetadata - Metadata o operacích poskytovaných serverm
- Operation - jedna pro ka¾dou operaci
- name
- DCP - Informace pro Distributed Computing Platform
- HTTP - HTTP URL pro distribuovanou platformu
- Get
- Post
- Content - Metadata o datech - pro ka¾dý OWS zvlá¹»ní formulace ve specifikacích
- - obsah
- Vyjímky
- Povinné argumenty:
- ExceptionText (opt)
- exceptionCode (man)
- locator (opt)
- version (man)
-
-
-Operace
- Pøíjem
- service
- request
- version
-
-HTTP GET
- * Na velikosti nezále¾í: request == ReQUEsT
Deleted: trunk/doc/pywps-howto.txt
===================================================================
--- trunk/doc/pywps-howto.txt 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/pywps-howto.txt 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,588 +0,0 @@
- next_inactive up previous
-
- Implementation of OGC WPS standard: PyWPS
-
- Jachym Cepicky
-
- Copyright (c)2006-2009 PyWPS Development Team Permission is granted to
- copy, distribute and/or modify this document under the terms of the GNU
- Free Documentation License, Version 1.2 or any later version published
- by the Free Software Foundation; with no Invariant Sections, no
- Front-Cover Texts, and no Back-Cover Texts. A copy of the license is
- included in the section entitled "GNU Free Documentation License".
-
- In this file, you can found the description of installation and
- configuration of PyWPS script. At the and, you can learn, how to add your
- own process. This document describes most recent version of PyWPS (2.0.0),
- available in subversion respository.
-
- PyWPS project has been started on April 2006 with support of DBU -
- Deutsche Bundesstiftung Umwelt1 and with help of GDF-Hannover2 and Help
- Service Remote Sensing3 companies. Initial author is Jachym Cepicky4.
-
-Contents
-
- * Introduction
- * How it works
- * Quick install
- * Know issues
- * Installation
- * Installation the quick 'n' dirty way
- * Installation the 'clean' way
- * Configuration
- * Write your own processes
- * Process initialization and configuration
- * Process Programming
- * Using GRASS GIS
- * Testing your new process
-
- Introduction
-
- PyWPS (Python Web Processing Service) is implementation of Web Processing
- Service 1.0.x standard from Open Geospatial Consortium5.
-
- It has been started on Mai 2006 as project supported by DBU. It offers
- environment for programming own process (geofunctions or models) which can
- be accessed from the public. The main advantage of PyWPS is, that it has
- been written with native support for GRASS GIS6. Access GRASS modules via
- web interace should be as easy as possible. However, not only GRASS GIS is
- supported. Usage of other programs, like R package or GDAL or PROJ tools
- is possible as well.
-
- PyWPS is written in Python programming language, your processes must use
- this language too.
-
- PyWPS Homepage can be found at http://pywps.wald.intevation.org. PyWPS
- Wiki is hosted on http://pywps.ominiverdi.org/wiki.
-
-How it works
-
- PyWPS is an translator application between client (Web Browser, Desktop
- GIS, command line tool, ...) and working tool installed on the server.
- PyWPS does no process the data by it self. As working tool, GRASS GIS,
- GDAL, PROJ, R and other programs can be used.
-
- Figure 1: How does PyWPS work: GRASS GIS is in this case working tool
- Image pywps-schema
-
- Quick install
-
- 1. Install PyWPS, see page [*] for details
- 2. NOTE: Rename original files (process examples, configuration files)
- with .py-dist suffix to .py, when you see them.
- 3. Edit configuration files in pywps/etc/ directory. See page [*] for
- details.
- 4. Create or edit __init__.py file in pywps/processes directory. Add
- available process names to __all__ array.
- 5. Add your processes to pywps/processes directory. See page [*] for
- details.
- 6. Run PyWPS with ./wps.py command, see page [*] for details.
-
- Know issues
-
- Known bugs and limitations to UL>
- * Translations do not work for GetCapabilities. They only work for
- DescribeProcess request types.
- * If inputs are of type LiteralValue and it's type is string, it could be
- security problem. Take care on your inputs and do not use it directly in
- scripts to avoid your server to be hacked.
-
- Please report all problems or unexpected handeling either via pywps
- mailing list7or using PyWPS bugtracker8.
-
- Installation
-
- Required packages:
-
- * python
- * python-xml
- * python-htmltmpl
-
- Recommended packages:
-
- * Web Server (e.g. Apache) - http://httpd.apache.org - You will need
- an web server, to be able to execute processes from remote
- computers.
-
- * GIS GRASS - http://grass.itc.it - Geographical Resources Analysis
- Support System (GRASS) is Open Source GIS, which provides more then
- 350 modules for raster and vector (2D, 3D) data analysis. PyWPS is
- written with native support for GRASS and it's functions.
-
- * PROJ.4 - http://proj.maptools.org - Cartographic Projections library
- used in various Open Source projects, such as GRASS, UMN MapServer,
- QGIS and others. It can be used e.g. for data transformation.
-
- * GDAL/OGR - http://gdal.org - translator library for raster
- geospatial data formats, is used in various projects for importing,
- exporting and transformation between various raster and vector data
- formats.
-
- * R - http://www.r-project.org - is a language and environment for
- statistical computing and graphics.
-
-Installation the quick 'n' dirty way
-
- For installing pywps to your server simply unzip the archive to the
- directory, where cgi programs are allowed to run. You can also use
- current repository version.
-
- $ cd /usr/lib/cgi-bin/
- $ tar xvzf /tmp/pywps-VERSION.tar.gz
- $ pywps/wps.py
-
-Installation the 'clean' way
-
- Unzip the package
-
- $ tar -xzf pywps-VERSION.tar.gz
-
- and run
-
- $ python setup.py install
-
- adjust the configuration file
-
- $ vim /etc/pywps.cfg
-
- permint write access to templates directory
-
- # chmod -R 777 /usr/lib/python2.5/site-packages/pywps/Templates
-
- Several binary packages for Linux distributios (RPM,DEB) are also
- avaliable on PyWPS homepage9.
-
- Configuration
-
- Before you start to tune your PyWPS installation, you should get your
- copy of OpenGIS(R) Web Processing Service document (OGC 05-007r7)
- version 1.0.010.
-
- NOTE: Note, that the configuration option are CASE SENSITIVE
-
- Pywps configuration takes place in pywps.cfg file located in
- /etc/pywps.cfg or pywps/etc/pywps.cfg.
-
- Default configuration file is located in pywps/default.cfg, you can
- always make a copy of this file and start the configuration from
- scratch.
-
- Several sections are in the file.
- * Section [wps] contains general WPS settings, which are:
- * encoding - Language encoding (utf-8, iso-8859-2, windows-1250,
- ...)
- * title - Server title
- * version - WPS version (1.0.0)
- * abstract - Server anstract
- * fees - Possible fees
- * constraints - Possible constraints
- * serveraddress - WPS script address: http://foo/bar/wps.py
- * keywords - Comma-separated list of kyewords
- * lang - Default langue (eng)
- * Section [provider] contains informations about you
- * providerName - Name of your company
- * individualName - Your name
- * positionName
- * role
- * deliveryPoint - Street
- * city
- * postalCode
- * country
- * electronicMailAddress - foo at bar
- * providerSite - http://foo.bar
- * phoneVoice
- * phoneFacsimile
- * administrativeArea
- * Section [server] contains server settings
- * maxoperations - Maximal number of parallel running processes.
- If set to 0, then there is no limit.
- * maxinputparamlength - Maximal length of string input parameter.
- * maxfilesize - Maximal input file size (raster or vector). The
- size can be determined as follows: 1GB, 5MB, 3kB, 1000b.
- * tempPath - Direcotory for temporary files (mostly temporary
- GRASS locations).
- * outputUrl - Url where the outputs are stored.
- * outputPath - Path. where output files are stored.
- * debug - true/false
- * Section [grass] - GRASS GIS settings
- * path - $PATH variable, e.g. /usr/lib/grass/bin
- * addonPath - $GRASS_ADDONS variable
- * version - GRASS version
- * gui - Should be "text"
- * gisbase - Path to GRASS GIS_BASE directory (/usr/lib/grass)
- * ldLibraryPath - Path of GRASS Libs (/usr/lib/grass/lib)
-
- File example follows:
-
- [wps]
- encoding=utf-8
- title=PyWPS Server
- version=1.0.0
- abstract=See http://pywps.wald.intevation.org and http://www.opengeospatial.org/standards/wps
- fees=None
- constraints=none
- serveraddress=http://localhost/cgi-bin/wps
- keywords=GRASS,GIS,WPS
- lang=eng
-
- [provider]
- providerName=Your Company Name
- individualName=Your Name
- positionName=Your Position
- role=Your role
- deliveryPoint=Street
- city=City
- postalCode=000 00
- country=eu
- electronicMailAddress=login at server.org
- providerSite=http://foo.bar
- phoneVoice=False
- phoneFacsimile=False
- administrativeArea=False
-
- [server]
- maxoperations=3
- maxinputparamlength=1024
- maxfilesize=3mb
- tempPath=/tmp
- outputUrl=http://localhost/wps/wpsoutputs
- outputPath=/var/www/wps/wpsoutputs
- debug=true
-
- [grass]
- path=/usr/lib/grass/bin/:/usr/lib/grass/scripts/
- addonPath=
- version=6.2.1
- gui=text
- gisbase=/usr/lib/grass/
- ldLibraryPath=/usr/lib/grass/lib
-
- subsectionTesting after installation For test, just run wps.py in your
- command line:
-
- $ ./wps.py "service=wps&request=getcapabilities"
-
- INIT DONE
- LOADING PRECOMPILED
- TEMPLATE: UPTODATE
- PRECOMPILED: UPTODATE
- Content-type: text/xml
-
- <?xml version="1.0" encoding="utf-8"?>
- <wps:Capabilities service="WPS" version="1.0.0" xml:lang="eng,ger"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:wps="http://www.opengis.net/wps/1.0.0"
- xmlns:ows="http://www.opengis.net/ows/1.1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
- xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
- http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd"
- updateSequence="1">
- <ows:ServiceIdentification>
- <ows:Title>PyWPS Development Server</ows:Title>
- ...
- </wps:Capabilities>
-
- If you got something like this, (Capabilities response), everything
- looks fine.
-
- If you got some other message, like e.g.:
-
- Traceback (most recent call last):
- File "/usr/bin/wps.py", line 221, in <module>
- wps = WPS()
- File "/usr/bin/wps.py", line 140, in __init__
- self.performRequest()
- File "/usr/bin/wps.py", line 188, in performRequest
- from pywps.WPS.GetCapabilities import GetCapabilities
- File "/usr/lib/python2.5/site-packages/pywps/WPS/GetCapabilities.py", line 26, in <module>
- from Response import Response
- File "/usr/lib/python2.5/site-packages/pywps/WPS/Response.py", line 28, in <module>
- from htmltmpl import TemplateManager, TemplateProcessor
- ImportError: No module named htmltmpl
-
- Than something is wrong with your Python installation or with the
- program. This message means, that the python-htmltmpl package is not
- installed in your system.
-
- Write your own processes
-
- All processes are stored in the pywps/processes directory. You can
- create custom directory anywhere in your system and set $PYTHON_PROCESS
- environment variabl (how to do this for the web server, refer to your
- Server documentation). Following example will describe buffering
- process. Several example processes are distributed along with PyWPS
- source code.
-
- Create file exampleBufferProcess.py in PYWPS_PROCESSES directory.
-
- Each process is stand-alone python script with one class Process, which
- has two methods: __init__, execute. It is possible also to add as many
- your functions/methods, as you wish.
-
-Process initialization and configuration
-
- 1 from pywps.Process.Process import WPSProcess
- 2 class Process(WPSProcess):
- 3 """Main process class"""
- 4 def __init__(self):
- 5 """Process initialization"""
- 7 # init process
- 8 WPSProcess.__init__(self,
- 9 identifier = "exampleBufferProcess",
- 10 title="Buffer",
- 11 version = "0.2",
- 12 storeSupported = "true",
- 13 statusSupported = "true",
- 14 abstract="Create a buffer around an input vector file",
- 15 grassLocation = True)
-
- We defined new process called exampleBufferProcess. The process is
- allowed to store it's output data on the server (storeSupported) and it
- is also possible to run it in asynchronous mode (statusSupported). The
- process will run within GRASS GIS environment (grassLocation = True).
-
- Metadata defition
-
- is stored in array self.Metadata in __init__ method. You can add new
- Medatada using self.AddMetadata() method:
-
- self.AddMetadata(identifier="point",type="point",
- textContent="Click in the map")
-
- Data Inputs
-
- Three types of data inputs are defined:
- * Literal Input - Basic literal input - single number or text value
- * ComplexValue Input - Mostly vector file embded in input XML request
- or reference (URL) to such file.
- * BoundingBox Input - Coordinates for lower-left and upper-right
- corner.
-
- ComplexInput
-
- Complex input can be raster or vector file, to be processed.
-
- 18 self.dataIn = self.addComplexInput(identifier="data",
- 19 title = "Input data")
- 20
-
- LiteralInput
-
- With literal input, you can obtain any type of character string.
-
- 21 self.widthIn = self.addLiteralInput(identifier = "width",
- 22 title = "Width")
- 23
-
- For further documentation, refere example processes distributed with the
- source code as well as pydoc pywps/Wps/Process.py. This help is also
- available in process.html11 file distributed along with PyWPS source
- code.
-
- Data Outputs
-
- Data outputs can be defined in similar way.
- * Literal Output
- * ComplexValue Outout
- * BoundingBox Output
-
- ComplexValue Output
-
- The complex value can be raster or vector file (or any other binary or
- text file).
-
- 24 self.bufferOut = self.addComplexOutput(identifier="buffer",
- 25 title="Output buffer file")
- 26
-
- Literal Output
-
- If you want to output any text string.
-
- 27 self.textOut = self.addLiteralOutput(identifier="text",
- 28 title="just some text")
- 29
-
-Process Programming
-
- The process must be defined in the execute(self) method. Basicly, you
- want to get input values and set output values. For this purpose, you
- can use getValue(input_identifier) and setValue(output_identifier,value)
- methods of the input/output objects (see lower).
-
- If you need to execute some shell command, you should use
- self.cmd(command,["string for standard input"]) instead of e.g.
- os.system() or os.popen() functions.
-
- Calculation progress can be set using self.status(string message, number
- percent) method.
-
- Example follows:
-
- 33 def execute(self):
- 34 """Execute process.
- 35
- 36 Each command will be executed and output values will be set
- 37 """
- 38
- 39 # run some command from the command line
- 40 self.cmd("g.region -d")
- 41
- 42 # set status value
- 43 self.status.set("Importing data",20)
- 44 self.cmd("v.in.ogr dsn=%s output=data" %\
- 45 (self.getInputValue('data')))
- 46
- 47 self.status.set("Buffering",50)
- 48 self.cmd("v.buffer input=data output=data_buff buffer=%s scale=1.0 tolerance=0.01" %\
- 49 (self.getInputValue('width')))
- 50
- 51 self.status.set("Exporting data",90)
- 52
- 53 self.cmd("v.out.ogr type=area format=GML input=data_buff dsn=out.xml olayer=path.xml")
- 54
- 55 self.bufferOut.setValue("out.xml")
- 56 self.textOut.setValue("ahoj, svete")
- 57 return
-
- Error handling
-
- At the end of the execute function, None value should be returned. Any
- other value means, that the calculation will be stopped and error report
- will be returned back to the client, example:
-
- def execute(self):
- ...
- return "Ups, something failed!"
-
-Using GRASS GIS
-
- Configuration is done using standard pywps configuration file (see
- page[*]).
-
- If you want to use GRASS GIS commands in your process, and there is no
- GRASS Location to be used, you have to set grassLocation=True in process
- definition:
-
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = True)
-
- In this case, temporary GRASS Location will be created and after the
- process is done, it will be deleted again. By default, no GRASS Location
- is created.
-
- You can also work in existing GRASS Location, then just set the location
- path:
-
- WPSProcess.__init__(self,
- identifier = "exampleBufferProcess",
- ....
- grassLocation = "/home/grass/grassdata/spearfish60")
-
- Testing your new process
-
- To test your PyWPS installation, you run it either as Webserver
- cgi-application or in the command line directly. It is always good to
- start with the command line test, so do not have to check error.log of
- the web server.
-
- * GetCapabilities request (webserver)
-
- ./wps.py "service=wps&request=getcapabilities"
-
- wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- service=Wps&request=getcapabilities"
-
- * DescribeProcess request:
-
- ./wps.py "version=1.0.0&service=Wps&request=DescribeProcess&\
- Identifier=bufferExampleProcess"
-
- wget -nv -q -O - "http://localhost/cgi-bin/wps.py?\
- version=0.4.0&service=Wps&request=DescribeProcess&\
- Identifier=exampleBufferProcess"
-
- * Execute request: For data inputs encoding, using HTTP Get method,
- see OGC 05-007r712, page 38 "Execute HTTP GET request KVP encoding``
-
- ./wps.py "version=1.0.0&service=Wps&\
- request=Execute&Identifier=exampleBufferProcess&\
- datainputs=data=http://foo/bar/roads.gml;width=0.5"
-
- Some examples of XML request econding are available in doc/examples
- directory.
-
- Before testing WPS via HTTP POST, you have to set REQUEST_METHOD
- environment variable, then you can redirect input XML into wps.py script
- via standard input:
-
- $ export REQUEST_METHOD=POST
- $ cat doc/wps_execute_request-responsedocument.xml|./wps.py
-
- About this document ...
-
- Implementation of OGC WPS standard: PyWPS
-
- This document was generated using the LaTeX2HTML translator Version
- 2002-2-1 (1.71)
-
- Copyright (c) 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based
- Learning Unit, University of Leeds.
- Copyright (c) 1997, 1998, 1999, Ross Moore, Mathematics Department,
- Macquarie University, Sydney.
-
- The command line arguments were:
- latex2html -split 0 pywps-howto.tex
-
- The translation was initiated by Jachym Cepicky on 2008-08-28
-
- ----------------------------------------------------------------------
-
- Footnotes
-
- ... Umwelt1
- http://dbu.de
-
- ... GDF-Hannover2
- http://gdf-hannover.de
-
- ... Sensing3
- http://www.bnhelp.cz
-
- ... Cepicky4
- http://les-ejk.cz
-
- ... Consortium5
- http://www.opengeospatial.org/standards/requests/28
-
- ... GIS6
- http://grass.itc.it
-
- ... list7
- http://wald.intevation.org/mailman/listinfo/pywps-develPyWPS -
- development list
-
- ... bugtracker8
- http://wald.intevation.org/tracker/?atid=174&group_id=22&func=browsePyWPS
- Bug tracker
-
- ... homepage9
- http://pywps.wald.intevation.org
-
- ... 1.0.010
- http://www.opengeospatial.org/standards/wps
-
- ...process.html11
- http://wald.intevation.org/plugins/scmsvn/viewcvs.php/*checkout*/trunk/doc/process.html?rev=369&root=pywpsDocumentation
- to Process.py module
-
- ... 05-007r712
- http://opengeospatial.org/standards/wps/
-
- ----------------------------------------------------------------------
-
- next_inactive up previous
-
- Jachym Cepicky 2008-08-28
Deleted: trunk/doc/sample-execute-POST.xml
===================================================================
--- trunk/doc/sample-execute-POST.xml 2008-10-06 15:47:34 UTC (rev 692)
+++ trunk/doc/sample-execute-POST.xml 2008-10-06 15:50:43 UTC (rev 693)
@@ -1,34 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<Execute service='wps' version='0.4.0' store='true' status='false'
- xmlns="http://www.opengeospatial.net/wps"
- xmlns:ows="http://www.opengeospatial.net/ows">
-<ows:Identifier>addvalue</ows:Identifier>
-<DataInputs>
- <Input>
- <ows:Identifier>input</ows:Identifier>
- <ComplexValueReference reference='http://localhost/wps/data/soils.tif'></ComplexValueReference>
- </Input>
- <Input>
- <ows:Identifier>value</ows:Identifier>
- <LiteralValue>250</LiteralValue>
- </Input>
- <Input>
- <ows:Identifier>bbox</ows:Identifier>
- <BoundingBoxValue>
- <BoundingBox>
- <LowerCorner>-1 -1</LowerCorner>
- <UpperCorner>10 10</UpperCorner>
- </BoundingBox>
- </BoundingBoxValue>
- </Input>
- <!-- Input>
- <ows:Identifier>noth</ows:Identifier>
- <LiteralValue>10</LiteralValue>
- </Input-->
- <Input>
- <ows:Identifier>noth</ows:Identifier>
- <LiteralValue>20</LiteralValue>
- </Input>
-
-</DataInputs>
-</Execute>
More information about the Pywps-commits
mailing list