TLE(两行轨道数据)卫星星历中时间转换方法(C#)

C#对星历第一行中08264.51782528与时间格式的转换:此处用19231.87932542举例

19231.87932542-->2019/8/19 21:06:13

DateTime datetime=Convert.ToDateTime("2000-01-01");

double days=double.Parse(“231.87932542”);

dateTime=datetime.Addyears(19);

datetime=datetime.AddDays(days).AddDays(-1);

2019/8/19 21:06:13-->19231.87932542

首先计算此日期是一年中的第几天:

DateTime  t1=Convert.ToDateTime("2019-08-19");

int year=t1.year;

DateTime   tbase=Convert.ToDateTime(string.Format("{0}-1-1"),year);

TimeSpan ts=t1-tbase;

int d=ts.Days+1;-------------------d=231

其次计算该时刻占一天的份额:

int second=21*60*60+6*60+13;

double ratio=second/24*60*60=0.87931713--计算出来有所误差

最后组合:

年份+第多少天+一天的占比=19231.87931713

TLE星历格式组成:

卫星星历的结构为三行,首行数据为卫星名称;后面两行则存储了卫星相关数据,每行69个字符,包括0~9、A~Z(大写)、空格、点和正负号

示例分析:

示例:

ISS (ZARYA)
1 25544U 98067A   08264.51782528 -.00002182  00000-0 -11606-4 0  2927
2 25544  51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537

 

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值