sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (Jira)" <j...@apache.org>
Subject [jira] [Created] (SIS-498) Replace PassthroughTransform by CompoundTransform
Date Tue, 04 Aug 2020 22:00:00 GMT
Martin Desruisseaux created SIS-498:
---------------------------------------

             Summary: Replace PassthroughTransform by CompoundTransform
                 Key: SIS-498
                 URL: https://issues.apache.org/jira/browse/SIS-498
             Project: Spatial Information Systems
          Issue Type: Task
          Components: Referencing
    Affects Versions: 1.0
            Reporter: Martin Desruisseaux


{{PassthroughTransform}} could be replaced by a new implementation, {{CompoundTransform}},
which juxtapose an arbitrary amount of {{MathTransform}} components (in a way similar to {{CompoundCRS}}
which juxtapose an arbitrary amount of {{SingleCRS}} elements). {{PassthroughTransform}} can
be understood as a special case of {{CompoundTransform}} where leading or trailing ordinates
are "transformed" by identity transforms.

The use of {{CompoundTransform}} may simplify internal mechanic and improve performances compared
to {{PassthroughTransform}}. It may be necessary to decompose {{CompoundTransform}} into synthetic
concatenation of {{PassthroughTransform}} at WKT time if we want to format an OGC 01-009 compliant
WKT string, but we are already doing this kind of exercise for map projections. Decomposition
would look like:

{noformat}
CONCAT_MT[PASSTHROUGH_MT[…], PASSTHROUGH_MT[…]]
{noformat}

h2. Existing implementation
A first draft of {{CompoundTransform}} implementation is available in the {{org.apache.sis.internal.coverage}}
package. We should complete this implementation by resolving all "TODO" comments, remove the
restriction to {{MathTransform1D}} (while keeping the {{MathTransform1D}}-based implementation
as a specialization), add a {{MathTransform2D}} implementation (can happen only with a compound
of 2 {{MathTransform1D}}), make the implementations serializable, move them as package-private
classes in {{org.apache.sis.referencing.operation.transform}} package, and defines {{PassthroughTransform}}
as a subclass for above-cited special case.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message