code: def closest_point_of_approach(
          self,
          lateral_separation: float,
          vertical_separation: float,
          projection: Union[pyproj.Proj, crs.Projection, None] = None,
          round_t: str = "d",
          max_workers: int = 4,
      ) -> "CPA":
          
  
          from ..algorithms.cpa import closest_point_of_approach
  
          return closest_point_of_approach(
              self,
              lateral_separation,
              vertical_separation,
              projection,
              round_t,
              max_workers,
          )
docs: Computes a CPA dataframe for all pairs of trajectories candidates for
          being separated by less than lateral_separation in vertical_separation.
  
          In order to be computed efficiently, the method needs the following
          parameters:
  
          - projection: a first filtering is applied on the bounding boxes of
          trajectories, expressed in meters. You need to provide a decent
          projection able to approximate distances by Euclide formula.
          By default, EuroPP() projection is considered, but a non explicit
          argument will raise a warning.
  
          - round_t: an additional column will be added in the DataFrame to group
          trajectories by relevant time frames. Distance computations will be
          considered only between trajectories flown in the same time frame.
          By default, the 'd' pandas freq parameter is considered, to group
          trajectories by day, but other ways of splitting ('h') may be more
          relevant and impact performance.
  
          - max_workers: distance computations are spread over a given number of
          processors.