Opened 5 years ago

Closed 3 years ago

#281 closed defect (fixed)

WCS GML response when all dimensions of a coverage are sliced

Reported by: pcampalani Owned by: pcampalani
Priority: critical Milestone: 9.0.x
Component: petascope Version: 9.0.0
Keywords: gml slice 0D Cc: dmisev, abeccati, pbaumann
Complexity: Medium

Description

Currently, when all dimensions are sliced in a WCS GetCoverage, the gml:Envelope (in the geo-domain) and gml:GridEnvelope (in the pixel-domain) report the whole bbox of the coverage.

See:

http://localhost:8080/petascope/?service=WCS&version=2.0.0&request=GetCoverage&coverageid=mean_summer_airtemp&subset=x(115)&subset=y(-40)

As metadata on dimensions which are sliced is removed from a response, the problem is how to report a 0D single-pixel coverage in a GML response when all dimensions are sliced in the request.

Change History (13)

comment:1 Changed 5 years ago by pcampalani

  • Keywords gml slice 0D added

comment:2 Changed 5 years ago by abeccati

  • Milestone changed from 9.0 to 8.4

comment:3 Changed 5 years ago by pcampalani

Our proposed solution is to set the dimension attribute of the grid to 0 and simply leave the topology completely empty, removing the optional attributes (like srsName, srsDimension, etc.), like in the following example:

<gmlcov:RectifiedGridCoverage
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
    xmlns='http://www.opengis.net/gml/3.2'
    xmlns:gml='http://www.opengis.net/gml/3.2'
    xmlns:gmlcov='http://www.opengis.net/gmlcov/1.0'
    xmlns:swe='http://www.opengis.net/swe/2.0'
    xmlns:wcs='http://www.opengis.net/wcs/2.0' gml:id="ID"
    xsi:schemaLocation= 'http://www.opengis.net/wcs/2.0 http://schemas.opengis.net/wcs/2.0/wcsAll.xsd'>

  <domainSet>
    <RectifiedGrid dimension="0" gml:id="ID">
      <limits>
        <GridEnvelope>
          <low></low>
          <high></high>
        </GridEnvelope>
      </limits>
      <axisLabels></axisLabels>
    <gml:origin>
        <gml:Point gml:id="ID">
            <gml:pos></gml:pos>
        </gml:Point>
    </gml:origin>
    <gml:offsetVector></gml:offsetVector>
    </RectifiedGrid>
  </domainSet>

  <rangeSet>
    <DataBlock>
      <rangeParameters/>
      <tupleList>54</tupleList>
    </DataBlock>
  </rangeSet>

  <gmlcov:rangeType>
   ...  
  </gmlcov:rangeType>
</gmlcov:RectifiedGridCoverage>

comment:4 Changed 5 years ago by pcampalani

The 'dimension' attribute must be >0, so this notation is not valid.
Still discussing whether to throw an exception or not in this case.

comment:5 Changed 4 years ago by pbaumann

  • Type changed from task to defect

So, bottom line: for extracting values someone might want to do that, but current GML definition does not allow it. Suggest to return a 0D coverage, for user convenience, and accept that it will violate a minor GML coverage rule.

comment:6 Changed 4 years ago by pcampalani

  • Resolution set to fixed
  • Status changed from new to closed

Ticket addressed in changeset:8a14df2.

Last edited 3 years ago by pcampalani (previous) (diff)

comment:7 Changed 3 years ago by pcampalani

  • Complexity set to Very Hard
  • Resolution fixed deleted
  • Status changed from closed to reopened

Re-opening since full-slicing is broken on referenceable grids.

comment:8 Changed 3 years ago by pcampalani

  • Complexity changed from Very Hard to Medium
  • Milestone changed from 8.4 to 9.0.x
  • Status changed from reopened to accepted
  • Version changed from 8.3 to 9.0.0

comment:9 Changed 3 years ago by pcampalani

  • Resolution set to fixed
  • Status changed from accepted to closed

0D GML encoding for referenceable grids fixed in changeset:d5eca14.

comment:10 Changed 3 years ago by pcampalani

  • Resolution fixed deleted
  • Status changed from closed to reopened

Re-opening as:

  • having dimension attribute to 0 is not complaint, as said already in comment:4
  • it seems a valid (compliant) and also more elegant solution to provide an empty domain set in case of 0-dimensional coverage.

comment:11 Changed 3 years ago by pcampalani

  • Status changed from reopened to accepted

comment:12 Changed 3 years ago by pcampalani

  • Priority changed from minor to critical

Raising priority since this breaks WCS compliance (patch submitted already anyway).

comment:13 Changed 3 years ago by pcampalani

  • Resolution set to fixed
  • Status changed from accepted to closed

0D domain set fixed in changeset:2cd0654.

Note: See TracTickets for help on using tickets.