Uploaded image for project: 'Spatial Information Systems'
  1. Spatial Information Systems
  2. SIS-498

Replace PassthroughTransform by CompoundTransform

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.0
    • None
    • Referencing
    • None

    Description

      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:

      CONCAT_MT[PASSTHROUGH_MT[…], PASSTHROUGH_MT[…]]
      

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              desruisseaux Martin Desruisseaux
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: