Skip to content

RFC-5: Type inconsistency on nested transform input/output #523

@btbest

Description

@btbest

Problematic section:

Omitting input/output: Coordinate transformations MUST specify their input and output coordinate systems using the input and output fields. These fields MUST correspond to the name of a coordinate system or the path to a multiscales group. Exceptions are if the coordinate transformation is wrapped in another transformation, e.g. as part of a sequence, byDimension or bijection. In these cases, the input and output fields MAY be omitted or null.

The rest of the spec is now consistent about transform input/outputs always being objects and never plain strings. This paragraph still requires input/output on nested transforms being plain strings, if not omitted.

I've mentioned before that my opinion is that they SHOULD/MUST be omitted when nested, and that would make this paragraph simple too :)

I'd otherwise recommend to require the input/output of nested transforms to follow the same constraints as their parent (i.e. depending on the multiscale/dataset/scene context).

Also, not sure anymore what to do with this issue. I thought it was a minor phrasing issue, and only realised it's a bit more substantially about actual requirements while trying to phrase out the "simple" fix.

I guess the issue remains as the inconsistency in definitions. The first rule we encounter when reading from the top is:

MUST contain the field output, which is an object with fields name and path. The output field MAY be omitted if the transformation is part of a wrapper transform (i.e., sequence, bijection, byDimension, see details).
MUST contain the field input, which is an object with fields name and path. The input field MAY be omitted if the transformation is part of a wrapper transform (i.e., sequence, bijection, byDimension, see details).

But then as we get down to the "Additional details", the input/output are specified as "MUST be a name/path".

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions