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)