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
coords1BaseCoordinateFrame or SkyCoord

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

coords2BaseCoordinateFrame or SkyCoord

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

seplimitQuantity with angle units

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
idx1integer array

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

idx2integer 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

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.