我正在尝试使用ephem TLE数据跟踪月亮的位置,然后将其存储在data.csv文件中。但是,我找不到它!
下面的代码是我要尝试执行的操作的一个示例,这是针对ISS的,它在我找不到的月球的“行1”和“行2”中的TLE数字。
import logging
import logzero
from logzero import logger
from sense_hat import SenseHat
import os
import ephem
dir_path = os.path.dirname(os.path.realpath(__file__))
sh = SenseHat()
logzero.logfile(dir_path+"/iss.csv")
name = "ISS (ZARYA)"
line1 = "1 25544U 98067A 18032.92935684 .00002966 00000-0 52197-4 0 99911 25544U 98067A 18032.92935684 .00002966 00000-0 52197-4 0 9991"
line2 = "2 25544 51.6438 332.9972 0003094 62.2964 46.0975 15.54039537 97480"
iss = ephem.readtle(name, line1, line2)
iss.compute()
formatter = logging.Formatter('%(name)s - %(asctime)-15s - %(levelname)s: %(message)s');
logzero.formatter(formatter)
sublat = iss.sublat
sublong = iss.sublong
logger.info("%s,%s", sublong, sublat, )
最佳答案
欢迎使用Stack Overflow!
我从未见过有人为月球生成TLE数据。 TLE文件是专门设计用来描述人造卫星的轨道的,而不是描述月球距离处的大型天体,因此即使您可以将月球的运动调整为TLE轨道,其结果也可能不太准确。
PyEphem确实有一个ephem.Moon()
对象,它给出了月球的位置,尽管它不是使用TLE实现的,而是使用VSOP87实现的。那行得通吗?这是有关月球和行星等物体如何工作的文档:
https://rhodesmill.org/pyephem/quick.html#bodies