code: def get_satpos(
      orbit_polynomial, time, semi_major_axis, semi_minor_axis
  ):
      """Get satellite position in geodetic coordinates.
  
      Args:
          orbit_polynomial: OrbitPolynomial instance
          time: Timestamp where to evaluate the polynomial
          semi_major_axis: Semi-major axis of the ellipsoid
          semi_minor_axis: Semi-minor axis of the ellipsoid
  
      Returns:
          Longitude [deg east], Latitude [deg north] and Altitude [m]
      """
      x, y, z = orbit_polynomial.evaluate(time)
      geocent = pyproj.CRS(
          proj="geocent",
          a=semi_major_axis,
          b=semi_minor_axis,
          units="m",
      )
      latlong = pyproj.CRS(
          proj="latlong",
          a=semi_major_axis,
          b=semi_minor_axis,
          units="m",
      )
      transformer = pyproj.Transformer.from_crs(geocent, latlong)
      lon, lat, alt = transformer.transform(x, y, z)
      return lon, lat, alt
  
imports: from __future__ import annotations
  import warnings
  from datetime import datetime, timedelta
  import dask.array
  import numpy
  import pyproj
  from numpy.polynomial.chebyshev import Chebyshev
  from satpy.readers.eum_base import issue_revision, time_cds_short
  from satpy.readers.utils import apply_earthsun_distance_correction
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 8 for calling a global function with example usage: get_satpos(orbit_polynomial, time, semi_major_axis, semi_minor_axis) and returns: lon,  lat,  alt