docs: def get_middle_point(self):
          """
          Compute coordinates of surface middle point.
  
          The actual definition of ``middle point`` depends on the type of
          surface geometry.
  
          :return:
              instance of :class:`openquake.hazardlib.geo.point.Point`
              representing surface middle point.
          """
          lons = self.mesh.lons.squeeze()
          lats = self.mesh.lats.squeeze()
          depths = self.mesh.depths.squeeze()
          lon_bar = lons.mean()
          lat_bar = lats.mean()
          idx = np.argmin((lons - lon_bar)**2 + (lats - lat_bar)**2)
          return Point(lons[idx], lats[idx], depths[idx])