Database Output Storage for PyWPS
PyWPS allows to publish and use processes (as defined by the OGC WPS standard). Results can be either embedded in the XML response or, if they are more complex, they can be storedas a file on a server. In such case, the response includes a URL link to the file. In this project,an extension has been developed that adds another option. Output data can be stored in a database(PostgreSQL aor SQLite) and the client is given a string that points to a particular database, schemaand table where the data is stored.
Output data could be either included in the response directly or it was stored as a file on a serverand a link to the file was returned to the client. Using the link, the client could download the file.
There is now another option for storing output data that uses databases.Databases have several major advantages over the traditional system where datais stored in files. Unlike the file management system, there can be more usersaccessing the same data concurrently without corrupting the data. Indexing speedsup the data retrieval operations. There is a standardized database language to usefor queries. There are mechanisms such as data normalization that can be used toavoid duplicity of data and save storage space.
Currently, when using database output storage, the client is given a reference consisting of the name of the database, schema and table. However, the client needs to access the data themselves.
One possible solution is to use MapServer or GeoServer and serve the client the data as a WMS, WFS or
WCS services. I have started working on this but was not able to finish by the end of GSoC.