ZOO-Project is a Web Processing Service (WPS) implementation written in C and C++. It is an open source platform, released under MIT/X11 Licence, which implements the WPS standards (1.0.0 and 2.0.0) published by the OGC
ZOO-Project provides a developer-friendly framework for creating and chaining WPS compliant Web Services. Its main goal is to provide generic and standard-compliant methods for using existing open source librairies as WPS.
ZOO idea at FOSS4G 2008
ZOO 1st talk at FOSS4G 2009
ZOO-Project 1.0 release at FOSS4G 2010
ZOO-Project 1.1 release at FOSS4G 2011
ZOO-Project 1.2 enters OSGeo incubation in 2012
ZOO-Project 1.3 release at FOSS4G 2013
ZOO-Project 1.4 release at FOSS4G 2014
ZOO-Project 1.5 release in July 2015
ZOO-Project 1.6.0 has been released early 2017
ZOO-Project 1.7.0 has been released June 2019
ZOO-Project 1.8.0 has been released December 2020
ZOO-Project 1.9.0 has been released February 2022
Prénom | Nom | Organisation | Pays |
---|---|---|---|
Nicolas | BOZON | Klokan Technologies GmbH | FRANCE |
Gérald | FENOY | GeoLabs | FRANCE |
Jeff | McKENNA | Gateway Geomatics | CANADA |
Venkatesh | RAGHAVAN | Osaka City University | JAPAN |
Rajat | SHINDE | IIT Bombay | INDIA |
Angelos | TZOTSOS | National Technical University of Athens | GREECE |
Prénom | Nom | Organisation | Pays |
---|---|---|---|
Nicolas | BOZON | Klokan Technologies Gmbh | FRANCE |
Trevor | CLARKE | Ball Aerospace | USA |
Rémi | Créson | IRSTea | FRANCE |
Luca | DELUCCHI | Fondazione Edmund Mach | ITALY |
Gérald | FENOY | GeoLabs | FRANCE |
Knut | LANDMARK | Norwegian Defence Research | NORWAY |
Jeff | McKENNA | Gateway Geomatics | CANADA |
Marco | NEGRETTI | Politecnico di Milano | ITALY |
Markus | NETELER | Mundialis | ITALY |
David | SAGGIORATO | Cleolys | FRANCE |
Angelos | TZOTSOS | National Technical University of Athens | GREECE |
ZOO-Kernel implements the WPS 1.0.0 and 2.0.0 specifications of the Open Geospatial Consortium and runs on GNU/Linux, MacOS X and Windows™ platforms.
ZOO-Kernel (version 1.9.0) implements the OGC API - Processes - Part 1: Core
ZOO-Kernel is able to execute Services written in various programming languages: C/C++, Fortran, Java, PHP, Perl, Ruby, Python, C#, JavaScript and R.
ZOO-Kernel is able to interract with GIS engines such as OTB and SAGA-GIS. So no more coding is needed!
Run your existing code through WPS compliant web services.
MapServer support: automatic result publication as : WMS/WFS/WCS
GetStatus also available as a service for WPS 1.0.0!
This work was supported by public funds received in the framework of GEOSUD, a project (ANR-10-EQPX-20) of the program "Investissements d'Avenir" managed by the French National Research Agency
The schema has been provided by IRD, IRSTEA, Geolabs, Noveltis.
The ZOO-Kernel now supports remote execution of Services!
No need to modify your service code to access them using REST
During the 2022 OGC OSGeo ASF Code Sprint, we worked on an updated version of the internal MapServer support used for automatic publication of web services based on the result of a service execution.
libnode
: Using in ZOO-ProjectFor ZOO-Project, libnode
enables full Node.js support
and compatibility with the huge NPM ecosystem.
Each WPS service can be implemented as either a CJS or ES6
module that can be transparently called from C/C++ with parameters - the
calling convention conversion is implemented in zoo_loader
using
the node-addon-api
/libnode
primitives.
import proj4 from 'proj4';
import gdal from 'gdal-async';
export function hellonodejs_es6(conf, inputs, outputs) {
ZOOUpdateStatus(conf, 0);
outputs["result"]["value"] = "Hello "
+ inputs["S"]["value"]
+ " from the JS World (ES6 mode) !";
ZOOUpdateStatus(conf, 100);
return SERVICE_SUCCEEDED;
}
The ZOO-Project got a grant for testing the Microsoft Azure platform.
Thanks to this grant the ZOO-Project has worked on deploying the solution on Kubernetes and will soon publish a documentation on how to setup the ZOO-Project on Microsoft Azure Kubernetes cluster.
Integrate the support for OGC API - Features coming
with MapServer 8.0.0 version
Investigate the current proposed extension for OGC API - Processes:
Add support for efficient data access to specific formats such as COG, OGC API - Features...
ZOO-Services is a growing collection of ready to use services built on top of reliable open source libraries such as GDAL, CGAL and more.
A ZOO-Service is a couple gathering a source code to execute and a ZCFG or YAML file which describes the Service and the needed input/output.
Since the 1.7.0 version, the metadata informations of a ZOO-Services can also be stored in a structured PostgreSQL database.
Turn your code into a standard service easily.
def HelloPy(conf,inputs,outputs):
outputs["Res"]["value"]="Hello "+inputs["a"]["value"]+" from Python"
return zoo.SERVICE_SUCCEEDED
500+ ready to use WPS
ZOO-API is a server side Javascript library designed to simplify the creation and chaining of existing WPS processes.
ZOO.Process server side classes help the developper to create new services by invoking other WPS processes through HTTP.
ZOO-API only support WPS 1.0.0.
Call and chain your WPS Services the simple way.
ZOO-Client is a client-side JavaScript API which provides simple methods for interacting with WPS 1.0.0 and 2.0.0 server from web applications.
It is helpful for sending requests to any WPS compliant server and to parse the output responses using simple JavaScript.
ZOO-Client relies on modern JavaScript libraries and can be seamlessly integrated in new or existing web applications.
ZOO-Client uses logic-less Mustache templates for creating well-formed WPS requests
GitHub Action to build and publish latest ZOO-Project Docker image and, run tests validating requests and responses for both WPS versions.
A spatial thanks to Jeff McKenna for his hard work!
GIS in the browser and Web GIS generator
http://mapmint.com