pyinterp.core.RTree3DFloat32.query

RTree3DFloat32.query(self: pyinterp.core.RTree3DFloat32, coordinates: numpy.ndarray[numpy.float32], k: int = 4, within: bool = False, num_threads: int = 0) tuple

Search for the nearest K nearest neighbors of a given point.

Parameters:
  • coordinates – a matrix of shape (n, 3), where n is the number of observations and 3 represents the coordinates in the order: x, y, and z. If the matrix shape is (n, 2), the z-coordinate is assumed to be zero. The coordinates (x, y, z) are in the Cartesian coordinate system (ECEF) if the instance is configured to use this system (ecef keyword set to True during construction). Otherwise, the coordinates are in the geodetic system (longitude, latitude, and altitude) in degrees, degrees, and meters, respectively.

  • k – The number of nearest neighbors to be used for calculating the interpolated value. Defaults to 4.

  • within – If true, the method ensures that the neighbors found are located within the point of interest. Defaults to false.

  • num_threads – The number of threads to use for the computation. If 0 all CPUs are used. If 1 is given, no parallel computing code is used at all, which is useful for debugging. Defaults to 0.

Returns:

A tuple containing a matrix describing for each provided position, the distance between the provided position and the found neighbors (in meters if the RTree handles LLA coordinates, otherwise in Cartesian units) and a matrix containing the value of the different neighbors found for all provided positions.