Opened 12 years ago
Last modified 11 years ago
#376 closed defect
Bad (and time-varying) WCPS operations results with multi-band coverages — at Initial Version
Reported by: | Piero Campalani | Owned by: | abeccati |
---|---|---|---|
Priority: | blocker | Milestone: | 9.0 |
Component: | petascope | Version: | 8.4 |
Keywords: | wcps multiband operation | Cc: | j.oosthoek@…, uagha |
Complexity: | Hard |
Description
Petascope seems to provide wrong (and different at every request) results to operations applied on multiband coverages, whether the operation is applied on a single band (it seems to return {0}
in any case) or not (weird numbers are returned).
Simple examples on the rgb
test coverage:
- AVG on 1 RGB cell (should return the cell itself?):
for m in (rgb) return encode( trim(m, {x:"CRS:1"(200:200),y:"CRS:1"(200:200)}), "csv") ==> {"242 27 103"} for m in (rgb) return encode( avg( trim(m, {x:"CRS:1"(200:200),y:"CRS:1"(200:200)}) ), "csv") ==> {"0 8.70018e-313 7.19645e-262"}
- AVG on 1 RGB cell, only the RED band (should return the single value itself):
for m in (rgb) return encode( trim(m, {x:"CRS:1"(200:200),y:"CRS:1"(200:200)}), "csv") ==> {242} for m in (rgb) return encode( avg( trim(m, {x:"CRS:1"(200:200),y:"CRS:1"(200:200)}) ), "csv") ==> {0}
- ADD over a multiple bands:
for m in (rgb) return encode( trim(m, {x:"CRS:1"(200:201),y:"CRS:1"(200:201)}), "csv") ==> {"242 27 103","242 27 103"} for m in (rgb) return encode( add( (float)trim(m, {x:"CRS:1"(200:200),y:"CRS:1"(200:201)}) ), "csv") ==> {"7.26573e-262 3.61544e-313 8.49162e-314"} ==> {"484 7563062 16"} without (float) cast ==> {"484 7563062 0"} without (float) cast
- ADD over a single band:
for m in (rgb) return encode( trim(m.red, {x:"CRS:1"(200:201),y:"CRS:1"(200:201)}), "csv") ==> {242,242} for m in (rgb) return encode( add( (float)trim(m.red, {x:"CRS:1"(200:200),y:"CRS:1"(200:201)}) ), "csv") ==> {8.10648e+16}
. Multiplication of multi-band results (but maybe this is not implemented at all):
for m in (rgb) return encode( (float)trim(m,{x:"CRS:1"(200:200),y:"CRS:1"(200:200)}) * (float)trim(m,{x:"CRS:1"(200:200),y:"CRS:1"(200:200)}), "csv") ==> Error: Could not evaluate rasdaman query: 'select csv((float)(((m[200:200,200:200])*((float)(m[200:200,200:200]))))) from rgb AS m' Cause: Error evaluating rasdaman query: 'select csv((float)(((m[200:200,200:200])*((float)(m[200:200,200:200]))))) from rgb AS m
Note:
See TracTickets
for help on using tickets.