class_docstr: Dispatches distance operations between two GeoSeries
class_docstr_tok: ["Dispatches","distance","operations","between","two","GeoSeries"]
code: def __init__(self, lhs, rhs, align):
      if align:
          self._lhs, self._rhs = lhs.align(rhs)
      else:
          self._lhs, self._rhs = lhs, rhs
  
      self._align = align
      self._res_index = lhs.index
      self._non_null_mask = self._lhs.notna() & self._rhs.notna()
      self._lhs = self._lhs[self._non_null_mask]
      self._rhs = self._rhs[self._non_null_mask]
  
      # TODO: This test is expensive, so would be nice if we can cache it
      self._lhs_type = self._determine_series_type(self._lhs)
      self._rhs_type = self._determine_series_type(self._rhs)
  
file_path: cuspatial/python/cuspatial/cuspatial/core/binops/distance_dispatch.py
imports: import cudf
  from cudf.core.column import as_column, full
  from cuspatial._lib.distance import pairwise_linestring_distance, pairwise_linestring_polygon_distance, pairwise_point_distance, pairwise_point_linestring_distance, pairwise_point_polygon_distance, pairwise_polygon_distance
  from cuspatial._lib.types import CollectionType
  from cuspatial.core._column.geometa import Feature_Enum
  from cuspatial.utils.column_utils import contains_only_linestrings, contains_only_multipoints, contains_only_points, contains_only_polygons
label_desc: Use image node_id 1 to create a new DistanceDispatch object  with example: obj = DistanceDispatch(lhs, rhs, align)