search_around_sky#

astropy.coordinates.search_around_sky(coords1, coords2, seplimit, storekdtree='kdtree_sky')[source]#

Searches for pairs of points that have an angular separation at least as close as a specified angle.

This is intended for use on coordinate objects with arrays of coordinates, not scalars. For scalar coordinates, it is better to use the separation methods.

Parameters:
coords1astropy:coordinate-like

The first set of coordinates, which will be searched for matches from coords2 within seplimit. Cannot be a scalar coordinate.

coords2astropy:coordinate-like

The second set of coordinates, which will be searched for matches from coords1 within seplimit. Cannot be a scalar coordinate.

seplimitQuantity [:ref: ‘angle’]

The on-sky separation to search within.

storekdtreebool or str, optional

If a string, will store the KD-Tree used in the search with the name storekdtree in coords2.cache. This speeds up subsequent calls to this function. If False, the KD-Trees are not saved.

Returns:
idx1int array

Indices into coords1 that matches to the corresponding element of idx2. Shape matches idx2.

idx2int array

Indices into coords2 that matches to the corresponding element of idx1. Shape matches idx1.

sep2dAngle

The on-sky separation between the coordinates. Shape matches idx1 and idx2.

dist3dQuantity [:ref: ‘length’]

The 3D distance between the coordinates. Shape matches idx1 and idx2; the unit is that of coords1. If either coords1 or coords2 don’t have a distance, this is the 3D distance on the unit sphere, rather than a physical distance.

Notes

This function requires SciPy to be installed or it will fail.

In the current implementation, the return values are always sorted in the same order as the coords1 (so idx1 is in ascending order). This is considered an implementation detail, though, so it could change in a future release.