15
Jachym Cepicky [email protected] Help Service – Remote Sensing PyWPS GI2011-X-border-SDI/GDI Symposium 1 PyWPS Jachym Cepicky, Karel Charvát [email protected] http://bnhelp.cz [email protected] http://ccss.cz

Cepicky charvat pdf_gi2011_pywps_final

Embed Size (px)

DESCRIPTION

GI2011-X-border-SDI/GDI-Symposium, 23..5.2011: Bad Schandau (SAX) [ 11. Sächsisches GIS-Forum ] 24.5.2011: Decin (CZE) [ 1. Bohemian#Saxonian GIS-Forum ]

Citation preview

Page 1: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

GI2011-X-border-SDI/GDI Symposium

1

PyWPS

Jachym Cepicky, Karel Charvát

[email protected]://bnhelp.cz

[email protected]://ccss.cz

Page 2: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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, ...

Page 3: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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.

Page 4: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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>

Page 5: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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

Page 6: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

GI2011-X-border-SDI/GDI Symposium

6

PyWPS Architecture

Processes

Page 7: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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

Page 8: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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

Page 9: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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)

Page 10: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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

Page 11: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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

Page 12: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

GI2011-X-border-SDI/GDI Symposium

12

Examples in the real worldhttp://geo.sazp.sk

Page 13: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

GI2011-X-border-SDI/GDI Symposium

13

Examples in the real worldhttp://povoden.kraj-lbc.cz

Page 14: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

GI2011-X-border-SDI/GDI Symposium

14

Examples in the real worldhttp://dev.bnhelp.cz/inspire/client

Page 15: Cepicky charvat pdf_gi2011_pywps_final

Jachym [email protected] Service – Remote Sensing

PyWPS

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.