Opened 16 months ago
Last modified 15 months ago
#2766 assigned defect
FIX - rasql - overlay returns incorrect result when combining multiple time slices
Reported by: | Bang Pham Huu | Owned by: | Dimitar Misev |
---|---|---|---|
Priority: | major | Milestone: | 10.2 |
Component: | server | Version: | 10.2 |
Keywords: | Cc: | javierurien@… | |
Complexity: | Medium |
Description
Use the ingredients below with the tiff files provided by Javier at https://drive.google.com/drive/folders/1PS0qyIm8d1Uug7RbAQ3sOiiADFysYS4c to import testing coverage TOPSAR_irregular
{ "config": { "service_url": "http://localhost:8080/rasdaman/ows", "automated": true, "track_files": true, "subset_correction": false, "blocking": false, "mock": false, "default_null_values": [ -0.999, "*:0" ] }, "input": { "coverage_id": "TOPSAR_irregular", "paths": [ "*.tif" ] }, "recipe": { "name": "general_coverage", "options": { "wms_import": true, "scale_levels": [ 2, 4, 8 ], "import_order": "ascending", "coverage": { "crs": "OGC/0/AnsiDate?axis-label='time'@EPSG/0/4326", "metadata": { "type": "xml", "global": { "Title": "'This is the SAOCOM SSM TOPSAR coverage'" } }, "slicer": { "type": "gdal", "bands": [ { "name": "soil_moisture", "identifier": "soil_moisture", "uomCode": "m3/m3" } ], "axes": { "time": { "min": "datetime(regex_extract('${file:name}', '(.*)_([0-9]{8})([0-9]{6})_(.*)',2), 'YYYYMMDD')", "type": "ansidate", "irregular": true, "dataBound": false }, "Long": { "min": "${gdal:minX}", "max": "${gdal:maxX}", "resolution": "${gdal:resolutionX}" }, "Lat": { "min": "${gdal:minY}", "max": "${gdal:maxY}", "resolution": "${gdal:resolutionY}" } } } }, "tiling": "ALIGNED [0:0, 0:1023, 0:1023]" } } }
The output of dbinfo()
of the pyramid which will be used by the WMS GetMap requests below:
rasql -q 'select dbinfo(c, "printtiles=1") from TOPSAR_irregular_8 as c' --out string Result object 1: { "oid": "702465", "baseType": "marray <float,[D0(*:*),D1(*:*),D2(*:*)]>", "setTypeName": "TOPSAR_irregular_Set", "nullValues": "[-0.999000,-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000:0.000000]", "mddTypeName": "TOPSAR_irregular_Array", "tileNo": "51", "totalSize": "55059056", "tiling": { "tilingScheme": "aligned", "tileSize": "4194304", "tileConfiguration": "[0:0,0:1023,0:1023]", "tileDomains": [ "[1:1,-1816:-889,-749:274]", "[1:1,-1816:-889,275:500]", "[1:1,-1816:-889,501:559]", "[2:2,1044:1318,2498:3521]", "[2:2,1044:1318,3522:3748]", "[2:2,1044:2067,3749:3861]", "[2:2,1319:2342,1715:2738]", "[2:2,1319:2342,2739:2965]", "[2:2,1319:2342,2966:3076]", "[2:2,1319:2123,3077:3748]", "[2:2,2068:2123,3749:3861]", "[2:2,2343:2367,1715:2738]", "[2:2,2343:2367,2739:2965]", "[2:2,2343:2367,2966:3076]", "[3:3,-1017:-743,2537:3115]", "[3:3,-1017:6,3116:3787]", "[3:3,-1017:6,3788:3899]", "[3:3,-742:-444,1753:2217]", "[3:3,-742:281,2218:3003]", "[3:3,-742:281,3004:3115]", "[3:3,-443:544,968:1991]", "[3:3,-443:544,1992:2217]", "[3:3,7:63,3116:3787]", "[3:3,7:63,3788:3899]", "[3:3,282:308,2218:3003]", "[3:3,282:308,3004:3115]", "[1:1,-2329:-1351,2091:2151]", "[1:1,-2329:-1351,1864:2090]", "[1:1,-2329:-1351,840:1863]", "[0:0,1:951,1024:1249]", "[0:0,1:951,0:1023]", "[0:0,0:951,1250:1310]", "[0:0,0:0,1025:1249]", "[0:0,0:0,1:1024]", "[0:0,0:0,0:0]", "[0:0,-98:-51,4420:4482]", "[0:0,-98:-51,4193:4419]", "[0:0,-98:-51,3169:4192]", "[0:0,-264:711,2044:2104]", "[0:0,-264:711,1311:2043]", "[0:0,-264:-1,794:1310]", "[0:0,-420:-332,5207:5271]", "[0:0,-540:433,2105:2898]", "[0:0,-540:-265,1685:2104]", "[0:0,-1122:-332,4483:5206]", "[0:0,-1122:-99,4420:4482]", "[0:0,-1122:-99,4193:4419]", "[0:0,-1122:-99,3169:4192]", "[0:0,-1444:-421,5207:5271]", "[0:0,-1444:-1123,4980:5206]", "[0:0,-1444:-1123,3956:4979]" ] }, "index": { "type": "rpt_index", "PCTmax": "4096", "PCTmin": "2048" } }
- This WMS GetMap request works fine to combine 3 time slices
"2022-10-07", "2022-10-08" and "2022-10-09"
http://localhost:8080/rasdaman/ows?service=WMS&version=1.3.0&request=GetMap&layers=TOPSAR_irregular&bbox=-42.54421429899902,-65.61416625976562,-29.171667098999023,-55.18390145976562&time=2022-10-07/2022-10-09&width=800&height=600&crs=EPSG:4326&format=image/png&transparent=true&styles=
which generated this rasql query:
SELECT ENCODE(( ( scale( scale( ( ( c0[0,-2329:2367,-749:5271] OVERLAY c0[1,-2329:2367,-749:5271] OVERLAY c0[2,-2329:2367,-749:5271] ) ), [0:799, 0:599] ) [0:799, 0:599], [0:799, 0:599] ) ) ), "png", "{\"nodata\":[0.0]}") FROM TOPSAR_irregular_8 AS c0
The result looks like below:
- But this WMS GetMap request doesn't return correct result when it combines 4 time slices:
"2022-10-07", "2022-10-08", "2022-10-09" and "2022-10-10"
.
The generated rasql query is:
SELECT ENCODE(( ( scale( scale( ( ( c0[0,-2329:2367,-749:5271] OVERLAY c0[1,-2329:2367,-749:5271] OVERLAY c0[2,-2329:2367,-749:5271] OVERLAY c0[3,-2329:2367,-749:5271] ) ), [0:799, 0:599] ) [0:799, 0:599], [0:799, 0:599] ) ) ), "png", "{\"nodata\":[0.0]}") FROM TOPSAR_irregular_8 AS c0
and it looks like below, NOTE: all the time slices below "2022-10-10"
are not shown.
Note:
See TracTickets
for help on using tickets.
Just a FYI. I would consider it to be quite useful if an interval whose limits do not coincide with a time slice still work with the internal dates to the interval.