docs: def bounds(self, pixelbuffer=0):
          """
          Return Tile boundaries.
  
          - pixelbuffer: tile buffer in pixels
          """
          left = self._left
          bottom = self._bottom
          right = self._right
          top = self._top
          if pixelbuffer:
              offset = self.pixel_x_size * float(pixelbuffer)
              left -= offset
              bottom -= offset
              right += offset
              top += offset
          # on global grids clip at northern and southern TilePyramid bound
          if self.tp.grid.is_global:
              top = min([top, self.tile_pyramid.top])
              bottom = max([bottom, self.tile_pyramid.bottom])
          return Bounds(left, bottom, right, top)