search_around_3d#

astropy.coordinates.search_around_3d(coords1, coords2, distlimit, storekdtree='kdtree_3d')[源代码]#

搜索至少与三维空间中指定距离相等的点对。

这适用于具有坐标数组的坐标对象,而不是标量。对于标量坐标,最好使用 separation_3d 方法。

参数:
坐标1BaseCoordinateFrameSkyCoordBaseCoordinateFrame或SkyCoord

第一组坐标,将从 coords2seplimit . 必须是一维坐标数组。

坐标2BaseCoordinateFrameSkyCoordBaseCoordinateFrame或SkyCoord

第二组坐标,将从 coords1seplimit . 必须是一维坐标数组。

distlimit : Quantity [:ref: 'length' ]数量 [:ref: 'length']

搜索的物理半径。它应该是可广播的形状与 coords1 .

storekdtree : boolstr ,可选Bool或python:str,可选

如果是一个字符串,将存储KD树在搜索中使用的名称 storekdtree 在里面 coords2.cache . 这将加快对该函数的后续调用。如果为False,则不会保存KD树。

返回:
idx1 : int arrayPython:整型数组

索引 coords1 与的对应元素相匹配 idx2 . 形状匹配 idx2 .

idx2 : int arrayPython:整型数组

索引 coords2 与的对应元素相匹配 idx1 . 形状匹配 idx1 .

sep2d公司Angle角度

在天空中坐标之间的间隔。形状匹配 idx1idx2 .

dist3d : Quantity [:ref: 'length' ]数量 [:ref: 'length']

坐标之间的三维距离。形状匹配 idx1idx2 . 单位是 coords1 .

笔记

此功能需要 SciPy 否则它将失败。

如果使用此函数在目录中搜索特定点周围的匹配项,则约定为 coords2 作为目录,以及 coords1 是要四处搜索的点。而这些运算在数学上是相同的,如果 coords1coords2 如果遵守这个约定,一些优化可能会更好地工作。

在当前实现中,返回值的排序顺序始终与 coords1 (所以 idx1 以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。