code: def get_width(self):
          
          areas = self._get_areas()
          widths = numpy.array([surf.get_width() for surf in self.surfaces])
  
          return numpy.sum(areas * widths) / numpy.sum(areas)
docs: Compute width of each surface element, and return area-weighted
          average value (in km).