class_docstr: For use with `rasterio.rio.helpers.write_features()`.
class_docstr_tok: ["For","use","with","`","rasterio.rio.helpers.write_features","(",")","`","."]
code: def __call__(self):
      gen = self._src.block_windows(bidx=self._bidx)
      for idx, (block, window) in enumerate(gen):
          bounds = self._normalize_bounds(
              self._src.window_bounds(window)
          )
          xmin, ymin, xmax, ymax = bounds
          yield {
              "type": "Feature",
              "id": "{0}:{1}".format(
                  os.path.basename(self._src.name), idx
              ),
              "properties": {
                  "block": json.dumps(block),
                  "window": window.todict(),
              },
              "geometry": {
                  "type": "Polygon",
                  "coordinates": [
                      [
                          (xmin, ymin),
                          (xmin, ymax),
                          (xmax, ymax),
                          (xmax, ymin),
                      ]
                  ],
              },
          }
  
file_path: rasterio/rasterio/rio/blocks.py
imports: import json
  import logging
  import os.path
  import click
  import cligj
  import rasterio
  from rasterio.rio import options
  from rasterio.rio.helpers import write_features
  from rasterio.warp import transform_bounds
label_desc: Use image node_id 4 for calling the _Collection obj's underlying member method code with example usage: obj.__call__() without return types