code: def split(cls, dataset, start, end, datatype, **kwargs):
      objs = []
      xdim, ydim = dataset.kdims[:2]
      if not len(dataset.data):
          return []
      row = dataset.data.iloc[0]
      col = cls.geo_column(dataset.data)
      arr = geom_to_array(row[col])
      d = {(xdim.name, ydim.name): arr}
      d.update({vd.name: row[vd.name] for vd in dataset.vdims})
      geom_type = cls.geom_type(dataset)
      ds = dataset.clone([d], datatype=["multitabular"])
      for _i, row in dataset.data.iterrows():
          if datatype == "geom":
              objs.append(row[col])
              continue
          geom = row[col]
          gt = geom_type or get_geom_type(geom)
  
          arr = geom_to_array(geom)
          d = {xdim.name: arr[:, 0], ydim.name: arr[:, 1]}
          d.update({vd.name: row[vd.name] for vd in dataset.vdims})
          ds.data = [d]
          if datatype == "array":
              obj = ds.array(**kwargs)
          elif datatype == "dataframe":
              obj = ds.dframe(**kwargs)
          elif datatype in ("columns", "dictionary"):
              d["geom_type"] = gt
              obj = d
          elif datatype is None:
              obj = ds.clone()
          else:
              raise ValueError("%s datatype not support" % datatype)
          objs.append(obj)
      return objs
  
imports: import sys
  import warnings
  from collections import defaultdict
  import numpy
  import pandas
  from holoviews.core.util import isscalar, unique_iterator, unique_array
  from holoviews.core.data import Dataset, Interface, MultiInterface, PandasAPI
  from holoviews.core.data.interface import DataError
  from holoviews.core.data import PandasInterface
  from holoviews.core.data.spatialpandas import get_value_array
  from holoviews.core.dimension import dimension_name
  from holoviews.element import Path
  from ..util import asarray, geom_to_array, geom_types, geom_length
  from .geom_dict import geom_from_dict
label_desc: Use image node_id 28 for calling the GeoPandasInterface obj's underlying member method code with example usage: obj.split(cls, dataset, start, end, datatype) and returns: objs, list