Opened 4 years ago
Closed 4 years ago
#2381 closed enhancement (fixed)
Petascope - supports WCPS's decode() operator
Reported by: | Bang Pham Huu | Owned by: | Bang Pham Huu |
---|---|---|---|
Priority: | major | Milestone: | 10.0 |
Component: | petascope | Version: | 9.8 |
Keywords: | Cc: | ||
Complexity: | Medium |
Description
rasql knows positional parameters which can actually refer to arrays passed as an argument to a query, together with a decode() function.
This should be made available in WCPS as well, for example in a POST request providing a NetCDF file for direct input:
for $s in (storedCoverage), $p in ( decode($1, "netcdf" ) ) return max( $s - $p )
The WCS-Processing standard defines a pure GET/KVP and a pure POST alternative, with POST however bound to XML structures (which we do not want any longer these days). So we need to deviate from the standard, it is not really practical.
So let us define WCPS query parameter support as is reasonable today:
- ProcessCoverages request receives a mandatory query parameter and optionally number parameters
- A query parameter has key
query
orq
and can be sent via GET or POST; however, any request may contain only one query. - Position parameters have natural numbers as keys; no number may appear twice, and only those numbers mentioned in a query
$
parameter may occur. - Semantics of such a request is: key
i
replaces formal query parameter$i
- in the implementation, coverage-valued parameters are passed to rasql as
$
parameters
Example:
curl -F "query=for $c in () return ... decode($1, \"$2\")" -F "1=fileContents" -F "2=image/jpeg" "http://localhost:8080/rasdaman/ows?service=WCS&version=2.1.0&request=ProcessCoverages"
roadmap:
- stage 1: single coverage-valued parameter, supporting only 2D GeoTIFF
- later stage: multiple parameters, more coverage types (as far as can be recognized)
Change History (2)
comment:1 by , 4 years ago
Summary: | Petascope - supports WCPS's encode() operator → Petascope - supports WCPS's decode() operator |
---|
comment:2 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |