class_docstr: cuspatial.GeoSeries enables GPU-backed storage and computation of
  shapely-like objects. Our goal is to give feature parity with GeoPandas.
  At this time, only from_geopandas and to_geopandas are directly supported.
  cuspatial GIS, indexing, and trajectory functions depend on the arrays
  stored in the `GeoArrowBuffers` object, accessible with the `points`,
  `multipoints`, `lines`, and `polygons` accessors.
  
  Examples
  --------
  
  >>> from shapely.geometry import Point
      import geopandas
      import cuspatial
      cuseries = cuspatial.GeoSeries(geopandas.GeoSeries(Point(-1, 0)))
      cuseries.points.xy
      0   -1.0
      1    0.0
      dtype: float64
class_docstr_tok: ["cuspatial.GeoSeries","enables","GPU-backed","storage","and","computation","of","shapely-like","objects",".","Our","goal","is","to","give","feature","parity","with","GeoPandas",".","At","this","time",",","only","from_geopandas","and","to_geopandas","are","directly","supported",".","cuspatial","GIS",",","indexing",",","and","trajectory","functions","depend","on","the","arrays","stored","in","the","`","GeoArrowBuffers","`","object",",","accessible","with","the","`","points","`",",","`","multipoints","`",",","`","lines","`",",","and","`","polygons","`","accessors",".","Examples","--","--","--","--",">",">",">","from","shapely.geometry","import","Point","import","geopandas","import","cuspatial","cuseries","=","cuspatial.GeoSeries","(","geopandas.GeoSeries","(","Point","(","-1",",","0",")",")",")","cuseries.points.xy","0","-1.0","1","0.0","dtype",":","float64"]
docstr: Returns a `Series` of `dtype('bool')` with value `True` for each
  aligned geometry that contains _other_.
  
  An object a is said to contain b if b's boundary and
  interiors are within those of a and no point of b lies in the
  exterior of a.
  
  If `allpairs=False`, the result will be a `Series` of `dtype('bool')`.
  If `allpairs=True`, the result will be a `DataFrame` containing two
  columns, `point_indices` a`nd `polygon_indices`, each of which is a
  `Series` of `dtype('int32')`. The `point_indices` `Series` contains
  the indices of the points in the right GeoSeries, and the
  `polygon_indices` `Series` contains the indices of the polygons in the
  left GeoSeries.
  
  Notes
  -----
  `allpairs=True` excludes geometries that contain points in the
  boundary of A.
  
  Parameters
  ----------
  other : GeoSeries
  align : bool, default False
      If True, the two GeoSeries are aligned before performing the
      operation. If False, the operation is performed on the
      unaligned GeoSeries.
  allpairs : bool, default False
      If True, the result will be a `DataFrame` containing two
      columns, `point_indices` and `polygon_indices`, each of which is a
      `Series` of `dtype('int32')`. The `point_indices` `Series` contains
      the indices of the points in the right GeoSeries, and the
      `polygon_indices` `Series` contains the indices of the polygons in
      the left GeoSeries. Excludes boundary points.
  mode : str, default "full" or "basic_none", "basic_any",
      "basic_all", or "basic_count".
      If "full", the result will be a `Series` of `dtype('bool')` with
      value `True` for each aligned geometry that contains _other_.
      If "intersects", the result will be a `Series` of `dtype('bool')`
      with value `True` for each aligned geometry that contains _other_
      or intersects _other_.
  
  Returns
  -------
  Series or DataFrame
      A `Series` of `dtype('bool')` with value `True` for each aligned
      geometry that contains _other_. If `allpairs=True`, the result
      will be a `DataFrame` containing two columns, `point_indices` and
      `polygon_indices`, each of which is a `Series` of `dtype('int32')`.
docstr_tok: ["Returns","a","`","Series","`","of","`","dtype","(","'bool","'",")","`","with","value","`","True","`","for","each","aligned","geometry","that","contains","_other_",".","An","object","a","is","said","to","contain","b","if","b","'s","boundary","and","interiors","are","within","those","of","a","and","no","point","of","b","lies","in","the","exterior","of","a",".","If","`","allpairs=False","`",",","the","result","will","be","a","`","Series","`","of","`","dtype","(","'bool","'",")","`",".","If","`","allpairs=True","`",",","the","result","will","be","a","`","DataFrame","`","containing","two","columns",",","`","point_indices","`","a","`","nd","`","polygon_indices","`",",","each","of","which","is","a","`","Series","`","of","`","dtype","(","'int32","'",")","`",".","The","`","point_indices","`","`","Series","`","contains","the","indices","of","the","points","in","the","right","GeoSeries",",","and","the","`","polygon_indices","`","`","Series","`","contains","the","indices","of","the","polygons","in","the","left","GeoSeries",".","Notes","--","--","-","`","allpairs=True","`","excludes","geometries","that","contain","points","in","the","boundary","of","A.","Parameters","--","--","--","--","--","other",":","GeoSeries","align",":","bool",",","default","False","If","True",",","the","two","GeoSeries","are","aligned","before","performing","the","operation",".","If","False",",","the","operation","is","performed","on","the","unaligned","GeoSeries",".","allpairs",":","bool",",","default","False","If","True",",","the","result","will","be","a","`","DataFrame","`","containing","two","columns",",","`","point_indices","`","and","`","polygon_indices","`",",","each","of","which","is","a","`","Series","`","of","`","dtype","(","'int32","'",")","`",".","The","`","point_indices","`","`","Series","`","contains","the","indices","of","the","points","in","the","right","GeoSeries",",","and","the","`","polygon_indices","`","`","Series","`","contains","the","indices","of","the","polygons","in","the","left","GeoSeries",".","Excludes","boundary","points",".","mode",":","str",",","default","``","full","''","or","``","basic_none","''",",","``","basic_any","''",",","``","basic_all","''",",","or","``","basic_count","''",".","If","``","full","''",",","the","result","will","be","a","`","Series","`","of","`","dtype","(","'bool","'",")","`","with","value","`","True","`","for","each","aligned","geometry","that","contains","_other_",".","If","``","intersects","''",",","the","result","will","be","a","`","Series","`","of","`","dtype","(","'bool","'",")","`","with","value","`","True","`","for","each","aligned","geometry","that","contains","_other_","or","intersects","_other_",".","Returns","--","--","--","-","Series","or","DataFrame","A","`","Series","`","of","`","dtype","(","'bool","'",")","`","with","value","`","True","`","for","each","aligned","geometry","that","contains","_other_",".","If","`","allpairs=True","`",",","the","result","will","be","a","`","DataFrame","`","containing","two","columns",",","`","point_indices","`","and","`","polygon_indices","`",",","each","of","which","is","a","`","Series","`","of","`","dtype","(","'int32","'",")","`","."]
code: def contains(self, other, align=False, allpairs=False, mode="full"):
      """Returns a `Series` of `dtype('bool')` with value `True` for each
      aligned geometry that contains _other_.
  
      An object a is said to contain b if b's boundary and
      interiors are within those of a and no point of b lies in the
      exterior of a.
  
      If `allpairs=False`, the result will be a `Series` of `dtype('bool')`.
      If `allpairs=True`, the result will be a `DataFrame` containing two
      columns, `point_indices` a`nd `polygon_indices`, each of which is a
      `Series` of `dtype('int32')`. The `point_indices` `Series` contains
      the indices of the points in the right GeoSeries, and the
      `polygon_indices` `Series` contains the indices of the polygons in the
      left GeoSeries.
  
      Notes
      -----
      `allpairs=True` excludes geometries that contain points in the
      boundary of A.
  
      Parameters
      ----------
      other : GeoSeries
      align : bool, default False
          If True, the two GeoSeries are aligned before performing the
          operation. If False, the operation is performed on the
          unaligned GeoSeries.
      allpairs : bool, default False
          If True, the result will be a `DataFrame` containing two
          columns, `point_indices` and `polygon_indices`, each of which is a
          `Series` of `dtype('int32')`. The `point_indices` `Series` contains
          the indices of the points in the right GeoSeries, and the
          `polygon_indices` `Series` contains the indices of the polygons in
          the left GeoSeries. Excludes boundary points.
      mode : str, default "full" or "basic_none", "basic_any",
          "basic_all", or "basic_count".
          If "full", the result will be a `Series` of `dtype('bool')` with
          value `True` for each aligned geometry that contains _other_.
          If "intersects", the result will be a `Series` of `dtype('bool')`
          with value `True` for each aligned geometry that contains _other_
          or intersects _other_.
  
      Returns
      -------
      Series or DataFrame
          A `Series` of `dtype('bool')` with value `True` for each aligned
          geometry that contains _other_. If `allpairs=True`, the result
          will be a `DataFrame` containing two columns, `point_indices` and
          `polygon_indices`, each of which is a `Series` of `dtype('int32')`.
      """
      predicate = CONTAINS_DISPATCH[
          (self.column_type, other.column_type)
      ](align=align, allpairs=allpairs, mode=mode)
      return predicate(self, other)
  
imports: from functools import cached_property
  from numbers import Integral
  from typing import Optional, Tuple, TypeVar, Union
  import cupy
  import geopandas
  import numpy
  import pandas
  import pyarrow
  from geopandas.geoseries import GeoSeries
  from shapely.geometry import LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon
  from shapely.geometry.base import BaseGeometry, BaseMultipartGeometry
  import cudf
  from cudf._typing import ColumnLike
  from cudf.core.column.column import as_column
  from cudf.core.copy_types import GatherMap
  import cuspatial.io.pygeoarrow
  from cuspatial.core._column.geocolumn import ColumnType, GeoColumn
  from cuspatial.core._column.geometa import Feature_Enum, GeoMeta
  from cuspatial.core.binops.distance_dispatch import DistanceDispatch
  from cuspatial.core.binpreds.binpred_dispatch import CONTAINS_DISPATCH, CONTAINS_PROPERLY_DISPATCH, COVERS_DISPATCH, CROSSES_DISPATCH, DISJOINT_DISPATCH, EQUALS_DISPATCH, INTERSECTS_DISPATCH, OVERLAPS_DISPATCH, TOUCHES_DISPATCH, WITHIN_DISPATCH
  from cuspatial.utils.column_utils import contains_only_linestrings, contains_only_multipoints, contains_only_points, contains_only_polygons
label_desc: Use image node_id 30 for calling the GeoSeries obj's underlying member method code with example usage: obj.contains(other, align, allpairs, mode) and returns: predicate