OGC WCS: A Short Guide - Europa€¦ · Web Coverage Service (WCS) = - modular, testable, scalable ... EO-WCS WCS Application Profile for Earth Observation [OGC 10-140] - 2D imagery

Post on 15-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

WCS Short Guide :: © 2014 Peter Baumann

Peter Baumann

Jacobs University | rasdaman GmbH

baumann@rasdaman.com

OGC WCS: A Short Guide

[gamingfeeds.com]

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing

Summary

2

WCS Short Guide :: © 2014 Peter Baumann

Features & Coverages

The basis of all: geographic feature

- = abstraction of a real world phenomenon [OGC, ISO]

Special kind of feature: coverage

- = space-time varying multi-dimensional phenomenon

Usually, Big Geo Data are coverages

WCS Short Guide :: © 2014 Peter Baumann

Coverage Data & Services

coverage = digital representation of some space-time verying phenomenon

- n-D, discretized or continuous, testable down to pixel level

- uniform handling of space & time

Web Coverage Service (WCS) =

- modular, testable, scalable

- Core mission: Get original data (or subset thereof), suitable for further processing

Starting WCS 2, coverage data & service model separated

- Coverages servable by WFS, WMS, WCS, WCPS, WPS, SOS, ...

- WCS, WCPS specialized on coverages

WCS Short Guide :: © 2014 Peter Baumann

feature coverage

data

WMS

images data

meta

data

WCPS

WCS-T

WCS

FE

WFS-T

WFS

CQL

CS-T

CS-W

(Part of) The OGC Standards Quilt

• WMS "portrays spatial data pictures"

• WCS: "provides data + descriptions; data with original semantics,

may be interpreted, extrapolated, etc.“

[09-110r3]

5

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

7

WCS Short Guide :: © 2014 Peter Baumann

Coverage Definition

class GML 3.2.1 Application Schema for Coverages

«FeatureType»

Coverage

«FeatureType»

GML::Feature

«Union»

GML::DomainSet

«Union»

GML::RangeSet

«type»

SWE Common::DataRecord

rangeSetdomainSet rangeType

contains hook

for metadata

ISO 19123

is abstract

→ many different

implementations

possible

→ not per se

interoperable

OGC coverage std

is concrete and

interoperable

[OGC 09-146r2]

from SWE Common

WCS Short Guide :: © 2014 Peter Baumann

MultiSolid

Coverage

OGC Coverage Types

Coverage = digital representation of

space/time varying phenomenon

- n-D!

«FeatureType»AbstractCoverage

MultiPoint

Coverage

MultiCurve

Coverage

MultiSurface

Coverage

Grid

Coverage

Referenceable

GridCoverage

as per GML 3.2.1

Rectified

GridCoverage

WCS Short Guide :: © 2014 Peter Baumann

Coverage Subtypes

GridCoverage:

- Obsoleted, should not be used

for referenced data

RectifiedGridCoverage:

- Grid which is equidistant, straight

- Georeferenced

- Ex: ortho imagery, climate data cubes

ReferenceableGridCoverage

- Grid may not be equidistant, not straight

- May not be georeferenced

- Ex: L0 satellite data, curved grids,

triangular meshes, hexagonal grids

WCS Short Guide :: © 2014 Peter Baumann

Gridded Coverage Types

Not georeferenced, „just pixels“

- GMLCOV::GridCoverage

Georeferenced, regular

- GMLCOV::RectifiedGridCoverage

Georeferenced, 1+ irregular axes

- All axes irregular: GML 3.3

ReferenceableGridByVectors *

- GMLCOV::ReferenceableGridCoverage

Georeferenced, 1+ axes warped

- All axes warped: GML 3.3 ReferenceableGridByArray *

- GMLCOV::ReferenceableGridCoverage

[Campalani 2013]

*) CR to GML planned

Mix, eg, with

sat image

timeseries

WCS Short Guide :: © 2014 Peter Baumann

Sample Grid Coverage (GML)

samples for each coverage type

provided with specification bundle

WCS Short Guide :: © 2014 Peter Baumann

Sample MultiSolidCoverage

WCS Short Guide :: © 2014 Peter Baumann

Coverage Encoding

Pure GML: complete coverage, in GML

Special Format: other suitable file format (ex: MIME type “image/tiff”)

Multipart-Mixed: multipart MIME, type “multipart/mixed”

GML Coverage

Domain set

Range type

Range set

App Metadata

GML Coverage

Domain set

Range type

xlink

App Metadata

NetCDF file

NetCDF

Domain set

Range type

Range set

App Metadata

GeoTIFF

Domain set

Range type

Range set

App Metadata

WCS Short Guide :: © 2014 Peter Baumann

Sample Mixed Encoding: TIFF

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="grey.tif"

xlink:role="http://www.opengis.net/spec/WCS_coverage-encoding_geotiff/1.0/"

xlink:arcrole="fileReference"/>

<gml:fileReference>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--

How to request

a particular encoding

from a server?

See later!

WCS Short Guide :: © 2014 Peter Baumann

Adding Metadata To Coverages

Coverage has slot „metadata“ allowing to link in <any> kind of metadata

- WCS will deliver this, even without knowing contents

Ex: EO-WCS

GetCoverage

result

Inverse possible, too:

metadata record

contains (or links)

coverage

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

17

WCS Short Guide :: © 2014 Peter Baumann

WCS Core

WCS Short Guide :: © 2014 Peter Baumann

WCS Service Model: Structure

Hook for future service-

related coverage metadata

WCS offering

can be seen as

a single virtual

document

Notwithstanding

other actual

encodings

[OGC 09-110r4]

GML coverage

WCS Short Guide :: © 2014 Peter Baumann

WCS Service Model: Operations

GetCapabilities

- what service extensions?

- What formats? CRSs?

- What coverages?

DescribeCoverage

- coverage metadata

GetCoverage

- coverage, or subset thereof

20

WCS Short Guide :: © 2014 Peter Baumann

Web Coverage Service (WCS)

WCS Core: Simple & efficient access to n-D coverages & subsets

- Format conversion on the fly

- subset = trim | slice

WCS Extensions: for optional functionality facets

WCS Application Profiles: domain-oriented bundling

- EO, MetOcean, ...

WCS Short Guide :: © 2014 Peter Baumann

WC GetCoverage: Retrieve Coverage (Subset)

Download a coverage (or a subset thereof), values guaranteed unchanged

Ex: „download coverage c001“

Ex: „coverage c001, lat/long cutout, time slice t=2009-11-06T23:20:52Z”

Ex: “coverage c001, in GeoTIFF”

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001

& SUBSET=Long(100,200) & SUBSET=Lat(50,60)

& SUBSET=phenomenon-time("2009-11-06T23:20:52Z")

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001 & FORMAT=“image/tiff“

WCS Short Guide :: © 2014 Peter Baumann

WCS Suite Big Picture

WCS Short Guide :: © 2014 Peter Baumann

WCS Extensions

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension – Range Subsetting [OGC 12-039]

Extract range components

- „bands“, „variables“

- Extension to GetCoverage request

Ex:

- or:

- or:

- or:

- or:

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001

& RangeSubset=red

…& RangeSubset=nir,red,green &…

…& RangeSubset=green,red,blue &…

…& RangeSubset=nir:green &…

…& RangeSubset=band01,band03:band05,band19:band21 &…

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension - Scaling [OGC 12-039]

Reduce resolution of gridded coverages

- Extension to GetCoverage request

Ex:

- or:

- or:

- or:

2.0 = scale DOWN by factor of 2

Interpolation control depending on Interpolation extension

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001

& ScaleByFactor=2.0 &…

…& ScaleAxesByFactor=lat(2.0),long(2.0),time(1.0) &…

…& ScaleToSize=lat(4000),long(5000) &…

…& ScaleToExtent=lat(10,20),long(20,30) &…

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension – Interpolation [OGC 12-049]

Communicate & control interpolation to be applied

- Scaling, CRS

Cap doc reports interpolation methods supported

- Without IE: opaque,

server doesn„t tell

Client can mandate

particular method

Ex:

- or:

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0 & REQUEST=GetCoverage & COVERAGEID=c001 & ...

& INTERPOLATION=http://www.opengis.net/def/interpolation/OGC/1/linear

<int:InterpolationMetadata>

<int:InterpolationSupported>

http://www.opengis.net/def/interpolation/OGC/0/nearest-neighbor

</int:InterpolationSupported>

<int:InterpolationSupported>

http://www.opengis.net/def/interpolation/OGC/0/linear

</int:InterpolationSupported>

</int:InterpolationMetadata>

…& INTERPOLATIONPERAXIS=phenomenon-time,http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbor

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension – CRS [OGC 11-053]

retrieval (& bbox) in CRSs different from Native CRS

- Extension to GetCoverage request

- Capabilities document lists supported CRSs (must be at least 1)

Ex:

This needs

- New CRSs (vertical, time, index, proxies, ...) Time + Index CRS NTS

- Combination of CRSs CRS NTS

http://www.acme.com/wcs ? SERVICE=WCS & VERSION=2.0

& REQUEST=GetCoverage & COVERAGEID=c001

& SUBSETTINGCRS=http://www.opengis.net/def/crs/EPSG/0/4326

& OUTPUTCRS=http://www.opengis.net/def/crs/EPSG/0/4326

WCS Short Guide :: © 2014 Peter Baumann

Time & Index CRSs [OGC 13-102r2]

Need new CRSs / axes:

- Time (incl calendars) Temporal.DWG

- Vertical new WG

- Index („ImageCRS“, never formalized) Index CRS

NB: EPSG not interested in time CRSs

Issue: ISO timestamps as coordinates

- WCS allows, GML (still) refuses

Ex: http://www.acme.com/wcs

? SERVICE=WCS & VERSION=2.0 & REQUEST=GetCoverage

& COVERAGEID=C0002

& SUBSET=long(100,200)

& SUBSET=lat(50,60)

& SUBSET=phenomenon-time("2009-11-06T23:20:52Z")

WCS Short Guide :: © 2014 Peter Baumann

CRS Name Types [OGC 11-135] WGS84, RESTful:

• http://www.opengis.net/def/crs/EPSG/0/4326

WGS84, KVP:

• http://www.opengis.net/def/crs?authority=EPSG&version=0&code=4326

Parametrized („AUTO“) CRSs:• http://www.opengis.net/def/crs?authority=OGC&version=1.3

& code=AUTO42003 & UoM=m & CenterLongitude=-100 & CenterLatitude=45

Ad-hoc combination of CRSs:• http://www.opengis.net/def/crs-compound?

1=http://www.opengis.net/def/crs/EPSG/0/4326& 2=http://www.opengis.net/def/crs/ISO/2004/8601

Proprietary CRS definition:• http://www.acme.com/def/this-is-EPSG-4326

Inline CRS definition:• srsName=“#crsdef”

OGC resolver implementation

provided by Jacobs U:

www.earthlook.org/demos/secore

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension – Transaction [OGC 13-057]

= WCS-T: Modify coverage offerings on a server via Web

- New requests:

InsertCoverage + DeleteCoverage + UpdateCoverage (partial replacement)

- Core design goal: GetCoverage InsertCoverage

Revamping old WCS-T 1.1.4 (Arliss Whiteside) 2.0

- Adjusted to GMLCOV & WCS 2.0

Ex: http://www.acme.com/wcs

? SERVICE=WCS & VERSION = 2.0

& REQUEST=InsertCoverage

& COVERAGEREF=http://bcme.com/archive/hurricane.nc

& USEID=new

WCS Short Guide :: © 2014 Peter Baumann

WCS Extension – Processing [OGC 13-057]

WCS wrapper for OGC Web Coverage Processing Service (WCPS)

- high-level spatio-temporal geo raster query language

for $c in ( M1, M2, M3 )where

some( $c.nir > 127 )return

encode($c.red - $c.nir,“image/tiff“

)

(tiffA,

tiffC)

32

"From MODIS scenes M1, M2, M3: difference between red & nir, as TIFF"• …but only those where nir exceeds 127 somewhere

WCS Short Guide :: © 2014 Peter Baumann

Application Profiles

WCS Short Guide :: © 2014 Peter Baumann

EO-WCS

WCS Application Profile for Earth Observation [OGC 10-140]- 2D imagery + time metadata

- hierachical coverage groupings

- Metadata & provenance

- Mosaic overlaying

EO Metadata Record 1

EO Metadata Record 2

[EOX]

long

lat

t

[JacobsU, EOX]

[JacobsU, EOX]

WCS Short Guide :: © 2014 Peter Baumann

MetOcean-WCS [OGC 14-052]

WCS Application Profile for Meteorology, Climate, Aviation

Data model:

- 4-D x/y/z/t data cubes

Service model:

- Space-time extraction

- curtains, corridors

Status: draft

- JacobsU + UK MetOffice

[UK MetOffice, DWD]

WCS Short Guide :: © 2014 Peter Baumann

WPS AP – Coverages [OGC 09-045r1]

Specialization of WPS for coverage services

- WCS folks: „want to have async processing on coverages“

- WPS folks: „want interoperable coverage processes“

WCS request type

WPS process definition

- WCS extensions piggyback

- No new schema needed

<wps:Execute …

xsi:schemaLocation="http://www.opengis.net/wps/2.0.0 ../wpsExecute.xsd"

service="WPS" version="2.0.0" response="document” mode="async">

<ows:Identifier>http://my.wps.server/processes/wcs</ows:Identifier>

<wps:Input id="GetCoverageRequest">

<wcs:CoverageId>MyLittleCoverage</wcs:CoverageId>

<wcs:trimDimension>

<wcs:dimension>Long</wcs:dimension>

<wcs:trimLow>20</wcs:trimLow>

<wcs:trimHigh>29</wcs:trimHigh>

</wcs:trimDimension>

</wps:Input>

<wps:Output id="GetCoverageResponse“ …>

</wps:Output>

</wps:Execute>

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

38

WCS Short Guide :: © 2014 Peter Baumann

Conformance Testing: Status

39

WCS Short Guide :: © 2014 Peter Baumann

WCS Implementations

High acceptance by implementers for WCS 2

- "The WCS 2.0 XML schema set is much easier to use than the 1.x XML; it

validates and is better organized" -- OPeNDAP

Users increasingly planning to move to WCS 2 (eg, NGA)

Known implementations:

- rasdaman, MapServer, GeoServer, OPeNDAP, GMU, Trellis, ...

- rasdaman WCS Core Reference implementation

WCS Short Guide :: © 2014 Peter Baumann

WCS & WCPS: Practice Proven

from simple data access to agile analytics on spatio-temporal sensor,

image, simulation, & statistics data

130+ TB databases, 2D, 3D x/y/z & x/y/t, 4D x/y/z/t timeseries

single query distributed to 1,000+ cloud nodes

WCS Short Guide :: © 2014 Peter Baumann

„raster data manager“: SQL + n-D raster objects

Scalable parallel “tile streaming” architecture

In operational use

- OGC Web Coverage Service

Core Reference Implementation

rasdaman: Agile Array Analytics

select img.green[x0:x1,y0:y1] > 130

from LandsatArchive as img

where avg_cells( img.nir ) < 17

WCS Short Guide :: © 2014 Peter Baumann

Adaptive Tiling

Sample tiling strategies [Furtado]:

- regular directional area of interest

rasdaman storage layout language

insert into MyCollection

values ...

tiling area of interest [0:20,0:40], [45:80,80:85]

tile size 1000000

index d_index storage array compression zlib

WCS Short Guide :: © 2014 Peter Baumann

Inset: WaterML 2.0 Time Handling

WaterML 2.0: timseries = time slices

OGC Coverages: time just another axis «FeatureType»Coverage

«Union»DomainSet

«Union»RangeSet

«type»DataRecord

rangeSetdomainSet rangeType

WCS Short Guide :: © 2014 Peter Baumann

Sample Application: Database Visualization

for $s in (SatImage), $d in (DEM)

return

encode(

struct {

red: (char) s.image.b7[x0:x1,x0:x1],

green: (char) s.image.b5[x0:x1,x0:x1],

blue: (char) s.image.b0[x0:x1,x0:x1],

alpha: (char) scale( d.elev, 20 )

},

"image/png"

)

[JacobsU, Fraunhofer; data courtesy BGS, ESA]

WCS Short Guide :: © 2014 Peter Baumann

Viewing: WCPS Emulating WMS

Example 2: real-time WMS zoom/pan/styling

- 1 background, 1 bathymetry, 3*RGB

- www.earthlook.org

SELECT png(

(marray x in [0:399,0:399] values {255c,255c,255c})

overlay

((scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) < -1300)*{0c,0c,0c}

+(-1300.000000< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1290)*{219c,0c,172c}

+(-1289.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1282)*{209c,0c,178c}

+(-1281.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1275)*{199c,0c,186c}

+(-1274.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1272.5)*{186c,0c,189c}

+(-1272.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1271)*{174c,0c,194c}

+(-1270.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1270.5)*{162c,0c,199c}

+(-1270.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1270)*{150c,0c,204c}

+(-1269.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1269.5)*{139c,0c,209c}

+(-1269.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1269)*{125c,0c,214c}

+(-1268.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1268.5)*{110c,0c,219c}

+(-1268.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1268)*{98c,0c,227c}

+(-1267.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1267.5)*{77c,0c,232c}

+(-1267.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1267)*{59c,0c,237c}

+(-1266.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1266.5)*{28c,0c,242c}

+(-1266.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1266)*{16c,12c,245c}

+(-1265.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1265.5)*{36c,32c,247c}

+(-1265.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1265)*{47c,47c,247c}

+(-1264.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1264.5)*{60c,63c,250c}

+(-1264.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1264)*{67c,74c,250c}

+(-1263.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1263.5)*{76c,90c,252c}

+(-1263.499999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1263)*{83c,103c,252c}

+(-1262.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1262)*{88c,116c,252c}

+(-1261.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1261)*{93c,128c,252c}

+(-1260.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1260)*{99c,144c,255c}

+(-1259.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1257)*{102c,158c,255c}

+(-1256.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1250)*{107c,174c,255c}

+(-1249.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1240)*{110c,190c,255c}

+(-1239.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -1230)*{112c,205c,255c}

+(-1229.999999< scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) and scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ) <= -126.5)*{115c,220c,255c}

+ (-126.5 < scale( extend( img0[269:349,0:65], [269:395,-60:65] ), [0:399,0:399] ))*{255c,255c,255c})

overlay (scale( extend( img2[124:468,0:578], [124:717,-14:578] ), [0:399,0:399] ))

overlay (scale( extend( img3[11375:11578,0:120], [11375:11968,-473:120] ), [0:399,0:399] )) )

FROM Hakon_Bathy AS img0, Hakoon_Dive1_8 AS img1, Hakoon_Dive2_8 AS img2, Hakoon_Dive2b_8 AS img3

WCS Short Guide :: © 2014 Peter Baumann

for $a in (A), $b in (B), $c in (C), $d in (D)

return

max(($a.nir - $a.red) / ($a.nir + $a.red))

- max(($b.nir - $b.red) / ($b.nir + $b.red))

- max(($c.nir - $c.red) / ($c.nir + $c.red))

- max(($d.nir - $d.red) / ($d.nir + $d.red))

Parallel / Distributed Query Processing

1 query 1,000+ cloud nodes

Dataset B

Dataset A

Dataset D

Dataset C

WCS Short Guide :: © 2014 Peter Baumann

Use Case: Plymouth Marine Laboratory

“Avg chlorophyll concentration for given area & time period, from x/y/t cube”

- 10, 60,120, 240 days

Conclusions:

- „we must minimise data transfer

as well as [client] processing”

- “standards such as WCPS provide

the greatest benefit”

[Oliver Clements, EGU 2014]

rasdaman

WCS Short Guide :: © 2014 Peter Baumann

Secured Archive Integration

First-ever direct, ad-hoc mix from protected NASA & ESA services

in OGC WCS/WCPS Web client (EarthServer + CobWeb)

WCS Short Guide :: © 2014 Peter Baumann

Real Life, Real Volume, Real Service

6 Lighthouse Applications covering Earth & Planetary Sciences

Established data centers adding EarthServer technology to service

portfolio

Summer 2014: all 20+ TB, 2x 100+ TB = 280 TB operational

WCS Short Guide :: © 2014 Peter Baumann

ChartLink

- Envitia Ltd, UK

rasdaman

- Jacobs U,

rasdaman GmbH

petascope

rasdaman

WCS+WCPS WPS+WCPS

Viewing: WPCS for Web Mapping

[ESA VAROS project, 2010]

WCS Short Guide :: © 2014 Peter Baumann

Viewing: WPCS for Web Mapping

WCS Short Guide :: © 2014 Peter Baumann

Viewing: WPCS for Web Mapping

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

54

WCS Short Guide :: © 2014 Peter Baumann

WCS goes ISO

Resolved at OGC TC meeting in Calgary, Sep 2014:

Submission of OGC coverage works to TC211 as DIS

- GMLCOV

- WCS Core

- WCS POST/XML

Rationale: Interoperability & sustainability of coverage data & services

- GMLCOV also preparing/initiating revision of 19123

- WCS 2.0 as the missing TC211 Web Coverage Service

WCS Short Guide :: © 2014 Peter Baumann

ISO 9075 Part 15: SQL/MDA

- resolved by ISO SQL WG in June 2014

- Based on rasdaman concepts & experience

n-D arrays as attributes

declarative array operationsselect id, encode(scene.band1-scene.band2)/(scene.nband1+scene.band2)), „image/tiff“ )

from LandsatScenes

where acquired between „1990-06-01“ and „1990-06-30“ and

avg( scene.band3-scene.band4)/(scene.band3+scene.band4)) > 0

Science SQL in ISO

create table LandsatScenes(

id: integer not null, acquired: date,

scene: row( band1: integer, ..., band7: integer ) array [ 0:4999,0:4999] )

WCS Short Guide :: © 2014 Peter Baumann

SWE, SOS: upstream

sensor data capturing

W*S: downstream

download, processing, visualization

SOS

WMS

WCS

WCPS

WPS...coverage

server

WCS Short Guide :: © 2014 Peter Baumann

Conclusion Coverage data = spatio-temporal regular & irregular grids, point clouds, meshes

- GMLCOV, based on ISO 19123

- Servable by many services

Web Coverage Service: from simple access to versatile analytics- Uniform interface to grids, point clouds, [meshes tbd]

- Scalable implementations: 130+ TB, 1000+ cloud nodes

See also: http://standards.rasdaman.org

[rasdaman screenshots]

WCS Short Guide :: © 2014 Peter Baumann

Document Overview Coverage data :

- 09-146r2 GML Application Schema - Coverages

- 12-100 GeoTIFF Coverage Encoding Extension

- 12-108 JPEG2000 Coverage Encoding Extension

Coverage service:- 09-110r4 WCS 2.0 Core

- 09-147r1 WCS Extension - KVP Protocol

- 09-148 WCS Extension - XML/POST Protocol

- 09-149 WCS Extension - XML/SOAP Protocol

- 13-057 WCS Transaction Extension 2.0

- 08-059 WCS Extension - ProcessCoverages 2.0

- 12-040 WCS Extension - Range Subsetting

- 12-039 WCS Extension - Scaling

- 11-053 WCS Extension - CRS

- 12-049 WCS Extension - Interpolation

Other:- 08-068r2 Web Coverage Processing Service (WCPS) Language

- 10-140 WCS Application Profile - Earth Observation

- 14-052 WCS Application Profile - MetOcean

- 11-135 CRS Name Type Specification59

www.opengeospatial.org/standards/wcs

WCS Short Guide :: © 2014 Peter Baumann

Some Relevant OGC WGs

WCS.SWG - WCS/WCPS maintenance

Coverages.DWG - exchange with all interested domains

- http://external.opengeospatial.org/twiki_public/CoveragesDWG/

Temporal.DWG - establishing semantics for time & calendars

- http://external.opengeospatial.org/twiki_public/TemporalDWG/

BigData.DWG - well...you guess it

- http://external.opengeospatial.org/twiki_public/BigDataDwg/

WCS Short Guide :: © 2014 Peter Baumann

Useful links

Wikipedia

- http://en.wikipedia.org/wiki/Coverage_data

- http://en.wikipedia.org/wiki/Web_Coverage_Service

- http://en.wikipedia.org/wiki/Web_Coverage_Processing_Service

OGC:

- http://external.opengeospatial.org/twiki_public/CoveragesDWG/

Tutorial:

- http://rasdaman.org/wiki/Workshops/BigDataRasdamanApproach

top related