小编bom*_*mbs的帖子

将赤道坐标转换为 alt-az 坐标非常慢

我正在尝试将对象的赤道坐标转换为给定时间和位置的 alt-az 坐标(希望)<5 秒运行时,或更理想的是 <1 秒运行时。

按照坐标变换astropy 教程,我设置了以下代码:

from astropy import units as u
from astropy.coordinates import SkyCoord,EarthLocation, AltAz
from astropy.time import Time

target = SkyCoord(9.81625*u.deg, 0.88806*u.deg, frame='icrs')

location = EarthLocation(lat='31d57.5m', lon='-111d35.8m', height=0*u.m)
obs_time = Time('2010-12-21 1:00')

alt_az_frame = AltAz(location=location, obstime=obs_time)
target_alt_az = target.transform_to(alt_az_frame)

print(target_alt_az.alt, target_alt_az.az)
Run Code Online (Sandbox Code Playgroud)

这段代码运行需要 20 秒,几乎所有这些都来自该target.transform_to(alt_az_frame)行。

有没有更合适的方法来使用transform_to函数来加速代码,或者我应该完全放弃使用 astropy 并从头开始编写代码?我知道SkyCoord对象中内置了很多额外的功能,其中大部分我可能不需要——使用预先构建的标准化代码很方便。

python astropy

2
推荐指数
1
解决办法
300
查看次数

标签 统计

astropy ×1

python ×1