我在这方面没有经验,但在过去的几天里,我用python编写了一些跟踪(希望是) ISS的代码。我已经做了数学计算,并让这方面的事情工作,但只有当我使用matlab的lla2eci注入卫星位置。为了得到正确的答案,我从实时数据中获取卫星子点的纬度和经度,并使用matlab将其转换为eci。这个方法给出了国际空间站正确的视角(方位角和仰角),我已经用iss.compute(主页)用pyephem方法确认了它们,其中"home“就是我的lla。
我正在将matlab的lla2eci与satellite.propagate(...)在time = 2019 12 16 8 53 19,我得到了以下结果:
Lla2eci传播: x,y,z= (3873.9,-902.18,-4969.9) sgp4传播: x,y,z= (-4082.5,3458.3,-4195.1)
我一定是漏掉了什么!任何帮助都是非常感谢的,我很高兴回答任何问题以澄清。
发布于 2019-12-21 07:03:32
看这个问题,似乎你没有考虑到海拔高度?
既然你的目标是使用python代码跟踪国际空间站,我可以建议一种稍微不同的方法吗?
空间对象的
示例代码如下所示:
from sgp4.earth_gravity import wgs84
from sgp4.io import twoline2rv
from spacetrack import SpaceTrackClient
from datetime import datetime
#generate TLE from database
st = SpaceTrackClient('YOUR_USERNAME', 'YOUR_PASSWORD')
tle = st.tle_latest(norad_cat_id=[<ISS_NORAD_CAT_ID>], ordinal=1, format='tle')
line1 = tle[:69]
line2 = tle[70:-7]
#create satellite object
satellite = twoline2rv(line1, line2, wgs84)
date_time = datetime.utcnow()
#find position
sat_position, sat_velocity = satellite.propagate(date_time.year, date_time.month,...
date_time.day, date_time.hour, date_time.minute, date_time.second)使用您自己的用户名、密码和norad ID.。欢迎使用stackoverflow :)
https://stackoverflow.com/questions/59380239
复制相似问题