Hi Julien, I'm not a GIS expert either, so I don't know if this is the cause, but I think you can try to pass in the correct WKT as a string with the following call:
CRS.parseWKT(...) Instead of calling CRS.decode Perhaps you can try that and see if the results are more like you'd expect. Hope this helps, Yaniv On Thu, Jul 9, 2020 at 2:11 PM Julien Bluteau via GeoTools-GT2-Users < geotools-gt2-users@lists.sourceforge.net> wrote: > Hi all, > > I am using geotools to convert coordinates for seismic data. I've never > had any issue before but this week I had to convert data using EPSG 22192 > and got wrong results (my data is supposed to be onshore Argentina and > ended up close to the antartic). > > Geotools does the following conversion (EPSG 22192 -> EPSG 4326) > > x = 2572506.0 -> Lat = -57.53722563 > y = 5757839.0 -> Lon = -38.73009392 > > The correct conversion (according to epsg.io > http://epsg.io/transform#s_srs=22192&t_srs=4326&x=2572506.0000000&y=5757839.0000000 > should > be) > Transform coordinates - GPS online convertor > <http://epsg.io/transform#s_srs=22192&t_srs=4326&x=2572506.0000000&y=5757839.0000000> > Transform your coordinates online easily with epsg.io Transform > coordinates Online convertor for lat & long coordinates, geodetic datums > and projected systems > epsg.io > > Lat = -38.328903 > Lon = -68.1718113 > > After digging through the source code I found that WKT are defined (at > least) under > https://raw.githubusercontent.com/geotools/geotools/master/modules/plugin/epsg-wkt/src/main/resources/org/geotools/referencing/epsg/wkt/epsg.properties > > I then compared it to the definition on https://epsg.io/22192 and found > different values. > > Definition from Geotools: > > PROJCS["Campo Inchauspe / Argentina 2", > GEOGCS["Campo Inchauspe", > DATUM["Campo Inchauspe", > SPHEROID["International 1924", 6378388.0, 297.0, > AUTHORITY["EPSG","7022"]], > TOWGS84[-154.5,150.7,100.4,0.0,0.0, 0.0,0.0], > AUTHORITY["EPSG","6221"]], > PRIMEM["Greenwich",0.0, > AUTHORITY["EPSG","8901"]], > UNIT["degree",0.017453292519943295], > AXIS["Geodetic longitude",EAST], > AXIS["Geodetic latitude",NORTH], > AUTHORITY["EPSG","4221"]], > PROJECTION["Transverse_Mercator", > AUTHORITY["EPSG","9807"]], > PARAMETER["central_meridian", -69.0], > PARAMETER["latitude_of_origin",-90.0], > PARAMETER["scale_factor",1.0], > PARAMETER["false_easting",2500000.0], > PARAMETER["false_northing",0.0], > UNIT["m",1.0], > AXIS["Easting",EAST], > AXIS["Northing",NORTH], > AUTHORITY["EPSG","22192"]] > > Definition from epsg.io: > > PROJCS["Campo Inchauspe / Argentina 2", > GEOGCS["Campo Inchauspe", > DATUM["Campo_Inchauspe", > SPHEROID["International 1924",6378388,297, > AUTHORITY["EPSG","7022"]], > TOWGS84[-148,136,90,0,0,0,0], > AUTHORITY["EPSG","6221"]], > PRIMEM["Greenwich",0, > AUTHORITY["EPSG","8901"]], > UNIT["degree",0.0174532925199433, > AUTHORITY["EPSG","9122"]], > AUTHORITY["EPSG","4221"]], > PROJECTION["Transverse_Mercator"], > PARAMETER["latitude_of_origin",-90], > PARAMETER["central_meridian",-69], > PARAMETER["scale_factor",1], > PARAMETER["false_easting",2500000], > PARAMETER["false_northing",0], > UNIT["metre",1, > AUTHORITY["EPSG","9001"]], > AUTHORITY["EPSG","22192"]] > > I am not an expert in coordinate system. Would this difference be the > cause of my issue? If so, how can I fix this (scala code that depends on > geospark, a package that uses geotools)? > > Is there anything in my code below (scala) that is wrong otherwise? > > val sourceCRS = CRS.decode(s"EPSG:22192") > val targetCRS = CRS.decode(s"EPSG:4326") > val transform = CRS.findMathTransform(sourceCRS, targetCRS, true) > > val cdp_x = 2572506.0 > val cdp_y = 5757839.0 > > val ptSrc = new DirectPosition2D(sourceCRS, cdp_x, cdp_y) > val ptDst = new DirectPosition2D() > > transform.transform(ptSrc, ptDst) > println(ptDst.getCoordinate()(0)) > println(ptDst.getCoordinate()(1)) > Campo Inchauspe / Argentina 2 - EPSG:22192 <https://epsg.io/22192> > EPSG:22192 Projected coordinate system for Argentina - between 70°30'W and > 67°30'W, onshore. Large and medium scale topographic mapping and > engineering survey. > epsg.io > Thanks, > Julien Bluteau > _______________________________________________ > GeoTools-GT2-Users mailing list > GeoTools-GT2-Users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > -- Best regards, *Yaniv Ben-Yosef* *CTO, Milan InnoVincY B.V.* *M* +972(54)670 9743 | *S* yaniv.benyosef | *E* ybyo...@m-innovincy.com <ybyo...@m-innovincy.com> *The Netherlands* | Kapteynstraat 1 | 2201BB NOORDWIJK *Rwanda* | *AgriLift Ltd* | KG 536 Axiom Building, behind Telecom House | KIGALI *Confidential - Do not duplicate or distribute without written permission from Milan Innovincy B.V© Milan Innovincy B.V, 2017. Any third party right are hereby acknowledged. All rights reserved. Please consider the environment – do you really need to print this email?*
_______________________________________________ GeoTools-GT2-Users mailing list GeoTools-GT2-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users