sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Resolved] (SIS-318) Support PassThroughTransform directly into AbstractMathTransform
Date Thu, 29 Nov 2018 10:53:00 GMT


Martin Desruisseaux resolved SIS-318.
    Resolution: Won't Fix

The proposed solution would work well when the number of source and target dimensions are
the same, but would become quite complicated when they differ since all {{AbstractMathTransform}}
implementations would have to copy pass-through coordinates. To make things worst, those copies
are actually non-trivial because of {{IterationStrategy}} assumption that coordinate tuples
are converted atomically.

Furthermore the need for this performance improvement is smaller since commit 48dbf45951a41883e4f76353bce913656f1350d6,
because the new implementation compacts the coordinates before to perform a single {{subTransform.transform(…)}}
method call.

> Support PassThroughTransform directly into AbstractMathTransform
> ----------------------------------------------------------------
>                 Key: SIS-318
>                 URL:
>             Project: Spatial Information Systems
>          Issue Type: Improvement
>          Components: Referencing
>    Affects Versions: 0.5, 0.6, 0.7, 0.8
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Minor
>              Labels: performance
> Move the {{firstAffectedOrdinate}} and {{numTrailingOrdinates}} fields from {{PassThroughTransform}}
to its {{AbstractMathTransform}} parent class. Every {{AbstractMathTransform}} subclasses
should then take those fields in account. We expect no performance penalty on {{AbstractMathTransform}}
subclasses since it would just change the value in an addition which is applied anyway. On
the other hand, it may provide significant performance gain by reducing the need for the {{PassThroughTransform}},
which can hardly implement the {{transform}} method in an efficient way.
> It would also make easier to concatenate the matrices of linear transforms. In the current
implementation we lost a concatenation opportunity if one linear transform is the last {{MathTransform}}
(in a chain of a concatenated transforms) inside the {{PassThroughTransform}}, while the other
linear transform is the first {{MathTransform}} outside the {{PassThroughTransform}}. We could
move the former linear transform outside the {{PassThroughTransform}}, but it cause confusing
WKT to be formatted if the transforms inside the {{PassThroughTransform}} have a {{ContextualParameters}}.
We expect that this problem would be solved with the fix proposed in this issue.

This message was sent by Atlassian JIRA

View raw message