+ All Categories
Transcript
Page 1: 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

WCS Short Guide :: © 2014 Peter Baumann

Peter Baumann

Jacobs University | rasdaman GmbH

[email protected]

OGC WCS: A Short Guide

[gamingfeeds.com]

Page 2: 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

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing

Summary

2

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

7

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

WCS Short Guide :: © 2014 Peter Baumann

Sample Grid Coverage (GML)

samples for each coverage type

provided with specification bundle

Page 12: 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

WCS Short Guide :: © 2014 Peter Baumann

Sample MultiSolidCoverage

Page 13: 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

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

Page 14: 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

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!

Page 15: 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

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

Page 16: 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

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

17

Page 17: 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

WCS Short Guide :: © 2014 Peter Baumann

WCS Core

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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, ...

Page 21: 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

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“

Page 22: 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

WCS Short Guide :: © 2014 Peter Baumann

WCS Suite Big Picture

Page 23: 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

WCS Short Guide :: © 2014 Peter Baumann

WCS Extensions

Page 24: 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

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 &…

Page 25: 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

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) &…

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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")

Page 29: 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

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

Page 30: 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

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

Page 31: 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

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

Page 32: 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

WCS Short Guide :: © 2014 Peter Baumann

Application Profiles

Page 33: 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

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]

Page 34: 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

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]

Page 35: 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

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>

Page 36: 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

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

38

Page 37: 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

WCS Short Guide :: © 2014 Peter Baumann

Conformance Testing: Status

39

Page 38: 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

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

Page 39: 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

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

Page 40: 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

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

Page 41: 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

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

Page 42: 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

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

Page 43: 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

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]

Page 44: 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

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

Page 45: 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

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

Page 46: 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

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

Page 47: 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

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)

Page 48: 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

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

Page 49: 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

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]

Page 50: 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

WCS Short Guide :: © 2014 Peter Baumann

Viewing: WPCS for Web Mapping

Page 51: 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

WCS Short Guide :: © 2014 Peter Baumann

Viewing: WPCS for Web Mapping

Page 52: 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

WCS Short Guide :: © 2014 Peter Baumann

Overview

Introduction

Coverage data: the OGC Coverage Model

Coverage services: the WCS Suite

Conformance Testing & Implementations

Summary

54

Page 53: 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

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

Page 54: 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

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] )

Page 55: 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

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

Page 56: 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

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]

Page 57: 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

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

Page 58: 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

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/

Page 59: 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

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