WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC,...

18
WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University Bremen, rasdaman GmbH email: [email protected]

Transcript of WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC,...

Page 1: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

WCPS :: OGC Huntsville, 2006-mar-08

Proposal for a Web Coverage Processing Service(WCPS)

OGC, Huntsville, 2006-mar-08

Peter Baumann

International University Bremen,rasdaman GmbH

email: [email protected]

Page 2: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

2WCPS :: OGC Huntsville, 2006-mar-08

Roadmap

Motivation

WCPS Concepts

WCPS Functionality

Wrapup

Page 3: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

3WCPS :: OGC Huntsville, 2006-mar-08

Roadmap

Motivation

WCPS Concepts

WCPS Functionality

Wrapup

Page 4: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

4WCPS :: OGC Huntsville, 2006-mar-08

Motivation

WCS is foundation for coverage retrieval

...but further server-side processing capabilities desirable• WCS change requests!

• Ex: NDVI from multi/hyperspectral imagery

adding more and more WCS functions not feasible• Open-ended list of derivations – which to choose?

...instead: coverage processing language• Function nesting -> any complexity

• Server-side optimization possible

Page 5: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

5WCPS :: OGC Huntsville, 2006-mar-08

coverage retrieval and processing, based on WCS• unlimited nesting -> expression language

• Declarative = describe what you want, not how to compute

• Not to substitute image processing!

rigid formal definition for clear semantics• Drawing upon imaging, DB, PL experience

Application beyond geo(graphy): geophysics, engineering, …

Any dimension; not restricted to spatio-temporal semantics

powerful, but safe• “safe in evaluation” = operations terminate in finite time

• No recursion

WCPS Design Goals

Page 6: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

6WCPS :: OGC Huntsville, 2006-mar-08

Roadmap

Motivation

WCPS Concepts

WCPS Functionality

Wrapup

Page 7: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

7WCPS :: OGC Huntsville, 2006-mar-08

WPCS Coverage corresponds to WCS Coverage

raster array + metadata

Operations read coverages, combine coverages, return coverages• ...or ancillary coverage data

• includes WCS operations; nesting allows arbitrary complexity

Request structure• GetCapabilities -- WCS + processing capabilities

• ProcessCoverage -- request expression, referencing advertised coverages

WCPS Concepts

Page 8: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

8WCPS :: OGC Huntsville, 2006-mar-08

Level 3: general meta data („everything else“; application dependent)

Level 2: spatio-temporal metadata• Domain: list of (AxisName,DomainExtent,AxisType)

• CRS

• Range: ordered list of (CompName,TypeName)

Level 1: technical meta data• Name (stored covg only)

• Cell domain: ordered list of (lo,hi); lo,hi int

• Null value

• Interpolation methods

Level 0: coverage data• Coverage values

Coverage Constituents

coverage data

tech meta data

geo descriptors

Application data

direct access, no encapsulation

Page 9: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

9WCPS :: OGC Huntsville, 2006-mar-08

Spatio-Temporal Semantics

Level 1: "grid" coords• axis identified by

position number 0,1,...

• Addressing by (signed) int coordinates

Level 2: spatio-temporal coords• Axis name, unique per coverage

• Axis type, can be spatial/temporal• At most one x, y, z, t• Abstract axes possible

• CRS / geo coordinate refer to x/y spatial axes, time operations refer to t axis

Page 10: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

10WCPS :: OGC Huntsville, 2006-mar-08

Roadmap

Motivation

WCPS Concepts

WCPS Functionality

Wrapup

Page 11: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

11WCPS :: OGC Huntsville, 2006-mar-08

WCPS Requests

GetCapabilities• Like WCS, just some additional info

ProcessCoverage• Returns: 1..n coverages or scalar data

• Syntax close to XQuery: for c in ( coverageList )[ where condition(c) ]return processingExpr(c)

• Example: for c in ( A, B, C )return encode( c, "TIFF" )

( tiff(A), tiff(B), tiff(C) )

Page 12: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

12WCPS :: OGC Huntsville, 2006-mar-08

Processing I

Metadata extraction null( C ); crs( C ); ...

Encoding encode( C, "jpeg", .5 )

Induced operations C1 + C2; C1 > 0; abs( C ); ...

Subsetting C[ x0:x1, y0:y1 ]; C[ x0:x1, y0 ]; C[ x0, y0 ]; ...• Level 1 x0,x1,y0 are integer cell coordinates

Scaling scale(scale( C, 1, y0, y1, "nearest neighbor" ),

0, x0, x1, "nearest neighbor")

• again, Level 1 axis & coordinates are integers

C: coverage valued expression

Page 13: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

13WCPS :: OGC Huntsville, 2006-mar-08

Processing II

spatial transform stransform( C, p, “EPSG:42424“ ) • returns Level 1 "grid" coordinate of p in C

temporal transform ttransform( C, “Thu Nov 24 01:33:27 CET 2005“ ) • returns Level 1 "grid" coordinate of t in C

reprojection ctransform( C, “EPSG:42424“, "barycentric" ) • returns new coverage

Page 14: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

14WCPS :: OGC Huntsville, 2006-mar-08

Processing III

Coverage constructor coverage p in cdom( C ) values C[p] / 2

Condenser condense + over x in [1..99] using abs(C[x] – C[x-1])

• Shorthands: add( C ), count( C ), max( C ), some( C ), all( C ), ...

Ex: 8-bit histogram• coverage bucket in [0..255]

values count( C = bucket )

For the theory behind & operator choice see, eg, VLDB Journal 1994, NGITS 1999

Page 15: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

15WCPS :: OGC Huntsville, 2006-mar-08

WCPS language expressions independent from encoding• encode( C.red + C.nir, "Tiff" )

KVP encoding: WCPS language + entities where needed• http://myhost/myservice ? SERVICE=WCPS & VERSION=0.0.1 & REQUEST=ProcessCoverage

& RESULT=encode(C.red%20+%20C.nir,%20%22Tiff%22) & STORE=true & EXCEPTIONS=application/vnd.ogc.se_xml

XML encoding: XML Schema• <formatEncoding format="tiff" params="">

<binaryPlus><structSelection component=„red“ coverage=„C“/><structSelection component=„nir“ coverage=„C“/>

</binaryPlus></formatEncoding>

Language & Encoding

Page 16: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

16WCPS :: OGC Huntsville, 2006-mar-08

Motivation & idea

WCPS Concepts

WCPS Functionality

Wrapup

Roadmap

Page 17: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

17WCPS :: OGC Huntsville, 2006-mar-08

Status & Future Work

Spec + XML Schemas

• published: OGC 06-035

Reference implementation

• Break-through: done, full: under way[Georgi Chulkov]

• rasdaman + JSP

• Visual QL Web client [Ivan Delchev]

Concepts proven in geo, life science, Grid

• in operational use since 5 years

To do:

• Harmonization• WCS 1.1; GML; ISO 19123; WPS; Filter

Encoding• Raster terminology

• Use cases

• Conformance clause

Page 18: WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC, Huntsville, 2006-mar-08 Peter Baumann International University.

18WCPS :: OGC Huntsville, 2006-mar-08

WCPS = WCS + coverage processing expression language• Geography + geophysics + engineering + ...

• Flexible, complex server-side data extraction (up to filter kernels)

• Clear semantics definition

Suggestion to WG: Propose to TC as Discussion Paper• Interest articulated

by NASA, BEA, Cubewerx, Ionic

Conclusion