Web Coverage Processing Service

Last updated

The Web Coverage Processing Service (WCPS) defines a language for filtering and processing of multi-dimensional raster coverages, such as sensor, simulation, image, and statistics data. The Web Coverage Processing Service is maintained by the Open Geospatial Consortium (OGC). This raster query language allows clients to obtain original coverage data, or derived information, in a platform-neutral manner over the Web.

A coverage is the digital representation of some spatio-temporal phenomenon. ISO 19123 provides the definition:

Open Geospatial Consortium standards organization

The Open Geospatial Consortium (OGC), an international voluntary consensus standards organization, originated in 1994. In the OGC, more than 500 commercial, governmental, nonprofit and research organizations worldwide collaborate in a consensus process encouraging development and implementation of open standards for geospatial content and services, sensor web and Internet of Things, GIS data processing and data sharing.

Contents

Overview

WCPS allows to generate pictures suitable for displaying to humans and information concise enough for further consumption by programs. In particular, the formally defined syntax and semantics make WCPS amenable to program-generated queries and automatic service chaining.

As the WCPS language is not tied to any particular transmission protocol, the query paradigm can be embedded into any service framework, such as OGC Web Coverage Service (WCS) and OGC Web Processing Service (WPS).

The Open Geospatial Consortium Web Coverage Service Interface Standard (WCS) defines Web-based retrieval of coverages – that is, digital geospatial information representing space/time-varying phenomena.

The OGC Web Processing Service (WPS) Interface Standard provides rules for standardizing how inputs and outputs for invoking geospatial processing services, such as polygon overlay, as a web service. The WPS standard defines how a client can request the execution of a process, and how the output from the process is handled. It defines an interface that facilitates the publishing of geospatial processes and clients’ discovery of and binding to those processes. The data required by the WPS can be delivered across a network or they can be available at the server. WPS can describe any calculation including all of its inputs and outputs, and trigger its execution as a web service. WPS supports simultaneous exposure of processes via HTTP GET, HTTP POST, and SOAP, thus allowing the client to choose the most appropriate interface mechanism. The specific processes served up by a WPS implementation are defined by the owner of that implementation. Although WPS was designed to work with spatially referenced data, it can be used with any kind of data.

The current WCPS version is 1.0. The standards document, [1] available from the OGC WCPS standards page, [2] presents a condensed definition of syntax and semantics. In addition, there is an introduction to the concepts along with design rationales. [3]

Currently, WCPS is constrained to multi-dimensional raster data, but an activity is under work in OGC to extend it to all coverage types, i.e., digital geospatial information representing space-varying phenomena as defined in OGC Abstract Specification Topic 6: Schema for Coverage Geometry and Functions [4] (which is identical to ISO 19123) and refined to a concrete, interoperable model in the OGC GML 3.2.1 Application Schema - Coverages (GMLCOV) Standard. [5]

International Organization for Standardization An international standard-setting body composed of representatives from national standards organizations

The International Organization for Standardization is an international standard-setting body composed of representatives from various national standards organizations.

WCPS Language in a Nutshell

Sample WCPS query results Sample WCPS query results.png
Sample WCPS query results

WCPS establishes a protocol to send a query string to a server and obtain, as a result of the server's processing, a set of coverages. The query string can be expressed in either Abstract Syntax or XML. In the following examples, Abstract Syntax will be used as it is more apt for human consumption.

The WCPS syntax tentatively has been crafted close to the XQuery language – as metadata more and more are established in XML, and OGC heavily relies on XML (such as Geography Markup Language), it is anticipated that eventually a combination of XQuery and WCPS will be established. This will unify data and metadata retrieval.

Geography Markup Language used to describe geographical features

The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet. Key to GML's utility is its ability to integrate all forms of geographic information, including not only conventional "vector" or discrete objects, but coverages and sensor data.

The following example may serve to illustrate these principles. Task is to inspect three coverages M1, M2, and M3; for each one, deliver the pixelwise difference of red and near-infrared (nir) channel; return the result encoded in HDF5:

for$cin(M1,M2,M3)returnencode(abs($c.red-$c.nir),"hdf5")

This will return three coverages, that is: three HDF5 files.

Next, we are interested only in those coverages where nir exceeds 127 somewhere:

for$cin(M1,M2,M3)wheresome($c.nir>127)returnencode(abs($c.red-$c.nir),"hdf5")

The result might be only two coverages that pass the filter.

Finally, we want to constrain the filter predicate through a pixel mask acting as filter:

for$cin(M1,M2,M3),$rin(R)wheresome($c.nir>127and$r)returnencode(abs($c.red-$c.nir),"hdf5")

The evaluation procedure can be thought of as a nested loop. In general, the language allows to express a range of imaging, signal processing, and statistics operations. The limit is given because the language is safe in evaluation, that is: every request is guaranteed to terminate after a finite number of steps. This excludes recursion. Still, algorithms like classification, filter kernels and general convolutions, histograms, and Discrete Fourier Transform are expressible.

See also

A Web Map Service (WMS) is a standard protocol developed by the Open Geospatial Consortium in 1999 for serving georeferenced map images over the Internet. These images are typically produced by a map server from data provided by a GIS database.

Rasdaman

Rasdaman is an Array DBMS, that is: a Database Management System which adds capabilities for storage and retrieval of massive multi-dimensional arrays, such as sensor, image, simulation, and statistics data. A frequently used synonym to arrays is raster data, such as in 2-D raster graphics; this actually has motivated the name rasdaman. However, rasdaman has no limitation in the number of dimensions - it can serve, for example, 1-D measurement data, 2-D satellite imagery, 3-D x/y/t image time series and x/y/z exploration data, 4-D ocean and climate data, and even beyond spatio-temporal dimensions.

Related Research Articles

XML Markup language developed by the W3C for encoding of data

Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The W3C's XML 1.0 Specification and several other related specifications—all of them free open standards—define XML.

In computing, the Open Geospatial Consortium Web Feature Service (WFS) Interface Standard provides an interface allowing requests for geographical features across the web using platform-independent calls. One can think of geographical features as the "source code" behind a map, whereas the WMS interface or online tiled mapping portals like Google Maps return only an image, which end-users cannot edit or spatially analyze. The XML-based GML furnishes the default payload-encoding for transporting geographic features, but other formats like shapefiles can also serve for transport. In early 2006 the OGC members approved the OpenGIS GML Simple Features Profile. This profile is designed both to increase interoperability between WFS servers and to improve the ease of implementation of the WFS standard.

Keyhole Markup Language (KML) is an XML notation for expressing geographic annotation and visualization within Internet-based, two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by Keyhole, Inc, which was acquired by Google in 2004. KML became an international standard of the Open Geospatial Consortium in 2008. Google Earth was the first program able to view and graphically edit KML files. Other projects such as Marble have also started to develop KML support.

SPARQL RDF query language

SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 became an official W3C Recommendation, and SPARQL 1.1 in March, 2013.

Catalog Service for the Web (CSW), sometimes seen as Catalog Service - Web, is a standard for exposing a catalogue of geospatial records in XML on the Internet. The catalogue is made up of records that describe geospatial data, geospatial services, and related resources.

GeoRSS is a specification for encoding location as part of a Web feed. (Web feeds are used to describe feeds of content, such as news articles, Audio blogs, video blogs and text blog entries. These web feeds are rendered by programs such as aggregators and web browsers.) The name "GeoRSS" is derived from RSS, the most known Web feed and syndication format.

Peter Baumann (computer scientist) German computer scientist

Peter Baumann is a German computer scientist and professor at Jacobs University, Bremen, Germany, where he is head of the Large-Scale Scientific Information Systems research group in the Department of Computer Science and Electrical Engineering.

XPath is a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C).

Observations and Measurements, shortly known as O&M, is an international standard which defines a conceptual schema encoding for observations, and for features involved in sampling when making observations. While the O&M standard was developed in the context of geographic information systems, the model is derived from generic patterns proposed by Fowler and Odell, and is not limited to spatial information. O&M is one of the core standards in the OGC Sensor Web Enablement suite, providing the response model for Sensor Observation Service (SOS).

XQuery is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats. The language is developed by the XML Query working group of the W3C. The work is closely coordinated with the development of XSLT by the XSL Working Group; the two groups share responsibility for XPath, which is a subset of XQuery.

XML transformation language

An XML transformation language is a programming language designed specifically to transform an input XML document into an output document which satisfies some specific goal.

The Sensor Observation Service (SOS) is a web service to query real-time sensor data and sensor data time series and is part of the Sensor Web. The offered sensor data comprises descriptions of sensors themselves, which are encoded in the Sensor Model Language (SensorML), and the measured values in the Observations and Measurements encoding format. The web service as well as both file formats are open standards and specifications of the same name defined by the Open Geospatial Consortium (OGC).

WaterML is a technical standard and information model used to represent hydrological time series structures. The current version is WaterML 2.0, released an open standard of the Open Geospatial Consortium (OGC).

Array DBMS

Array database management systems (DBMSs) provide database services specifically for arrays, that is: homogeneous collections of data items, sitting on a regular grid of one, two, or more dimensions. Often arrays are used to represent sensor, simulation, image, or statistics data. Such arrays tend to be Big Data, with single objects frequently ranging into Terabyte and soon Petabyte sizes; for example, today’s earth and space observation archives typically grow by Terabytes a day. Array databases aim at offering flexible, scalable storage and retrieval on this information category.

References