docstr: Postprocess the output GeoSeries to combine the resulting
  comparisons into a single boolean value for each feature in the
  rhs GeoSeries.
docstr_tok: ["Postprocess","the","output","GeoSeries","to","combine","the","resulting","comparisons","into","a","single","boolean","value","for","each","feature","in","the","rhs","GeoSeries","."]
code: def _postprocess(self, lhs, rhs, op_result):
      """Postprocess the output GeoSeries to combine the resulting
      comparisons into a single boolean value for each feature in the
      rhs GeoSeries.
      """
      if len(op_result.result) == 0:
          return _false_series(len(lhs))
      result_df = cudf.DataFrame(
          {"idx": op_result.point_indices, "equals": op_result.result}
      )
      gb_idx = result_df.groupby("idx")
      feature_equals_linestring = (
          gb_idx.sum().sort_index() == gb_idx.count().sort_index()
      )["equals"]
      result = _false_series(len(lhs))
      result[
          feature_equals_linestring.index
      ] = feature_equals_linestring.values
      return result
  
imports: from __future__ import annotations
  from typing import Generic, TypeVar
  import cupy
  import cudf
  from cudf import Series
  import cuspatial
  from cuspatial.core.binpreds.binpred_interface import BinPred, EqualsOpResult, ImpossiblePredicate, NotImplementedPredicate, PreprocessorResult
  from cuspatial.utils.binpred_utils import LineString, MultiPoint, Point, Polygon, _false_series
label_desc: Use image node_id 1 for calling the PolygonComplexEquals obj's underlying member method code with example usage: obj._postprocess(lhs, rhs, op_result) and returns: result, _false_series