我正在编写一个代码来匹配RA和衰落值的两个目录。我已经将这些内容读入两个不同的SkyCoord对象中,分别称为scatalog (长度为30,000)和pcatalog (长度为500,000)。
pcatalog更大,所以我想将scatalog中的目标匹配到pcatalog中。
当我这么做
idx, d2d, d3d = match_coordinates_sky(scatalog, pcatalog, nthneighbor=1)我对结果感到困惑。
文档论不稳定表明,idx的形状应该与scatalog.的形状相匹配,它的长度与pcatalog相同。有人知道为什么会发生这种事吗?
此外,文档还指出,idx是pcatalog中的索引,它与scatalog条目最接近。如果我的另一个问题不发生的话。但是,如果idx的长度为pcatalog,那么匹配中就会出现重复。如何使它返回最接近匹配的索引?
idx 的值不是唯一的,这意味着什么?
我很感激你所能提供的任何帮助!
发布于 2019-06-13 08:59:17
注:这不是一个答案,而是一个例子,说明我不能重现这个问题。需要更多的信息来验证和帮助解决这个问题。
import numpy as np
from astropy.coordinates import SkyCoord, match_coordinates_sky
from astropy import units as u
scatalog = SkyCoord(ra=np.linspace(0, 1, 10)*u.degree, dec=np.ones(10)*u.degree)
pcatalog = SkyCoord(ra=np.linspace(0, 1, 100)*u.degree, dec=np.ones(100)*u.degree)
idx, d2d, d3d = match_coordinates_sky(scatalog, pcatalog, nthneighbor=1)
print(idx.shape)
print(d2d.shape)收益率
(10,) (100,)
(10,) (10,)也就是说,idx和d2d的形状与scatalog相同,而不是pcatalog。
https://stackoverflow.com/questions/56527689
复制相似问题