gpt4 book ai didi

python - 计算 Skyfield 中两个物体的表观角度分离的更好方法?

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:51 25 4
gpt4 key购买 nike

更新:Skyfield 刚刚进行了重大修订,包括扩展文档和角度分离方法 - 请参阅已接受的答案。

我正在使用 Skyfield 计算两个对象之间的表观角距.我没有在包中找到方法,所以我通过计算两个表观位置向量之间的点积来“发明”了一种方法。

这是目前最好的方法吗?在 Skyfield 的范围内,它本质上是正确的吗?

def separation(seconds, lat, lon):

lat, lon, seconds = float(lat), float(lon), float(seconds) # necessary it seems

place = earth.topos(lat, lon)

jd = JulianDate(utc=(2016, 3, 9, 0, 0, seconds))

mpos = place.at(jd).observe(moon).apparent().position.km
spos = place.at(jd).observe(sun).apparent().position.km

mlen = np.sqrt((mpos**2).sum())
slen = np.sqrt((spos**2).sum())

sepa = ((3600.*180./np.pi) *
np.arccos(np.dot(mpos, spos)/(mlen*slen)))

return sepa


from skyfield.api import load, now, JulianDate
import numpy as np
from scipy.optimize import minimize

data = load('de421.bsp')

sun = data['sun']
earth = data['earth']
moon = data['moon']

sep = separation(12000, 32.5, 215.1)

print "sun-moon aparent separation: ", sep, " arcsec"

最佳答案

Skyfield 现在支持返回两个位置之间的角度分离的方法:

http://rhodesmill.org/skyfield/api-position.html#skyfield.positionlib.ICRF.separation_from

关于python - 计算 Skyfield 中两个物体的表观角度分离的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36111098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com