Dear Apache SIS developers,

I am currently using the Apache SIS implementation of Hotine Oblique Mercator 
(variant B) together with the EPSG dataset 9.5.4<epsg-registry.org>  to 
transform coordinates from WGS84 to EPSG:2056. For example, (46.218,  9.584) -> 
(2765526.380321678, 1120768.5597209763). I compared the transformed coordinates 
with the results obtained from 
epsg.io<http://epsg.io/transform#s_srs=4326&t_srs=2056&x=9.5840000&y=46.2180000>
 and there is a difference of about 4 cm in the x coordinate. I also tried the 
Hotine Oblique Mercator (variant A) to transform coordinates from WGS84 to 
EPSG:26731 and the results (2989681.1749542374, 1436932.9791579489) are similar 
to the ones provided by 
epsg.io<http://epsg.io/transform#s_srs=4326&t_srs=26731-1176&x=-132.1920000&y=55.7580000>.

I looked at the implementation of 
ObliqueMercator<https://github.com/apache/sis/blob/geoapi-4.0/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ObliqueMercator.java>
 and compared the formulas to the ones mentioned in IOGP Publication 373-7-2 – 
Geomatics Guidance Note number 7, part 2 – August 2018 (Coordinate Conversions 
& Transformations including Formulas). Could you please tell me why the methods 
ObliqueMercator.transform and ObliqueMercator.inverseTransform do not consider 
the differences between variant A and variant B described in the mentioned 
document (see Page 60-61 Forward case – computation of u and Reverse case – 
computation of  v’ and u’). Could this cause the differences between the 
coordinates transformed with Apache SIS and the ones obtained from espg.io 
which I mentioned before?

Thank you in advance!

Best regards,
Andreea Plocon

Reply via email to