astropy.match\u坐标\u天空混乱

2024-05-21 03:16:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个代码,以匹配两个目录的RA和偏角值。我已经将它们读入了两个不同的SkyCoord对象,分别称为scatalog(长度~30000)和pcatalog(长度~500000)。你知道吗

pcatalog更大,所以我想把scatalog中的目标匹配成pcatalog。你知道吗

当我这么做的时候

idx, d2d, d3d = match_coordinates_sky(scatalog, pcatalog, nthneighbor=1)

我对结果感到困惑。你知道吗

文档on astropy指出idx的形状应该与scatalog.的形状匹配,相反,它的长度与pcatalog相同。有人知道为什么会这样吗?你知道吗

此外,文档还指出idxpcatalog的索引,这些索引与scatalog的条目最为匹配。如果我的另一个问题没有发生的话。但是,如果idx的长度为pcatalog,则匹配中存在重复。如何让它返回最近匹配的索引?你知道吗

如果idx的值不是唯一的,这意味着什么?

我很感激你们这些优秀的人能提供的任何帮助!你知道吗


Tags: 对象代码文档目录目标matchd2dra
1条回答
网友
1楼 · 发布于 2024-05-21 03:16:23

注意:这不是一个答案,而是一个例子来说明我不能重现这个问题。需要更多的信息来验证和帮助解决问题。你知道吗

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,)

也就是说,idxd2d具有与scatalog相同的形状,而不是与pcatalog相同的形状。你知道吗

相关问题 更多 >