Grid Topology Issues List
Table of Contents
Issue: slicing between axis coordinates
Description: What is the WCS subsetting result if a slicing coordinate is between two point coordinates on that axis? See also: petascope subsetting discussion
Alternatives:
- Alt 1: empty result
- Alt 2: take nearest value
- Alt 3: interpolate between values
Discussion:
- Pro 1:
- Con 1:
Decision: Alt x.
Issue: trimming/slicing on axes not aligned with CRS axes
Description: The result of a WCS Core subsetting may not be a grid (ie, array) any more. However, the result of a subsetting, as per Core, of a gridded coverage should result in a gridded coverage again. This situation can occur if the coverage's domain grid establish axes irregular or warped or rotated wrt. the Native CRS axes.
Definition:
- Domain Grid = the grid established by the points of the domain set as expressed in the coverage's Native CRS. For Grid Coverages, this is a grid by construction.
- Index Grid = the grid established by the (integer) position of the coordinate positions in relation to each other. Index Grid and Domain Grid are topologically isomorphic.
Observations:
- we believe that the origin of a coverage does not need to be inside array (as per GML 3.3)
- trimming (and slicing?) generate grids where some points need to be existent for reasons of toppology, but do not have any meaning (nor in value, nor do they have a a valid geo position)
- GetCoverage establishes an intersection of domain D and bounding Box B. Intersection must maintain grid property, which is not naturally fulfilled.
- offset vectors do not pose a problem for any coverage type (regular: offsets are the same everywhere, so position independent; irregular axes and GCPs: offsets are absolute, ie, depending on origin only and not on neighbor offset)
- this is funcitonality of the WCS Core, so it needs to be expressed in terms of Native CRS, without resorting to resampling etc.
Alternatives:
- Alt 1: reconstruct grid by omitting elements of the intersection
- Alt 2: reconstruct grid by introducing dummy nodes (like black pixels in reprojected images)
- Alt 3: reconstruct grid by including adjacent nodes outside B, including their range values
- Alt 4: reconstruct grid by including the minimal set of adjacent, but outside nodes necessary to copmlete the grid; set their range values to 0 or nil
Discussion:
- Con 1: loses data
- Con 2: dummy nodes also have no valid coordinates (offset vectors or GCPs!), not only invalid data
- Con 3: includes data "not wanted"
Decision: Alt x.