result = new Ellipsoid( semiMajorAxis, Math.sqrt( eccentricitySquared ), Unit.METRE,
CRSCodeType.valueOf( id ), name, version, description, areaOfUse );
} else if ( !Double.isNaN( eccentricity ) ) {
result = new Ellipsoid( semiMajorAxis, eccentricity, Unit.METRE, CRSCodeType.valueOf( id ), name,
version, description, areaOfUse );
} else if ( !Double.isNaN( inverseFlattening ) ) {
result = new Ellipsoid( semiMajorAxis, Unit.METRE, inverseFlattening, CRSCodeType.valueOf( id ), name,
version, description, areaOfUse );
} else if ( !Double.isNaN( semiMinorAxis ) ) {
result = new Ellipsoid( Unit.METRE, semiMajorAxis, semiMinorAxis, CRSCodeType.valueOf( id ), name,
version, description, areaOfUse );
} else {
LOG.debug( "Only a semimajor defined, assuming a sphere (instead of an ellipsoid) is to be created." );
result = new Ellipsoid( Unit.METRE, semiMajorAxis, semiMajorAxis, CRSCodeType.valueOf( id ), name,
version, description, areaOfUse );