docstr: Creates polygons from a source of lines, returning the polygons
  and leftover geometries.
  
  The source may be a MultiLineString, a sequence of LineString objects,
  or a sequence of objects than can be adapted to LineStrings.
  
  Returns a tuple of objects: (polygons, cut edges, dangles, invalid ring
  lines). Each are a geometry collection.
  
  Dangles are edges which have one or both ends which are not incident on
  another edge endpoint. Cut edges are connected at both ends but do not
  form part of polygon. Invalid ring lines form rings which are invalid
  (bowties, etc).
docstr_tok: ["Creates","polygons","from","a","source","of","lines",",","returning","the","polygons","and","leftover","geometries",".","The","source","may","be","a","MultiLineString",",","a","sequence","of","LineString","objects",",","or","a","sequence","of","objects","than","can","be","adapted","to","LineStrings",".","Returns","a","tuple","of","objects",":","(","polygons",",","cut","edges",",","dangles",",","invalid","ring","lines",")",".","Each","are","a","geometry","collection",".","Dangles","are","edges","which","have","one","or","both","ends","which","are","not","incident","on","another","edge","endpoint",".","Cut","edges","are","connected","at","both","ends","but","do","not","form","part","of","polygon",".","Invalid","ring","lines","form","rings","which","are","invalid","(","bowties",",","etc",")","."]
code: def polygonize_full(self, lines):
      """Creates polygons from a source of lines, returning the polygons
      and leftover geometries.
  
      The source may be a MultiLineString, a sequence of LineString objects,
      or a sequence of objects than can be adapted to LineStrings.
  
      Returns a tuple of objects: (polygons, cut edges, dangles, invalid ring
      lines). Each are a geometry collection.
  
      Dangles are edges which have one or both ends which are not incident on
      another edge endpoint. Cut edges are connected at both ends but do not
      form part of polygon. Invalid ring lines form rings which are invalid
      (bowties, etc).
      """
      source = getattr(lines, "geoms", None) or lines
      try:
          source = iter(source)
      except TypeError:
          source = [source]
      finally:
          obs = [self.shapeup(line) for line in source]
      return shapely.polygonize_full(obs)
  
imports: from warnings import warn
  import shapely
  from shapely.algorithms.polylabel import polylabel
  from shapely.errors import GeometryTypeError, ShapelyDeprecationWarning
  from shapely.geometry import GeometryCollection, LineString, MultiLineString, MultiPoint, Point, Polygon, shape
  from shapely.geometry.base import BaseGeometry, BaseMultipartGeometry
  from shapely.geometry.polygon import orient
  from shapely.prepared import prep
label_desc: Use image node_id 3 for calling the CollectionOperator obj's underlying member method code with example usage: obj.polygonize_full(lines) and returns: shapely