WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC,...
-
Upload
megan-baker -
Category
Documents
-
view
218 -
download
2
Transcript of WCPS :: OGC Huntsville, 2006-mar-08 Proposal for a Web Coverage Processing Service (WCPS) OGC,...
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]
2WCPS :: OGC Huntsville, 2006-mar-08
Roadmap
Motivation
WCPS Concepts
WCPS Functionality
Wrapup
3WCPS :: OGC Huntsville, 2006-mar-08
Roadmap
Motivation
WCPS Concepts
WCPS Functionality
Wrapup
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
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
6WCPS :: OGC Huntsville, 2006-mar-08
Roadmap
Motivation
WCPS Concepts
WCPS Functionality
Wrapup
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
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
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
10WCPS :: OGC Huntsville, 2006-mar-08
Roadmap
Motivation
WCPS Concepts
WCPS Functionality
Wrapup
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) )
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
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
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
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
16WCPS :: OGC Huntsville, 2006-mar-08
Motivation & idea
WCPS Concepts
WCPS Functionality
Wrapup
Roadmap
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
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