火山灰升高似乎是错误的

时间:2018-08-03 16:20:08

标签: python pyephem

我正在尝试使用pyephem计算卫星位置。

在大多数情况下,它似乎提供了有效的数据。但是,对于约10%的太空轨道TLE,其结果是错误的。例如:

tlelines = [
    '0 SCOUT X-4 DEB',
    '1 00722U 63053C   18107.73853716  .10519988  29718+0  80827-1 0  9998',
    '2 00722  78.3737 228.3264 0048420 261.5483  98.0279 15.81271626581437'
] 

sat = ephem.readtle(*tlelines)
now = ephem.now()  # 43314.17601851852
sat.compute(now)
print sat.elevation  # computed altitude, according to documentation

结果为9.793773380577526e+18,这绝对是错误的。根据太空轨道,远地点和近地点分别为359公里和294公里。

怎么了?我该如何解决这个问题?

PS。 Python v.2,pyephem v.3.7.6.0

1 个答案:

答案 0 :(得分:1)

问题似乎是您的坐标太旧;卫星坐标通常仅在发布后的两周内准确。在这种情况下:

 Scanner scan = new Scanner(System.in);
    String url;
    do{
        System.out.println("Please enter your url");
        url = scan.nextLine();
    }while(!isValidUrl(url));
    System.out.println("The Url was successfull"); //executs only if when the conditions is not met
}

您尝试使用的坐标是4个月大:

print(sat._epoch)

如果您尝试使用2018/4/17 17:43:30 之类的值,我认为您会得到一个更合理的数字。