1. PyWPS
Jachym Cepicky, Karel Charvát
jachym@bnhelp.cz
http://bnhelp.cz
charvat@ccss.cz
http://ccss.cz
Jachym Cepicky PyWPS 1
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
2. PyWPS
● Implementation of OGC Web Processing
Service (OGC WPS) on the server-side
● Started 2006
● Python-based
● Support for GRASS GIS, GDAL, PROJ4, R, ...
Jachym Cepicky PyWPS 2
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
3. What is PyWPS not
● PyWPS is no analytical tool or engine. It does
not perform any type of geospatial calculation.
● PyWPS is not special XML parser or generator.
It does not validate your GMLs against given
schemas (yet), it does not build GML from
Python objects.
● It is not complicated. Or, it should not be.
Jachym Cepicky PyWPS 3
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
4. Shortly about OGC WPS
● Protocol similar to WMS
● GetCapabilities → List of Processes
● DescribeProcesses → Selected proces specification (In- and Outputs)
● Execute → Performs calculation, returns result
● KVP vs XML
● service=WPS&request=GetCapabilities&version=1.0.0
● <ows:GetCapabilities
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:wps="
http://www.opengis.net/wps/1.0.0" … service="WPS">
<ows:AcceptVersions>
<ows:Version>1.0.0</ows:Version>
</ows:AcceptVersions>
</ows:GetCapabilities>
Jachym Cepicky PyWPS 4
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
5. PyWPS Featuers
● Python-based (< 3.0)
● WPS 1.0.0
● No processes within the distribution → User has
to code custom ones
● On-the-fly creation of GRASS temporary
Location/Mapset, if the process does require
GRASS modules
● Support for Java libraries (Sextant, …)
● WSDL/SOAP interface
Jachym Cepicky PyWPS 5
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
6. PyWPS Architecture
Processes
Jachym Cepicky PyWPS 6
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
7. PyWPS Architecture
● PyWPS is „just“ thin layer (wrapper) between
Internet and processing tool
● As processing tool, various popular GIS programs
can be used, for example:
● GRASS GIS
● GDAL/OGR
● Proj4
● Shapely, R, ...
● The process is to be desgined by the „user“ -
programator, who will setup PyWPS
Jachym Cepicky PyWPS 7
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
8. News from SVN
● Runs with Jython (Java implementation of
Python interpreter) → Direct access to Java
world (Used in Humboldt project)
● Support for GRASS 7 WPS interface (Sören
Gebert)
● WSDL/Soap bindings (Jorge de Jesus) →
PyWPS 3.2
● Orchestrization of processes using Taverna
Jachym Cepicky PyWPS 8
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
9. PyWPS 4.0 ideas
● Be Python 3 ready - use Python 2.7 (currently, it should work on
Python 2.4+)
● Use lxml for XML parsing AND writing
● Bring assynchronous calls to windows
● In the debug mode, validate input XMLs against schemas.
● Prepare for WPS 2.0
● More closer integration with GRASS GIS
● License change
● Process concept
● Use XML conofiguration?
● Jython issue (lxml is CPython-based)
Jachym Cepicky PyWPS 9
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
10. Links
● Main page http://pywps.wald.intevation.org
● Wiki http://wiki.rsg.pml.ac.uk/pywps/
● http://opengeospatial.org/standards/wps
Jachym Cepicky PyWPS 10
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
11. Supportes
● Help Service – Remote Sensing s.r.o.
http://bnhelp.cz
● Netmar project http://netmar.nersc.no/
● Prezem project http://prezem.cz
● Humboldt project http://esdi-humboldt.eu
Jachym Cepicky PyWPS 11
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
12. Examples in the real world
http://geo.sazp.sk
Jachym Cepicky PyWPS 12
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
13. Examples in the real world
http://povoden.kraj-lbc.cz
Jachym Cepicky PyWPS 13
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
14. Examples in the real world
http://dev.bnhelp.cz/inspire/client
Jachym Cepicky PyWPS 14
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium
15. Projects using PyWPS
● Prezem (precision farming) http://prezem.cz
● Humboldt http://esdi-humboldt.eu
● Netmar http://netmar.nersc.no/
● …
● PyWPS is used for various INSPIRE-related
tasks (e.g. Transformation service) among
others at JRC Ispra.
Jachym Cepicky PyWPS 15
jachym@bnhelp.cz
Help Service – Remote Sensing GI2011-X-border-SDI/GDI Symposium