class_docstr: Base class for binary predicates that are defined in terms of the equals
  basic predicate.  `EqualsPredicateBase` implements utility functions that
  are used within many equals-related binary predicates.
  
  Used by:
  (Point, Point)
  (Point, Polygon)
  (LineString, Polygon)
  (Polygon, Point)
  (Polygon, MultiPoint)
  (Polygon, LineString)
  (Polygon, Polygon)
class_docstr_tok: ["Base","class","for","binary","predicates","that","are","defined","in","terms","of","the","equals","basic","predicate",".","`","EqualsPredicateBase","`","implements","utility","functions","that","are","used","within","many","equals-related","binary","predicates",".","Used","by",":","(","Point",",","Point",")","(","Point",",","Polygon",")","(","LineString",",","Polygon",")","(","Polygon",",","Point",")","(","Polygon",",","MultiPoint",")","(","Polygon",",","LineString",")","(","Polygon",",","Polygon",")"]
docstr: Convert the input geometry types into buffers of points that can
  then be compared with the equals basic predicate.
  
  The equals basic predicate is simply the value-equality operation
  on the coordinates of the points in the geometries. This means that
  we can convert any geometry type into a buffer of points and then
  compare the buffers with the equals basic predicate.
  
  Parameters
  ----------
  lhs : GeoSeries
      The left-hand GeoSeries.
  rhs : GeoSeries
      The right-hand GeoSeries.
  
  Returns
  -------
  result : GeoSeries
      A GeoSeries of boolean values indicating whether each feature in
      the right-hand GeoSeries satisfies the requirements of a binary
      predicate with its corresponding feature in the left-hand
      GeoSeries.
docstr_tok: ["Convert","the","input","geometry","types","into","buffers","of","points","that","can","then","be","compared","with","the","equals","basic","predicate",".","The","equals","basic","predicate","is","simply","the","value-equality","operation","on","the","coordinates","of","the","points","in","the","geometries",".","This","means","that","we","can","convert","any","geometry","type","into","a","buffer","of","points","and","then","compare","the","buffers","with","the","equals","basic","predicate",".","Parameters","--","--","--","--","--","lhs",":","GeoSeries","The","left-hand","GeoSeries",".","rhs",":","GeoSeries","The","right-hand","GeoSeries",".","Returns","--","--","--","-","result",":","GeoSeries","A","GeoSeries","of","boolean","values","indicating","whether","each","feature","in","the","right-hand","GeoSeries","satisfies","the","requirements","of","a","binary","predicate","with","its","corresponding","feature","in","the","left-hand","GeoSeries","."]
code: def _preprocess(self, lhs: "GeoSeries", rhs: "GeoSeries"):
      """Convert the input geometry types into buffers of points that can
      then be compared with the equals basic predicate.
  
      The equals basic predicate is simply the value-equality operation
      on the coordinates of the points in the geometries. This means that
      we can convert any geometry type into a buffer of points and then
      compare the buffers with the equals basic predicate.
  
      Parameters
      ----------
      lhs : GeoSeries
          The left-hand GeoSeries.
      rhs : GeoSeries
          The right-hand GeoSeries.
  
      Returns
      -------
      result : GeoSeries
          A GeoSeries of boolean values indicating whether each feature in
          the right-hand GeoSeries satisfies the requirements of a binary
          predicate with its corresponding feature in the left-hand
          GeoSeries.
      """
      # Any unmatched type is not equal
      if (lhs.feature_types != rhs.feature_types).any():
          return _false_series(len(lhs))
      return self._compute_predicate(
          lhs, rhs, PreprocessorResult(None, rhs.point_indices)
      )
  
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 6 for calling the EqualsPredicateBase obj's underlying member method code with example usage: obj._preprocess(lhs, rhs) and returns: self, _false_series