docs: def azimuth(lons1, lats1, lons2, lats2):
      """
      Calculate the azimuth between two points or two collections of points.
  
      Parameters are the same as for :func:`geodetic_distance`.
  
      Implements an "alternative formula" from
      http://williams.best.vwh.net/avform.htm#Crs
  
      :returns:
          Azimuth as an angle between direction to north from first point and
          direction to the second point measured clockwise in decimal degrees.
      """
      lons1, lats1, lons2, lats2 = _prepare_coords(lons1, lats1, lons2, lats2)
      cos_lat2 = numpy.cos(lats2)
      true_course = numpy.degrees(numpy.arctan2(
          numpy.sin(lons1 - lons2) * cos_lat2,
          numpy.cos(lats1) * numpy.sin(lats2)
          - numpy.sin(lats1) * cos_lat2 * numpy.cos(lons1 - lons2)
      ))
      return (360 - true_course) % 360