class_docstr: A GPU GeoDataFrame object.
class_docstr_tok: ["A","GPU","GeoDataFrame","object","."]
docstr: Copy type metadata from each column of `other` to the corresponding
  column of `self`.
  See `ColumnBase._with_type_metadata` for more information.
docstr_tok: ["Copy","type","metadata","from","each","column","of","`","other","`","to","the","corresponding","column","of","`","self","`",".","See","`","ColumnBase._with_type_metadata","`","for","more","information","."]
code: def _copy_type_metadata(
      self, other, include_index: bool = True, *, override_dtypes=None
  ):
      """
      Copy type metadata from each column of `other` to the corresponding
      column of `self`.
      See `ColumnBase._with_type_metadata` for more information.
      """
  
      type_copied = super()._copy_type_metadata(
          other,
          include_index=include_index,
          override_dtypes=override_dtypes,
      )
      for name, col, other_col in zip(
          type_copied._data.keys(),
          type_copied._data.values(),
          other._data.values(),
      ):
          # A GeoColumn is currently implemented as a NumericalColumn with
          # several child columns to hold the geometry data. The native
          # return loop of cudf cython code can only reconstruct the
          # geocolumn as a NumericalColumn. We can't reconstruct the full
          # GeoColumn at the column level via _with_type_metadata, because
          # there is neither a well defined geometry type in cuspatial,
          # nor we can reconstruct the entire geocolumn data with pure
          # geometry type. So we need an extra pass here to copy the geometry
          # data into the type reconstructed dataframe.
          if isinstance(other_col, GeoColumn):
              col = GeoColumn(
                  (
                      other_col.points,
                      other_col.mpoints,
                      other_col.lines,
                      other_col.polygons,
                  ),
                  other_col._meta,
                  cudf.Index(col),
              )
              type_copied._data.set_by_label(name, col, validate=False)
  
      return type_copied
  
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 7 for calling the GeoDataFrame obj's underlying member method code with example usage: obj._copy_type_metadata(other, include_index) and returns: type_copied