|
| 1 | +--- |
| 2 | +author: Nima Ghasemloo |
| 3 | +layout: post |
| 4 | +title: Exploring Types of WPS Operations in GeoServer |
| 5 | +date: 2025-08-15 |
| 6 | +categories: |
| 7 | +- Tutorials |
| 8 | +--- |
| 9 | + |
| 10 | +[GeoSpatial Techno](https://www.youtube.com/@geospatialtechno) is a startup focused on geospatial information that is providing e-learning courses to enhance the knowledge of geospatial information users, students, and other startups. The main approach of this startup is providing quality, valid specialized training in the field of geospatial information. |
| 11 | + |
| 12 | +( [YouTube](https://www.youtube.com/@geospatialtechno) |
| 13 | +| [LinkedIn](https://www.linkedin.com/in/geospatialtechno) |
| 14 | +| [Facebook](https://www.facebook.com/geospatialtechno) |
| 15 | +| [X](https://twitter.com/geospatialtechn) |
| 16 | +) |
| 17 | + |
| 18 | +---- |
| 19 | + |
| 20 | +### Exploring Types of WPS Operations in GeoServer |
| 21 | +This session covers the various Web Processing Service (WPS) operations available in GeoServer, emphasizing their roles within spatial data processing workflows. |
| 22 | + |
| 23 | +For the complete video tutorial, click [here](https://www.youtube.com/watch?v=HnvPVTrouQI&list=PL_ITaxp1Ob4ssvlwT5nkMD5arveD8fxc8). |
| 24 | + |
| 25 | +[](https://www.youtube.com/watch?v=HnvPVTrouQI&list=PL_ITaxp1Ob4ssvlwT5nkMD5arveD8fxc8) |
| 26 | + |
| 27 | +## Introduction |
| 28 | +The OGC WPS interface defines three mandatory operations that every compliant server must implement: |
| 29 | + |
| 30 | +- **GetCapabilities**: Retrieves metadata about the server's available processes. |
| 31 | +- **DescribeProcess**: Provides detailed information about a specific process. |
| 32 | +- **Execute**: Runs a selected geospatial process with user-defined inputs. |
| 33 | + |
| 34 | +These operations form the foundation of WPS-based geospatial analysis over the web. |
| 35 | + |
| 36 | +**Note**: GeoServer does not include the WPS functionality by default. Follow this [tutorial](https://geoserver.org/tutorials/2025/07/06/geospatial-techno.html) to download and install the WPS extension. |
| 37 | + |
| 38 | +**Note**: This tutorial uses GeoServer version 2.25.3. Ensure that the WPS extension matches your GeoServer version precisely to prevent compatibility issues. |
| 39 | + |
| 40 | + |
| 41 | +## GetCapabilities |
| 42 | +The **GetCapabilities** operation enables clients to query the server for service metadata, including available processes, supported versions, and provider details. |
| 43 | + |
| 44 | +An example HTTP GET request for GetCapabilities: |
| 45 | + |
| 46 | + http://localhost:8080/geoserver/ows?service=wps&version=1.0.0&request=GetCapabilities |
| 47 | + |
| 48 | +Key parameters: |
| 49 | + |
| 50 | +- `service = wps`: Indicates a WPS request. |
| 51 | +- `version = 1.0.0`: Specifies the WPS version. |
| 52 | +- `request = GetCapabilities`: Defines the operation. |
| 53 | + |
| 54 | +The resulting XML document provides a comprehensive overview of the WPS service, including server info, available processes, supported languages, and operational metadata. |
| 55 | + |
| 56 | +## DescribeProcess |
| 57 | +The **DescribeProcess** operation allows clients to request detailed information about specific processes available on the WPS server. It includes descriptions of required inputs, allowable formats, and expected outputs. |
| 58 | + |
| 59 | +Here is an example of how this operation can be used for the `Buffer` process: |
| 60 | + |
| 61 | + http://localhost:8080/geoserver/ows?service=wps&version=1.0.0&request=DescribeProcess&identifier=JTS:buffer |
| 62 | + |
| 63 | +There are four required parameters and values being passed to the WPS server: |
| 64 | +- The service parameter is `WPS`. |
| 65 | +- The version parameter is `1.0.0`. |
| 66 | +- The request parameter tells the server that the operation requested is `DescribeProcess`. |
| 67 | +- The identifier parameter tells the server what specific process is being described. Here is `JTS:buffer`. |
| 68 | + |
| 69 | +The response XML details the process, including identifiers, title, abstract, inputs, outputs, data formats, and constraints. |
| 70 | + |
| 71 | +## Execute |
| 72 | +The **Execute** operation lets clients initiate geospatial processes or algorithms. It typically involves sending a request with process details, input data, parameters, and output preferences, after which the server processes the request and returns results. |
| 73 | + |
| 74 | +For example, you can use a pre-defined demo request such as **WPS_aggregate_1.0.xml** from the demo section to test execution. To do this, navigate to the **Demos** section and select the **Demo Requests** option. From the Request drop-down list, select **WPS_aggregate_1.0.xml** request. |
| 75 | + |
| 76 | +This operation provides a flexible, standardized method for running geospatial analyses via the web, making advanced processing tools accessible to a broader audience. |
| 77 | + |
| 78 | +---- |
| 79 | + |
| 80 | +In this session, we covered the OGC WPS interface standard and its main operations. To explore the full tutorial, watch the [video](https://www.youtube.com/watch?v=HnvPVTrouQI&list=PL_ITaxp1Ob4ssvlwT5nkMD5arveD8fxc8). |
0 commit comments