PyWPS Jachym Cepicky [email_address] http://bnhelp.cz
PyWPS  <ul><li>Implementation of OGC Web Processing Service (OGC WPS) on the server-side
Started 2006
Python-based
Support for GRASS GIS, GDAL, PROJ4, R, ... </li></ul>
What is PyWPS not <ul><li>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 buil...
It is not complicated. Or, it should not be. </li></ul>
Shortly about OGC WPS <ul><li>Protocol similar to WMS </li><ul><li>GetCapabilities -> List of Processes
DescribeProcesses -> Selected proces specification (In- and Outputs)
Execute -> Performs calculation, returns result </li></ul><li>KVP vs XML </li><ul><li>service=WPS&request=GetCapabilities&...
<ows:GetCapabilities xmlns:ows=&quot;http://www.opengis.net/ows/1.1&quot; xmlns:wps=&quot; http://www.opengis.net/wps/1.0....
<ows:AcceptVersions>
<ows:Version>1.0.0</ows:Version>
</ows:AcceptVersions>
Upcoming SlideShare
Loading in …5
×

Pywps

1,447 views

Published on

About current state of PyWPS

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,447
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pywps

  1. 1. PyWPS Jachym Cepicky [email_address] http://bnhelp.cz
  2. 2. PyWPS <ul><li>Implementation of OGC Web Processing Service (OGC WPS) on the server-side
  3. 3. Started 2006
  4. 4. Python-based
  5. 5. Support for GRASS GIS, GDAL, PROJ4, R, ... </li></ul>
  6. 6. What is PyWPS not <ul><li>PyWPS is no analytical tool or engine. It does not perform any type of geospatial calculation.
  7. 7. 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.
  8. 8. It is not complicated. Or, it should not be. </li></ul>
  9. 9. Shortly about OGC WPS <ul><li>Protocol similar to WMS </li><ul><li>GetCapabilities -> List of Processes
  10. 10. DescribeProcesses -> Selected proces specification (In- and Outputs)
  11. 11. Execute -> Performs calculation, returns result </li></ul><li>KVP vs XML </li><ul><li>service=WPS&request=GetCapabilities&version=1.0.0
  12. 12. <ows:GetCapabilities xmlns:ows=&quot;http://www.opengis.net/ows/1.1&quot; xmlns:wps=&quot; http://www.opengis.net/wps/1.0.0 &quot; … service=&quot;WPS&quot;>
  13. 13. <ows:AcceptVersions>
  14. 14. <ows:Version>1.0.0</ows:Version>
  15. 15. </ows:AcceptVersions>
  16. 16. </ows:GetCapabilities> </li></ul></ul>
  17. 17. PyWPS Featuers <ul><li>Python-based (< 3.0)
  18. 18. WPS 1.0.0
  19. 19. No processes within the distribution -> User has to code custom ones
  20. 20. On-the-fly creation of GRASS temporary Location/Mapset, if the process does require GRASS modules
  21. 21. Support for Java libraries (Sextant, …)
  22. 22. WSDL/SOAP interface </li></ul>
  23. 23. PyWPS Architecture Processes
  24. 24. PyWPS Architecture <ul><li>PyWPS is „just“ thin layer (wrapper) between Internet and processing tool
  25. 25. As processing tool, various popular GIS programs can be used, for example: </li><ul><li>GRASS GIS
  26. 26. GDAL/OGR
  27. 27. Proj4
  28. 28. Shapely, R, ... </li></ul><li>The process is to be desgined by the „user“ - programator, who will setup PyWPS </li></ul>
  29. 29. News from SVN <ul><li>Runs with Jython (Java implementation of Python interpreter) -> Direct access to Java world (Used in Humboldt project)
  30. 30. Support for GRASS 7 WPS interface (Sören Gebert)
  31. 31. WSDL/Soap bindings (Jorge de Jesus) -> PyWPS 3.2
  32. 32. Orchestrization of processes using Taverna </li></ul>
  33. 33. PyWPS 4.0 ideas <ul><li>Be Python 3 ready - use Python 2.7 (currently, it should work on Python 2.4+)
  34. 34. Use lxml for XML parsing AND writing
  35. 35. Bring assynchronous calls to windows
  36. 36. In the debug mode, validate input XMLs against schemas.
  37. 37. Prepare for WPS 2.0
  38. 38. More closer integration with GRASS GIS
  39. 39. License change
  40. 40. Process concept </li><ul><li>Use XML conofiguration? </li></ul><li>Jython issue (lxml is CPython-based) </li></ul>
  41. 41. Links <ul><li>Main page http://pywps.wald.intevation.org
  42. 42. Wiki http://wiki.rsg.pml.ac.uk/pywps/
  43. 43. http://opengeospatial.org/standards/wps </li></ul>
  44. 44. Supportes <ul><li>Help Service – Remote Sensing s.r.o. http://bnhelp.cz
  45. 45. Netmar project http://netmar.nersc.no/
  46. 46. Prezem project http://prezem.cz
  47. 47. Humboldt project http://esdi-humboldt.eu </li></ul>
  48. 48. Examples in the real world http://geo.sazp.sk
  49. 49. Examples in the real world http://povoden.kraj-lbc.cz
  50. 50. Examples in the real world http://dev.bnhelp.cz/inspire/client
  51. 51. Projects using PyWPS <ul><li>Prezem (precision farming) http://prezem.cz
  52. 52. Humboldt http://esdi-humboldt.eu
  53. 53. Netmar http://netmar.nersc.no/
  54. 54.
  55. 55. PyWPS is used for various INSPIRE-related tasks (e.g. Transformation service) among others at JRC Ispra. </li></ul>

×