Standalone Javascript OGC Web Processing Service (WPS) Client that utilizes the wps-js JavaScript API to grant access to Web Processing functionality via a user-friendly interface. It is built using JQuery, Boostrap and Angular and offers the following functions:
- Configure available WPS instances
- Use an intuitive HTML form-based Interface to build and execute typical request against WPS 1.0.0 and WPS 2.0.0 instances (GetCapabilities, DescribeProcess, Execute, getStatus, getResult)
- Display of WPS responses via HTML form elements (Capabilities, ProcessDescription, Execute ResponseDocument (WPS 1.0), Execute ResultDocument (WPS 2.0), StatusInfo Document)
Open the command line and navigate to a location, where you want to download the repository.
- Check out the code:
git clone https://github.com/52North/wps-js-client.git
- navigate into repository (
cd wps-js-client
) - run
npm install
to get/install all dependencies - run
grunt
orgrunt buildWar
to build the application (see section 'Building options' for more details) - Deploy it on a Web server (e.g. content from
dist
folder or as .WAR file as described above) - Launch the application and see what you can do.
- First, you might want to change the language in the dropdown menu on the right.
-
Select a WebProcessingService: In this example, we select the geoprocessing service.
- Optionally, you can then select Capabilities in the progress bar on the top right to get further information about Identification, Provider and Operations of the selected WebProcessingService.
-
Then go to Processes in the progress bar on the top and select one of the available processes which you want to make use of: In this example, we select the SimpleBufferAlgorithm.
- The client requests information about the selected process. Optionally, you can select General Information, Inputs, or Outputs to get further information about the selected process.
-
Then go to the Execute progress on the top right and click on "Step 1: Configuration of Inputs". The number of mandatory Inputs for the selected process is presented.
-
Click on the "Select Input" dropdown-menu and select a mandatory Input: Input types can be Complex Data (3.ii), Literal Data (3.iii), or BoundingBox Data (3.iv). In this example, we select the "data" input, which is mandatory _Complex Data input for the SimpleBufferAlgorithm.
-
In Case of a Complex Data input, select the Format/MimeType: In this example, we select the application/vnd.geo+json format. The geojson format allows the input in one of four ways. Per default, "Digitalisation (map based specification)" is selected: Note: While "Digitalisation" is selected, the map contains a few buttons on the bottom right indicating geometry objects such as a Polyline, Polygon, Rectangle, Circle, and a marker.
-
Click on one of the geometry objects to enable drawing mode. After drawing, click finish: Repeat this step until your desired input data is complete.
-
Click on "Add Input" to finally create this input. You can still change or remove the added input later.
- Optionally, you can input complex data as reference, upload a file (*.geojson, *.txt, *.json) containing valid geojson data, or paste valid geojson.
-
-
In case of a Literal Data input, type in the desired value and click on "Add Input": In this example, we choose a width for the SimpleBufferAlgorithm of 0.005.
-
In case of a BoundingBox Data input, you need to select a Coordinate Reference System and then specify the bounding box by using the 'Draw a Ractangle'-feature or by specifying the southwestern and northeastern corners: In this example, there is no mandatory BoundingBox input required for the SimpleBufferAlgorithm.
-
-
Then click on "Step 2: Configuration of Outputs". The number of mandatory Outputs for the selected process is presented.
-
Click on the "Select Output" dropdown-menu and select a mandatory Output. In this example, we select the only available output of the SimpleBufferAlgorithm, "result".
-
In case of Complex Data output, select the Format/MimeType. In this example, we select the "application/vnd.geo+json" to visualize the output on the map after execution.
-
Select your preferred Transmission Mode. In this example, we selected "value".
-
Repeat the steps (4.i) - (4.iv) for every mandatory Output.
-
- Optionally, you can click on "Step 3: Configuration of Execute Parameters" to change the execution mode and response format.
- Click on "Perform Execute Request". After execution of the process, the response will be visible on the map: You can now disable/enable the visualization of input or output data on the top right.
- with
grunt
all files are collected and build in adist
folder. The content of this folder can be deployed on a webserver like Tomcat.
- with
grunt buildWar
a .WAR file is generated in the folderbuild
. Use the .WAR file to deploy the client on a Web server.
wps-js-client is published under Apache License Version 2.0
The used libraries are:
- jQuery - MIT License - https://jquery.org/license
- Angular - MIT License - https://github.com/angular/angular.js/blob/master/LICENSE
- Bootstrap - MIT License - https://github.com/twbs/bootstrap/blob/master/LICENSE
- OpenLayers - 2-clause BSD License - (http://openlayers.org/
- wps-js - Apache Software License, Version 2.0 - (https://github.com/52North/wps-js/blob/dev/LICENSE
To get help in running wps-js-client, please use the Geoprocessing community mailing list and forum: http://geoprocessing.forum.52north.org/
Please leave an issue on GitHub if you have any bug reports or feature requests: https://github.com/52North/wps-js-client/issues
Contact: Benjamin Proß (b.pross@52north.org)