Астропия Координаты: второй ближайший сосед - PullRequest
0 голосов
/ 04 сентября 2018

Я использую Astropy.coordinates, чтобы сопоставить два астрономических каталога с координатами RA, DEC.

Я могу найти список ближайших соседей, следуя документации astropy (ссылка на документацию astropy.coordinates) и выполняя:

from astropy.coordinates import SkyCoord 
from astropy import units as u
cat1 = SkyCoord(ra=ra1*u.degree, dec=dec1*u.degree)  
cat2 = SkyCoord(ra=ra2*u.degree, dec=dec2*u.degree) 
idx, d2d, d3d = cat1.match_to_catalog_sky(cat2) 

Где ra1, ra2, dec1, dec2 - векторы, содержащие координаты в каталогах 1 и 2.

Результат idx дает для каждого объекта в каталоге 1 идентификатор ближайшего совпадения в каталоге 2. d2d дает 2-е разделение между совпадениями, а d3d дает 3d-разделение между совпадениями ,

Поэтому, чтобы выбрать совпадения между желаемым радиусом сопоставления, например, используя радиусы 1 ", я могу сделать:

matched=idx[np.argwhere(d2d<1.*u.arcsec)[0]]

Теперь, чтобы выбрать подходящие радиусы для этого последнего шага, я хотел бы изучить, каково расстояние d2d между каждым источником в cat1 и их вторым ближайшим соседом.

Кто-нибудь знает, как я могу выполнить этот процесс сопоставления, одновременно записывая вторых соседей?

1 Ответ

0 голосов
/ 15 декабря 2018

Обратите внимание, что match_to_catalog_sky принимает ключевое слово nthneighbor, которое по умолчанию равно 1 (т. Е. Ближайшему), но может иметь другие значения. Изменение этого должно сделать это.

Возможно, вы также захотите обратить внимание на метод search_around_sky, с помощью которого вы можете найти все совпадения вплоть до предела разделения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...