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 measure(self, a, b):
      a, b = Point(a), Point(b)
      _ensure_same_altitude(a, b)
      lat1, lon1 = a.latitude, a.longitude
      lat2, lon2 = b.latitude, b.longitude
  
      if not (
          isinstance(self.geod, Geodesic)
          and self.geod.a == self.ELLIPSOID[0]
          and self.geod.f == self.ELLIPSOID[2]
      ):
          self.geod = Geodesic(self.ELLIPSOID[0], self.ELLIPSOID[2])
  
      s12 = self.geod.Inverse(
          lat1, lon1, lat2, lon2, Geodesic.DISTANCE
      )["s12"]
  
      return s12
  
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 3 for calling the geodesic obj's underlying member method code with example usage: obj.measure(a, b) and returns: s12