docs: def nearpt(positn, a, b, c):
      """
      locates the point on the surface of an ellipsoid that is nearest to a
      specified position. It also returns the altitude of the
      position above the ellipsoid.
  
      http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/nearpt_c.html
  
      :param positn: Position of a point in bodyfixed frame.
      :type positn: 3-Element Array of floats
      :param a: Length of semi-axis parallel to x-axis.
      :type a: float
      :param b: Length of semi-axis parallel to y-axis.
      :type b: float
      :param c: Length on semi-axis parallel to z-axis.
      :type c: float
      :return:
              Point on the ellipsoid closest to positn,
              Altitude of positn above the ellipsoid.
      :rtype: tuple
      """
      positn = stypes.toDoubleVector(positn)
      a = ctypes.c_double(a)
      b = ctypes.c_double(b)
      c = ctypes.c_double(c)
      npoint = stypes.emptyDoubleVector(3)
      alt = ctypes.c_double()
      libspice.nearpt_c(positn, a, b, c, npoint, ctypes.byref(alt))
      return stypes.cVectorToPython(npoint), alt.value