code: def _pli_points_to_multipoints(pli):
      """Takes a tuple (specifically the first two values returned by
      pairwise_linestring_intersection (pli)) with offsets in position 0 and a
      mixed GeoSeries in position 1. Extracts the points from the mixed
      GeoSeries such that one MultiPoint is returned for all of the Point rows
      that fall within each of the ranges specified by the offsets argument.
  
      Example
      -------
      pli = (
          cudf.Series([0, 2, 4, 6]),
          cuspatial.GeoSeries([
              Point(0, 0),
              LineString([(1, 1), (2, 2)]),
              Point(3, 3),
              Point(4, 4),
              Point(5, 5),
              LineString([(6, 6), (7, 7)]),
          ])
      )
      multipoints_from_points = _pli_points_to_multipoints(pli)
      print(multipoints_from_points)
      0                     MULTIPOINT (0.00000 0.00000)
      1    MULTIPOINT (3.00000 3.00000, 4.00000 4.00000)
      2                     MULTIPOINT (5.00000 5.00000)
      dtype: geometry
      """
      points = pli[1][pli[1].feature_types == Feature_Enum.POINT.value]
      offsets = _pli_features_rebuild_offsets(pli, points)
      xy = (
          points.points.xy
          if len(points.points.xy) > 0
          else cudf.Series([], dtype=cp.float64)
      )
      multipoints = cuspatial.GeoSeries.from_multipoints_xy(xy, offsets)
      return multipoints
  
imports: import cupy
  import numpy
  import cudf
  import cuspatial
  from cuspatial.core._column.geocolumn import ColumnType
  from cuspatial.core._column.geometa import Feature_Enum
label_desc: Use image node_id 24 for calling a global function with example usage: _pli_points_to_multipoints(pli) and returns: multipoints