class_docstr: A single logical entry from a shapefile, combining the attributes with
  their associated geometry.
class_docstr_tok: ["A","single","logical","entry","from","a","shapefile",",","combining","the","attributes","with","their","associated","geometry","."]
code: def __init__(self, shape, attributes, fields):
      self._shape = shape
  
      self._bounds = None
      # if the record defines a bbox, then use that for the shape's bounds,
      # rather than using the full geometry in the bounds property
      if hasattr(shape, "bbox"):
          self._bounds = tuple(shape.bbox)
  
      self._geometry = None
      """The cached geometry instance for this Record."""
  
      self.attributes = attributes
      """A dictionary mapping attribute names to attribute values."""
  
      self._fields = fields
  
imports: import io
  import itertools
  from pathlib import Path
  from urllib.error import HTTPError
  import shapefile
  import shapely.geometry
  from cartopy import config
  from cartopy.io import Downloader
label_desc: Use image node_id 1 to create a new Record object  with example: obj = Record(shape, attributes, fields)