class_docstr: Calculate the geodesic distance between points.
  
  Set which ellipsoidal model of the earth to use by specifying an
  ``ellipsoid`` keyword argument. The default is 'WGS-84', which is the
  most globally accurate model.  If ``ellipsoid`` is a string, it is
  looked up in the `ELLIPSOIDS` dictionary to obtain the major and minor
  semiaxes and the flattening. Otherwise, it should be a tuple with those
  values.  See the comments above the `ELLIPSOIDS` dictionary for
  more information.
  
  Example::
  
      >>> from geopy.distance import geodesic
      >>> newport_ri = (41.49008, -71.312796)
      >>> cleveland_oh = (41.499498, -81.695391)
      >>> print(geodesic(newport_ri, cleveland_oh).miles)
      538.390445368
code: def set_ellipsoid(self, ellipsoid):
      if isinstance(ellipsoid, str):
          try:
              self.ELLIPSOID = ELLIPSOIDS[ellipsoid]
              self.ellipsoid_key = ellipsoid
          except KeyError:
              raise Exception(
                  "Invalid ellipsoid. See geopy.distance.ELLIPSOIDS"
              )
      else:
          self.ELLIPSOID = ellipsoid
          self.ellipsoid_key = None
  
imports: from math import asin, atan2, cos, sin, sqrt
  from geographiclib.geodesic import Geodesic
  from geopy import units, util
  from geopy.point import Point
  from geopy.units import radians
label_desc: Use image node_id 2 for calling the geodesic obj's underlying member method code with example usage: obj.set_ellipsoid(ellipsoid) without return types