Introduction to Database Systems

Download Report

Transcript Introduction to Database Systems

Proposal for a
Web Coverage Processing Service
(WCPS)
OGC, Huntsville, 2006-mar-08
Peter Baumann
International University Bremen,
rasdaman GmbH
email: [email protected]
WCPS :: OGC Huntsville, 2006-mar-08
Roadmap
 Motivation
 WCPS Concepts
 WCPS Functionality
 Wrapup
WCPS :: OGC Huntsville, 2006-mar-08
2
Roadmap
 Motivation
 WCPS Concepts
 WCPS Functionality
 Wrapup
WCPS :: OGC Huntsville, 2006-mar-08
3
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
WCPS :: OGC Huntsville, 2006-mar-08
4
WCPS Design Goals
 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 :: OGC Huntsville, 2006-mar-08
5
Roadmap
 Motivation
 WCPS Concepts
 WCPS Functionality
 Wrapup
WCPS :: OGC Huntsville, 2006-mar-08
6
WCPS Concepts
 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
• ProcessCoverage
WCPS :: OGC Huntsville, 2006-mar-08
-- WCS + processing capabilities
-- request expression, referencing advertised coverages
7
Coverage Constituents
 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
•
•
•
•
direct access,
no encapsulation
Name (stored covg only)
Cell domain: ordered list of (lo,hi); lo,hi int
Null value
Application data
geo descriptors
Interpolation methods
 Level 0: coverage data
• Coverage values
WCPS :: OGC Huntsville, 2006-mar-08
tech meta data
coverage data
8
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
WCPS :: OGC Huntsville, 2006-mar-08
9
Roadmap
 Motivation
 WCPS Concepts
 WCPS Functionality
 Wrapup
WCPS :: OGC Huntsville, 2006-mar-08
10
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) )
WCPS :: OGC Huntsville, 2006-mar-08
11
Processing I
C: coverage valued expression
 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
WCPS :: OGC Huntsville, 2006-mar-08
12
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
WCPS :: OGC Huntsville, 2006-mar-08
13
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
WCPS :: OGC Huntsville, 2006-mar-08
14
Language & Encoding
 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>
WCPS :: OGC Huntsville, 2006-mar-08
15
Roadmap
 Motivation & idea
 WCPS Concepts
 WCPS Functionality
 Wrapup
WCPS :: OGC Huntsville, 2006-mar-08
16
Status & Future Work

Spec + XML Schemas
• published: OGC 06-035

Reference implementation
• Break-through: done, full: under way
[Georgi Chulkov]
• rasdaman + JSP

To do:
• Harmonization
• WCS 1.1; GML; ISO 19123; WPS; Filter
Encoding
• Raster terminology
• Use cases
• Conformance clause
• Visual QL Web client [Ivan Delchev]

Concepts proven in geo, life science, Grid
• in operational use since 5 years
WCPS :: OGC Huntsville, 2006-mar-08
17
Conclusion
 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
WCPS :: OGC Huntsville, 2006-mar-08
18