def ellps2axis(ellps_name):
    """Get semi-major and semi-minor axis from ellipsis definition.

    Parameters
    ---------
    ellps_name : str
        Standard name of ellipsis

    Returns
    -------
    (a, b) : semi-major and semi-minor axis

    """
    ellps = {'helmert': {'a': 6378200.0, 'b': 6356818.169627891}, 'intl': {
        'a': 6378388.0, 'b': 6356911.9461279465}, 'merit': {'a': 6378137.0,
        'b': 6356752.298215968}, 'wgs72': {'a': 6378135.0, 'b': 
        6356750.520016094}, 'sphere': {'a': 6370997.0, 'b': 6370997.0},
        'clrk66': {'a': 6378206.4, 'b': 6356583.8}, 'nwl9d': {'a': 
        6378145.0, 'b': 6356759.769488684}, 'lerch': {'a': 6378139.0, 'b': 
        6356754.291510342}, 'evrstss': {'a': 6377298.556, 'b': 
        6356097.550300896}, 'evrst30': {'a': 6377276.345, 'b': 
        6356075.41314024}, 'mprts': {'a': 6397300.0, 'b': 6363806.282722513
        }, 'krass': {'a': 6378245.0, 'b': 6356863.018773047}, 'walbeck': {
        'a': 6376896.0, 'b': 6355834.8467}, 'kaula': {'a': 6378163.0, 'b': 
        6356776.99208691}, 'wgs66': {'a': 6378145.0, 'b': 6356759.769488684
        }, 'evrst56': {'a': 6377301.243, 'b': 6356100.228368102},
        'new_intl': {'a': 6378157.5, 'b': 6356772.2}, 'airy': {'a': 
        6377563.396, 'b': 6356256.91}, 'bessel': {'a': 6377397.155, 'b': 
        6356078.962818189}, 'seasia': {'a': 6378155.0, 'b': 6356773.3205},
        'aust_sa': {'a': 6378160.0, 'b': 6356774.719195305}, 'wgs84': {'a':
        6378137.0, 'b': 6356752.314245179}, 'hough': {'a': 6378270.0, 'b': 
        6356794.343434343}, 'wgs60': {'a': 6378165.0, 'b': 
        6356783.286959437}, 'engelis': {'a': 6378136.05, 'b': 
        6356751.322721543}, 'apl4.9': {'a': 6378137.0, 'b': 
        6356751.796311819}, 'andrae': {'a': 6377104.43, 'b': 
        6355847.415233334}, 'sgs85': {'a': 6378136.0, 'b': 
        6356751.301568781}, 'delmbr': {'a': 6376428.0, 'b': 
        6355957.926163724}, 'fschr60m': {'a': 6378155.0, 'b': 
        6356773.3204827355}, 'iau76': {'a': 6378140.0, 'b': 
        6356755.288157528}, 'plessis': {'a': 6376523.0, 'b': 6355863.0},
        'cpm': {'a': 6375738.7, 'b': 6356666.221912113}, 'fschr68': {'a': 
        6378150.0, 'b': 6356768.337244385}, 'mod_airy': {'a': 6377340.189,
        'b': 6356034.446}, 'grs80': {'a': 6378137.0, 'b': 6356752.314140356
        }, 'bess_nam': {'a': 6377483.865, 'b': 6356165.382966326},
        'fschr60': {'a': 6378166.0, 'b': 6356784.283607107}, 'clrk80': {'a':
        6378249.145, 'b': 6356514.9658284895}, 'evrst69': {'a': 6377295.664,
        'b': 6356094.667915204}, 'grs67': {'a': 6378160.0, 'b': 
        6356774.516090714}, 'evrst48': {'a': 6377304.063, 'b': 
        6356103.038993155}}
    try:
        ellps_axis = ellps[ellps_name.lower()]
        a = ellps_axis['a']
        b = ellps_axis['b']
    except KeyError:
        raise ValueError(
            'Could not determine semi-major and semi-minor axis of specified ellipsis %s'
             % ellps_name)
    return a, b
