docs: def _calc_footprint(self):
          """Return rectangle in world coordinates, as GeoVector."""
          corners = [self.corner(corner) for corner in self.corner_types()]
          coords = []
          for corner in corners:
              shape = corner.get_shape(corner.crs)
              coords.append([shape.x, shape.y])
  
          shp = Polygon(coords)
          #  TODO use GeoVector.from_bounds
          self._footprint = GeoVector(shp, self.crs)
          return self._footprint