OrbisWPS contains a set of OSGI libraries to build a Web Processing Service (WPS) compliant with the 2.0 specification. OrbisWPS is developed by the GIS team of the Lab-STICC laboratory, located in Vannes. It has been supported by research projects:
MapUCE (Modeling and urbAn Planning laws: Urban Climate and Energy, 2014-2018), ANR Programme: Villes et Bâtiments Durables (VBD) 2013
ENERGIC-OD Project (European Network for Redistributing Geospatial Information to user Communities - Open Data; 2014-2017) partially funded under the ICT Policy Support Programme (ICT PSP) as part of the Competitiveness and Innovation Framework Programme by the European Community and the French geographic portal GEOPAL of the Pays de la Loire region.
PAENDORA (Planification, Adaptation et Energie des DOnnées territoriales et Accompagnement, 2017-2020), ADEME Programme: MODEVAL-URBA 2017
URCLIM (URban CLIMate services, 2017-2020), JPI Climate Programme
As part of the OrbisGIS platform, OrbisWPS is funded and maintained by personal resources of the Lab-STICC GIS team.
API for the Groovy language to write WPS scripts. This module contains the declaration of annotations based on the WPS 2.0 standard. The script writing is done in two parts : the input/output declarations and the process itself.
The input and output declaration is done by annotated all the variable with @...Input
or @...Output
,
with ...
replaced by the data type. As example :
@EnumerationInput( title = "title", values = ["round", "flat", "butt", "square"])
String[] enumeration
@LiteralDataInput(title = "title)
String string
@LiteralDataOutput(title = "title)
Long number
The available data type are :
authority:code
, like EPSG:2000
.The process itself is written inside a method called processing()
(the name can't be changed) annotated @Process
.
This module contains basic WPS scripts and are loaded in the WPS server by the class WpsScriptPlugin
thanks to the
OSGI mechanism.
This module contains the whole WPS mechanism which can be divided into two part : the script parsing and the WPS
request execution. The WPS service can be customized by instantiating the WpsServerImpl
class with a customized
version of the properties file
The script parsing is done in 3 steps :
The process execution is done by the WpsServerImpl.callOperation()
method which receive an InputStream
object
containing the WPS 2.0 request.
The request is then parsed and executed. In the case of the Execute
request, an instance of the java class of the
desired script is instantiated and configured with the input. Then the method processing()
is executed. Once the
execution end reached, the output data a retrieved.
API interface and classes for the creation of a WPS client compatible with the server.