docs: def surface_projection_from_fault_data(cls, edges):
          """
          Get a surface projection of the complex fault surface.
  
          :param edges:
              A list of horizontal edges of the surface as instances
              of :class:`openquake.hazardlib.geo.line.Line`.
          :returns:
              Instance of :class:`~openquake.hazardlib.geo.polygon.Polygon`
              describing the surface projection of the complex fault.
          """
          # collect lons and lats of all the vertices of all the edges
          lons = []
          lats = []
          for edge in edges:
              for point in edge:
                  lons.append(point.longitude)
                  lats.append(point.latitude)
          lons = numpy.array(lons, dtype=float)
          lats = numpy.array(lats, dtype=float)
  
          return Mesh(lons, lats, depths=None).get_convex_hull()