[geotk] Transform from EPSG 4979 to 3D CRS
Martin Desruisseaux
martin.desruisseaux at geomatys.fr
Tue May 3 07:15:10 EDT 2011
Hello Aaron
The issue is probably there:
Le 03/05/11 06:12, Aaron Braeckel a écrit :
> (...snip...)
> CoordinateReferenceSystem crs4979 = CRS.decode( "EPSG:4979" ); //3D CRS - lat,lon,ellipsoidal height
> (...snip...)
> CoordinateReferenceSystem vertCRS = CRS.decode( "EPSG:5714"); //mean sea level height
> CoordinateReferenceSystem compoundCRS = new DefaultCompoundCRS("compound", lambert, vertCRS );
> CRS.findMathTransform( crs4979, compoundCRS ); //this fails with "No transformation available from system "GeographicCRS[WGS 84]" to "CompoundCRS[ CompoundCRS ]"."
The source CRS (EPSG:4979) uses an ellipsoidal height. The target CRS uses a
"mean sea level" height (EPSG:5714). The current Geotk version doesn't know by
itself how to go from ellispoidal height to mean sea level.
I see two possible workarounds:
* Use the DefaultVerticalCRS.ELLIPSOIDAL constant instead than EPSG:5714
(easiest approach).
* Instantiate explicitely a EarthGravitationalModel
<http://www.geotoolkit.org/apidocs/org/geotoolkit/referencing/operation/transform/EarthGravitationalModel.html>
transform from ellipsoidal height to geoidal height.
There is a JIRA task for implementing automatic instantiation of
EarthGravitationalModel: http://jira.geotoolkit.org/browse/GEOTK-139
Regards,
Martin
More information about the Geotoolkit
mailing list