def __init__(self, model: str = 'wgs84'):
        """
        feel free to suggest additional ellipsoids

        Parameters
        ----------
        model : str
                name of ellipsoid
        """
        if model == 'wgs84':
            """https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84"""
            self.a = 6378137.  # semi-major axis [m]
            self.f = 1 / 298.2572235630  # flattening
            self.b = self.a * (1 - self.f)  # semi-minor axis
        elif model == 'grs80':
            """https://en.wikipedia.org/wiki/GRS_80"""
            self.a = 6378137.  # semi-major axis [m]
            self.f = 1 / 298.257222100882711243  # flattening
            self.b = self.a * (1 - self.f)  # semi-minor axis
        elif model == 'clrk66':  # Clarke 1866
            self.a = 6378206.4  # semi-major axis [m]
            self.b = 6356583.8  # semi-minor axis
            self.f = -(self.b / self.a - 1)
        elif model == 'mars':  # https://tharsis.gsfc.nasa.gov/geodesy.html
            self.a = 3396900
            self.b = 3376097.80585952
            self.f = 1 / 163.295274386012
        elif model == 'moon':
            self.a = 1738000.
            self.b = self.a
            self.f = 0.
        elif model == 'venus':
            self.a = 6051000.
            self.b = self.a
            self.f = 0.
        elif model == 'pluto':
            self.a = 1187000.
            self.b = self.a
            self.f = 0.
        else:
            raise NotImplementedError('{} model not implemented, let us know and we will add it (or make a pull request)'.format(model))
def __init__ ( self , model : str = 'wgs84' ) : if model == 'wgs84' : self . a = 6378137. self . f = 1 / 298.2572235630 self . b = self . a * ( 1 - self . f ) elif model == 'grs80' : self . a = 6378137. self . f = 1 / 298.257222100882711243 self . b = self . a * ( 1 - self . f ) elif model == 'clrk66' : self . a = 6378206.4 self . b = 6356583.8 self . f = - ( self . b / self . a - 1 ) elif model == 'mars' : self . a = 3396900 self . b = 3376097.80585952 self . f = 1 / 163.295274386012 elif model == 'moon' : self . a = 1738000. self . b = self . a self . f = 0. elif model == 'venus' : self . a = 6051000. self . b = self . a self . f = 0. elif model == 'pluto' : self . a = 1187000. self . b = self . a self . f = 0. else : raise NotImplementedError ( '{} model not implemented, let us know and we will add it (or make a pull request)' . format ( model ) )
feel free to suggest additional ellipsoids

        Parameters
        ----------
        model : str
                name of ellipsoid