GEOSS Banner

3.3: RASDAMAN WCS service package


3.3.1 Introduction of use case

3.3.2 Description of use case

3.3.3 Pointer from parts of use case to tutorial sections

3.3.4 Example used to showcase use case

<<Prev T.O.C Next>>

3.3.1 Introduction of use case

The rasdaman (“raster data manager”) system offers flexible, scalable access to multi-dimensional sensor, image, and statistics data. Database-style query techniques enable navigation, extraction, aggregation,and general ad-hoc analytics on unlimited data volumes. The figure below shows a demonstration service established by the German Remote Sensing Data Center (DFD-DLR) by composing a large time series data cube from about 10,000 AVHRR scenes. Screenshots illustrate retrieval of 3D sub-timeseries(“5 years surface temperature between Italy and Corsica”), 2D slices (“surface temperature around Greece in August 2005, and 1D timelines ("temperature curve over Moscow for one year").

 

image14.png

Image credits: E. Diedrich, DFD-DLR

 

Technically speaking, it represents an Array Database System, i.e., an extension to standard relational database systems adding flexible storage and retrieval capabilities on multi-dimensional raster (“array”) data of unlimited extent. To this end, rasdaman stores coverages inside a conventional database and offers SQL enhanced with raster operations. This leverages a “what you get is what you need” principle: by allowing users to express what they really need to gain insight into the data inspected they get a substantially better service quality – and faster transmission, as bandwidth is used optimally and without sending unnecessary data. Internally in the server, manifold optimizations boost efficiency: queries can be rewritten into equivalent, but more efficient variants; they can be compiled to machine code on the fly; spatial indexes support fast spatio-temporal subsetting; storage structures can be tuned to user access patterns; transparent tape archive staging of parts of raster objects allows to keep only “hot” data spots on disk; and several more.

Through its petascope component, rasdaman supports all raster-relevant OGC standards: WMS, WCS, WCS-T, WCPS, and WPS. WMS allows rendering of 2D imagery, as usual. WCS supports flexible subsetting on multi-dimensional coverages. WCS-T (“WCS-Transactional”) allows standards-based ingestion and update of coverage offerings. Web Coverage Processing Service (WCPS) provides an XQuery-style filtering and processing language on multi-dimensional raster coverages. WPS, finally, allows providers to offer any kind of algorithmic processing, in this case: on coverages.

The figure below illustrates the rasdaman service stack, consisting of the relational data­base system (here: PostgreSQL), rasdaman, petascope, and OGC-based third-party clients. For further information see the rasdaman open-source website (www.ras­da­man.org the EarthLook raster standards showcase (www.earth­look.org),and the Earth­Server project for large-scale data analytics (www.earthserver.eu).

image15.png

The use case on hand illustrates the next wave in Earth Science services,complex analytics on big data (cf. figure below). To this end, multi-dimensional data sets (such as 3D time series, 4D and 5D climate simulation data) get accessed through WCS and processed through WCPS.

image16.png

The following retrieval examples show operation of WCS 2.0.

Note that the format encoding specification, although not yet formally adopted, is currently under finalization and informally agreed within OGC.

For the start let’s consider the request “Subset of 2D dataset NIR, in (Geo)TIFF”. The SUBSET parameters indicate the cutout to be taken; as no CRS is present, the de­fault is taken which means: use the original CRS of the coverage as stored in the server. The FORMAT parameter is set to the MIME type definition of TIFF, “image/tiff”:

http://www.earthlook.org/path?
service=WCS
&version=2.0
&request=GetCoverage
&coverageId=climate_temperature
&subset=lon(45,47)
&subset=lat(51,55)
&format=
image/tiff

Next,assume we also want the coverage’s domain and range type definition, something which cannot be encoded in TIFF in completeness. To this end, we add a MEDIATYPE parameter with value "multipart/related" specifying that we are interested in GML metadata and pixel payload:

http://www.earthlook.org/path?
service=WCS
&version=2.0
&request=GetCoverage
&coverageId=climate_temperature
&subset=lon(45,47)
&subset=lat(51,55)
&format=image/tiff
&mediatype=
multipart/related

The result will be a MIME-encoded multipart message with the coverage description as first part and the range set values encoded in the TIFF file representing the second part. The resulting message might look like this:

Content-Type: Multipart/Related; boundary=wcs;

start="GML-Part"

type="text/xml"

--wcs

Content-type: text/xml

Content-ID: GML-Part

<?xml version="1.0" …>

<gmlcov:RectifiedGridCoverage …>

<gml:domainSet>…</gml:domainSet>

<gml:rangeSet>

<gml:File>

<gml:rangeParameters xlink:href=“cid:grey.tif"
xlink:role="http://www.opengis.net/spec/WCS_cove...g_geotiff/1.0/"
xlink:arcrole="fileReference"/>

<gml:fileReference>cid:grey.tif</gml:fileReference>

<gml:fileStructure/>

<gml:mimeType>image/tiff</gml:mimeType>

</gml:File>

</gml:rangeSet>

<gmlcov:rangeType>…</gmlcov:rangeType>

</gmlcov:RectifiedGridCoverage>

--wcs

Content-Type: image/tiff

Content-Description: coverage data

Content-Transfer-Encoding: binary

Content-ID: grey.tif

Content-Disposition: INLINE

...binary TIFF data...

--wcs--

Next, let us advance to 3D data. A common operation is slicing, which reduces the number of coverage dimensions in the output. For example, in an x/y/t satellite image timeseries datacube we might want to extract a timeslice pertaining to some particular instant in time. Actually, the only difference to a trim request is that in the axis under consideration only one slice point is provided, instead of the two interval bounds in a trim request. The following request extracts a 2D x/y slice from an x/y/t cube climate_temperature (the time coordinate is indicated in the coverage’s native time CRS, which happens to be ISO 8601):

http://www.earthlook.org/path?
service=WCS
&version=2.0
&request=GetCoverage
&coverageId=climate_temperature
&subset=lon(45,47)
&subset=lat(51,55)
&subset=t("2009-11-06T23:20:52Z")

In a similar fashion, a time series of temperature can be extracted for some particular coordinate position. The result, being a 1D coverage, can comfortably be returned in CSV:

http://www.earthlook.org/path?
service=WCS
&version=2.0
&request=GetCoverage
&coverageId=climate_temperature
&subset=lon(47)
&subset=lat(51)

Note that, due to the missing time subsetting, all times available will be returned.

WCS 2 as described here can be accessed on EarthLook at

http://www.earthlook.org/tech/wcps-tutorial/sandbox-abs.php

Note that the format encoding (i.e., retrieval in formats other than GML) is work in progress, following the advance of standardization.

Finally, let us inspect the processing capabilities. NIR is a 2D false-color image suitable for demonstrating NDVI (Normalized Difference Vegetation Index) derivation, which relies on the near-infrared band (band 0 in this case) and red (here, band #1). The corresponding WCPS query for delivery as TIFF is:

for $img in ( NIR )
return
encode(
( $img.0 - $img.1 ) / ( $img.0 + $img.1) + 0.5,

“tiff”
)

WCPS queries can be typed into the EarthLook sandbox page, to try out this and other examples. The link is http://www.earthlook.org/tech/wcps-tutorial/sandbox-abs.php .

3.3.3 Pointer from parts of use case to tutorial sections

Pointer to section 4.2

3.3.4 Example used to showcase use case

Datasets used here are accessible on EarthLook (www.earthlook.org).

<<Prev T.O.C Next>>

Tag
none

Files (0)

 
You must login to post a comment.