public static function createFromArray(array $newEllipsoid)
    {
        if (!isset($newEllipsoid['name']) || !isset($newEllipsoid['a']) || !isset($newEllipsoid['invF'])
            || 3 !== count($newEllipsoid)) {
            throw new InvalidArgumentException('Ellipsoid arrays should contain `name`, `a` and `invF` keys !');
        }

        return new self($newEllipsoid['name'], $newEllipsoid['a'], $newEllipsoid['invF']);
    }