[
https://issues.apache.org/jira/browse/SIS-537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Emmanuel Giasson updated SIS-537:
---------------------------------
Summary: Oblique Stereographic: Wrong longitude in reverse transform +
suggested fix (was: wrong longitude in reverse Oblique Stereographic
transform )
> Oblique Stereographic: Wrong longitude in reverse transform + suggested fix
> ----------------------------------------------------------------------------
>
> Key: SIS-537
> URL: https://issues.apache.org/jira/browse/SIS-537
> Project: Spatial Information Systems
> Issue Type: Bug
> Components: Referencing
> Affects Versions: 1.1
> Reporter: Emmanuel Giasson
> Priority: Major
>
> The Oblique Stereographic transform projects just fine in forward, but the
> reverse transform offset almost half the longitudes by nearly 180 degrees.
> h2. Bug location and suggested fix
> Problem seems to be in
> {{org/apache/sis/referencing/operation/projection/ObliqueStereographic.java}}
> method {{inverseTransform(...)}}
> {{ ...}}
> {{ final double i = atan(x / (h + y));
> final double j = atan(x / (g - y)) - i;
> ...
> final double λ = j + 2*i}}
> EPSG Guidance notes (for instance, p.71 of
> [https://www.iogp.org/wp-content/uploads/2019/09/373-07-02.pdf)] uses atan2
> instead of atan, which effectively fix the +/- 180 degrees issue in this
> case. Actually, it's not exactly 180 degrees since {{i}} might be correct
> with either atan or atan2, and only {{j}} might be 180 degrees off.
> h2. To reproduce
> With the following transformation, project POINT(30 45) then reverse project.
> Result is POINT(-149.84855267371876 45.000000000000014)
> Param_MT["Oblique Stereographic",
> Parameter["semi_major", 6378137.0, Unit["metre", 1]],
> Parameter["semi_minor", 6356752.314245179, Unit["metre", 1]],
> Parameter["Latitude of natural origin", 45.0, Unit["degree",
> 0.017453292519943295]],
> Parameter["Longitude of natural origin", -70.0, Unit["degree",
> 0.017453292519943295]]]
--
This message was sent by Atlassian Jira
(v8.20.1#820001)