>
>Its look like that ""S-JTSK (Ferro)" really don't have TOWGS84 parameters
>defined in the EPSG database. Or maybe there is some but the epsg-hsql
>plugin missed then. If you can find such parameter in the EPSG database or
>if you can send us by email a transformation path that Geotools should have
>found, it would be a bug in the referencing module that I would try to fix.
>

GEOCS 4818 - S-JTSK (Ferro) - as such - really doesn't have TOWGS84 parameters, 
but its transformation into the WGS84 is defined (in EPSG database) as a 
concatenated through related GEOCS 4156 which has TOWGS84 parameters. 
Transformation from 4818 to 4326 (really  defined in EPSG – not found by 
Geotools) has two steps – in first step the prime meridian is changed 
from Ferro to Greenwich (from GEOCS 4818 S-JTSK (Ferro) to GEOCS 4156 S-JTSK 
(Greenwich)) and then the TOWGS84 parameters defined for 4156->4326 are used. 
The meaning of this might be to have Bursa Wolf parameters defined only once in 
EPSG (since GEOCS 4818 and GEOCS 4156 are same CRSs expect prime meridian). So 
there is the way in EPSG database how to transform 4818 to 4326 correctly. So 
for example when I would like to transform from 4818 to 4324 than we have the 
intermediate system (4326).

It look like this:

4181 <EPSG Conacatenated transformation > 4326 <EPSG Position Vector> 4324

EPSG ( really  defined in EPSG &#8211; not found by Geotools) Concatenated 
transformation from 4181 to 4326 looks like this:

1. step changes p.m. and tranform to 4156
PARAM_MT["Affine", 
    PARAMETER["num_row", 3], 
    PARAMETER["num_col", 3], 
    PARAMETER["elt_0_2", -17.666666666666668]]]
2. step transformation 4156 to 4326 by well defined bursa wolf parameters.
PARAM_MT["Ellipsoid_To_Geocentric", 
    PARAMETER["dim", 2], 
    PARAMETER["semi_major", 6377397.155], 
    PARAMETER["semi_minor", 6356078.962818189]], 
  PARAM_MT["Position Vector 7-param. transformation", 
    PARAMETER["dx", 570.8], 
    PARAMETER["dy", 85.7], 
    PARAMETER["dz", 462.8], 
    PARAMETER["ex", 4.998], 
    PARAMETER["ey", 1.587], 
    PARAMETER["ez", 5.261], 
    PARAMETER["ppm", 3.55999999990253]], 
  PARAM_MT["Geocentric_To_Ellipsoid", 
    PARAMETER["dim", 2], 
    PARAMETER["semi_major", 6378137.0], 
    PARAMETER["semi_minor", 6356752.314245179]]]

And then we can transform easily to from 4326 to 4324 and that it is what 
Geotools should find.
So there is transformation from 4818 to 4326. There is transformation from 4326 
to 4324, but no (precise) transformation  from 4818 to 4324.

I took a look into the code and I think the problem is in on line 297 at 
DefaultGeodeticDatum  (it is DefaultGeodeticDatum.getAffineTransform(..) 
method)   where we are just checking whether Bursa Wolf parameters exists, but 
we should also check if there is some other general transformation into the 
intermediate system.

It is hard to explain for me and maybe the better way how to solve this would 
be changing the EPSG database. If you think that described problem is a 
GeoTools bug than I can try to fix it. If you think that GeoTools doesn't need 
such functionality I would try to change EPSG database. My opinion is that that 
is a bug, but on other hand the EPSG definition of EPSG:4156 is quit unclear.

Thanks.
Jan.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to