[PROJ] Horner polynomial evaluation

Lesparre, Jochem Jochem.Lesparre at kadaster.nl
Tue Nov 21 08:23:14 PST 2023


Dear list members,

The implementation of +proj=horner is nice. I used it to reproduce a 99 year old polynomial transformation of an even older Dutch CRS published in 1827.  However, I encountered some problems with the documentation on https://proj.org/en/9.3/operations/transformations/horner.html. The order of the coefficients in the formulas and in the description of the PROJ parameters (+fwd_u and +fwd_u) seem mutually inconsistent.

Problem 1: The matrix formula (after formula 3) seems inconsistent with formula (1) and the actual implementation.


\begin{bmatrix}
     u_{0,1} + u_{0,2} U + ... & u_{1,0} + u_{1,1} U + u_{2,0} V + ... \\
     v_{1,0} + v_{1,1} V + v_{2,0} U + ... & v_{0,1} + v_{0,2} V \\
\end{bmatrix}

should be changed to:

\begin{bmatrix}
     u_{1,0} + u_{2,0} U + ... & u_{0,1} + u_{1,1} U + u_{0,2} V + ... \\
    v_{0,1} + v_{1,1} V + v_{0,2} U + ... & v_{1,0} + v_{2,0} V \\
\end{bmatrix}

Problem 2: The description of the parameters seems inconsistent with formula (1) and the actual implementation.

+fwd_u=<u_11,u_12,...,u_ij,..,u_mn>
and
+fwd_v=<v_11,v_12,...,v_ij,..,v_mn>

should be changed to:

+fwd_u=<u_00,u_10,...,u_ij,..,u_nn>
and
+fwd_v=<v_00,v_01,...,v_ij,..,v_nn>


As a result it was difficult to determine the correct order of the coefficients for +fwd_u and +fwd_v parameters. I think it would be clarifying to add a table for the order of the coefficients in the documentation (example for +deg=3):

Order of coefficients of +fwd_u:
    | x^0 | x^1 | x^2 | x^3
y^0 | 1   | 2   | 3   | 4
y^1 | 5   | 6   | 7   | -
y^2 | 8   | 9   | -   | -
y^3 | 10  | -   | -   | -

Order of coefficients of +fwd_v:
    | x^0 | x^1 | x^2 | x^3
y^0 | 1   | 5   | 8   | 10
y^1 | 2   | 6   | 9   | -
y^2 | 3   | 7   | -   | -
y^3 | 4   | -   | -   | -

Suggestion for a different implementation: Actually, I would have preferred a different order of the coefficients in the implementation, in a way that the order would be the same for +fwd_u and +fwd_v, and it would keep the first coefficients the same when increasing the degree (+deg) of the polynomial:

Order of coefficients of +fwd_u and +fwd_v:
    | x^0 | x^1 | x^2 | x^3
y^0 | 1   | 2   | 4   | 7
y^1 | 3   | 5   | 8   | -
y^2 | 6   | 9   | -   | -
y^3 | 10  | -   | -   | -

Regards, Jochem



Disclaimer:
De inhoud van deze e-mail is vertrouwelijk en uitsluitend bestemd voor de geadresseerde(n).
Gebruik, openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking van deze informatie aan derden is niet toegestaan.
Op al onze producten en diensten zijn onze algemene leveringsvoorwaarden van toepassing
[https://www.kadaster.nl/algemene-leveringsvoorwaarden].

Disclaimer:
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.
If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
Our general terms and conditions of delivery apply to all our products and services
[https://www.kadaster.com/general-terms-and-conditions].
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20231121/0ebbdc2b/attachment.htm>


More information about the PROJ mailing list