Opened 8 years ago

Closed 5 years ago

#1095 closed defect (fixed)

WCS-T doesn't support CInt16

Reported by: Dimitar Misev Owned by: Bang Pham Huu
Priority: major Milestone: 10.0
Component: petascope Version: development
Keywords: Cc: Vlad Merticariu, Peter Baumann
Complexity: Medium

Description (last modified by Dimitar Misev)

While importing Sentinel 1 SLC data with wcst_import.sh:

Service Call: http://localhost:8080/rasdaman/ows?service=WCS&version=2.0.1&request=InsertCoverage&coverageRef=file:///tmp/ce86a214_1004_4b81_875a_6c7813ae6727.gml&tiling=ALIGNED [0:1023, 0:1023]&pixelDataType=CInt16&useId=existing
Error Code: InvalidParameterValue
Error Text: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ows:ExceptionReport version="2.0.0"
    xsd:schemaLocation="http://www.opengis.net/ows/2.0 http://schemas.opengis.net/ows/2.0/owsExceptionReport.xsd"
    xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
    <ows:Exception exceptionCode="InvalidParameterValue">
        <ows:ExceptionText>Pixel data type CInt16 unknown.</ows:ExceptionText>
    </ows:Exception>

</ows:ExceptionReport>

Attached is a sample tiff file.

Rasdaman supports only 64 and 128 bit complex numbers (floating point only). We should extend this, best to match the GDAL complex number types (we are missing CInt16 and CInt32): http://www.gdal.org/gdal_8h.html#a22e22ce0a55036a96f652765793fb7a4

Attachments (1)

sample.tif (459.1 KB ) - added by Dimitar Misev 8 years ago.

Download all attachments as: .zip

Change History (15)

by Dimitar Misev, 8 years ago

Attachment: sample.tif added

comment:1 by Vlad Merticariu, 8 years ago

We could map that to r_Complex, but the problem is that r_Complex is 64 bit (which is the smallest complex type rasdaman supports).

Gdal supports from 16 to 64 bit complex types: http://www.gdal.org/gdal_8h.html#a22e22ce0a55036a96f652765793fb7a4

comment:2 by Dimitar Misev, 8 years ago

Cc: Peter Baumann added

I guess it's time to add more complex types in rasdaman?

comment:3 by Peter Baumann, 8 years ago

a valid request indeed - Sentinel is important. Hope we can find resources - maybe someone from the community would like embark on this…

comment:4 by Dimitar Misev, 8 years ago

Owner: changed from Alex Dumitru to Vlad Zamfir
Status: newassigned

comment:5 by Dimitar Misev, 8 years ago

Description: modified (diff)

comment:6 by Dimitar Misev, 8 years ago

Description: modified (diff)

comment:7 by Dimitar Misev, 8 years ago

Question: how should these complex types of 16 and 32 bit (signed int) be called?

Currently we have complex = float, and complexd = double.
Any suggestion for the new type names? complexShort/complexLong? complexInt16/complexInt32?

comment:8 by Dimitar Misev, 8 years ago

Btw, can't we map this to a struct { re, im }?

comment:9 by Dimitar Misev, 7 years ago

Milestone: 9.29.4
Owner: changed from Vlad Zamfir to Dimitar Misev

comment:10 by Dimitar Misev, 7 years ago

Milestone: 9.4Future

@Vlad did you come across the same Sentinel 1 data? How did import work out?

comment:11 by Dimitar Misev, 5 years ago

Milestone: Future10.0
Owner: changed from Dimitar Misev to apercov

The goal in this task is to introduce support for CInt16 (short complex) and CInt32 (long complex).

  • qlparser/lex.ll - add the new keywords next to CFloat32/64
  • qlparser/oql.yy - add handling analogous to TCOMPLEX1 / 2
  • catalogmgr/ qlparser/ servercomm/ server/ raslib/ rasodmg/ clientcomm/ applications/rasql/ rasnetprotocol/ reladminif/ relcatalogif/ - search for COMPLEX and handle analogously the new complex types
  • systemtest/testcases_mandatory - add tests for the new complex type

comment:12 by apercov, 5 years ago

Status: assignedaccepted

comment:13 by Dimitar Misev, 5 years ago

Owner: changed from apercov to Bang Pham Huu
Status: acceptedassigned

Arsenij implemented CInt16 and CInt32 base types, and there are already CFloat32 and CFloat64 base types.

The remaining part is to update petascope/wcst_import to support these base types. There are test files in source:systemtest/testcases_mandatory/test_conversion/testdata (cint16_image.tif etc)

in reply to:  13 comment:14 by Dimitar Misev, 5 years ago

Resolution: fixed
Status: assignedclosed

Replying to dmisev:

Arsenij implemented CInt16 and CInt32 base types, and there are already CFloat32 and CFloat64 base types.

The remaining part is to update petascope/wcst_import to support these base types. There are test files in source:systemtest/testcases_mandatory/test_conversion/testdata (cint16_image.tif etc)

I'll close this ticket as duplicate of #1771

Note: See TracTickets for help on using tickets.