From commits-return-13776-apmail-sis-commits-archive=sis.apache.org@sis.apache.org Tue Aug 4 22:00:02 2020 Return-Path: X-Original-To: apmail-sis-commits-archive@www.apache.org Delivered-To: apmail-sis-commits-archive@www.apache.org Received: from mailroute1-lw-us.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by minotaur.apache.org (Postfix) with ESMTP id 384731A735 for ; Tue, 4 Aug 2020 22:00:02 +0000 (UTC) Received: from mail.apache.org (localhost [127.0.0.1]) by mailroute1-lw-us.apache.org (ASF Mail Server at mailroute1-lw-us.apache.org) with SMTP id C915D124E23 for ; Tue, 4 Aug 2020 22:00:01 +0000 (UTC) Received: (qmail 30050 invoked by uid 500); 4 Aug 2020 22:00:01 -0000 Delivered-To: apmail-sis-commits-archive@sis.apache.org Received: (qmail 30029 invoked by uid 500); 4 Aug 2020 22:00:01 -0000 Mailing-List: contact commits-help@sis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sis-dev@sis.apache.org Delivered-To: mailing list commits@sis.apache.org Received: (qmail 30020 invoked by uid 99); 4 Aug 2020 22:00:01 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Aug 2020 22:00:01 +0000 Received: from jira-he-de.apache.org (static.172.67.40.188.clients.your-server.de [188.40.67.172]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id A079F43589 for ; Tue, 4 Aug 2020 22:00:00 +0000 (UTC) Received: from jira-he-de.apache.org (localhost.localdomain [127.0.0.1]) by jira-he-de.apache.org (ASF Mail Server at jira-he-de.apache.org) with ESMTP id 1DC28780209 for ; Tue, 4 Aug 2020 22:00:00 +0000 (UTC) Date: Tue, 4 Aug 2020 22:00:00 +0000 (UTC) From: "Martin Desruisseaux (Jira)" To: commits@sis.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (SIS-498) Replace PassthroughTransform by CompoundTransform MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 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, {{Compo= undTransform}}, which juxtapose an arbitrary amount of {{MathTransform}} co= mponents (in a way similar to {{CompoundCRS}} which juxtapose an arbitrary = amount of {{SingleCRS}} elements). {{PassthroughTransform}} can be understo= od as a special case of {{CompoundTransform}} where leading or trailing ord= inates 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 {{Passthrou= ghTransform}} 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[=E2=80=A6], PASSTHROUGH_MT[=E2=80=A6]] {noformat} h2. Existing implementation A first draft of {{CompoundTransform}} implementation is available in the {= {org.apache.sis.internal.coverage}} package. We should complete this implem= entation by resolving all "TODO" comments, remove the restriction to {{Math= Transform1D}} (while keeping the {{MathTransform1D}}-based implementation a= s a specialization), add a {{MathTransform2D}} implementation (can happen o= nly with a compound of 2 {{MathTransform1D}}), make the implementations ser= ializable, move them as package-private classes in {{org.apache.sis.referen= cing.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)