class_docstr: A GPU GeoDataFrame object.
class_docstr_tok: ["A","GPU","GeoDataFrame","object","."]
docstr: Break the geometry columns and non-geometry columns into
  separate dataframes and return them separated.
docstr_tok: ["Break","the","geometry","columns","and","non-geometry","columns","into","separate","dataframes","and","return","them","separated","."]
code: def _split_out_geometry_columns(self) -> Tuple:
      """
      Break the geometry columns and non-geometry columns into
      separate dataframes and return them separated.
      """
      columns_mask = pd.Series(self.columns)
      geocolumn_mask = pd.Series(
          [isinstance(self[col], GeoSeries) for col in self.columns],
          dtype="bool",
      )
      geo_columns = self[columns_mask[geocolumn_mask]]
      # Send the rest of the columns to `cudf` to slice.
      data_columns = cudf.DataFrame(
          self[columns_mask[~geocolumn_mask].values]
      )
      return (geo_columns, data_columns)
  
imports: from typing import Dict, Tuple, TypeVar, Union
  import pandas
  from geopandas import GeoDataFrame
  from geopandas.geoseries import is_geometry_type
  import cudf
  from cudf.core.copy_types import BooleanMask, GatherMap
  from cuspatial.core._column.geocolumn import GeoColumn, GeoMeta
  from cuspatial.core.geoseries import GeoSeries
  from cuspatial.io.geopandas_reader import GeoPandasReader
label_desc: Use image node_id 8 for calling the GeoDataFrame obj's underlying member method code with example usage: obj._split_out_geometry_columns() and returns: geo_columns,  data_columns