docstr: Split a LineString with a MultiPoint
docstr_tok: ["Split","a","LineString","with","a","MultiPoint"]
code: def _split_line_with_multipoint(line, splitter):
      """Split a LineString with a MultiPoint"""
  
      if not isinstance(line, LineString):
          raise GeometryTypeError("First argument must be a LineString")
      if not isinstance(splitter, MultiPoint):
          raise GeometryTypeError(
              "Second argument must be a MultiPoint"
          )
  
      chunks = [line]
      for pt in splitter.geoms:
          new_chunks = []
          for chunk in filter(lambda x: not x.is_empty, chunks):
              # add the newly split 2 lines or the same line if not split
              new_chunks.extend(
                  SplitOp._split_line_with_point(chunk, pt)
              )
          chunks = new_chunks
  
      return chunks
  
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 4 for calling the SplitOp obj's underlying member method code with example usage: obj._split_line_with_multipoint(line, splitter) and returns: chunks