TLESeries does not load all TLE sets with same epochs
Very occasionally, I found that TLESeries will have problem when
encounters two TLE sets with identical time epochs. I found several
other instances during my studies.
So, I think it might be helpful to add some warning or notice in the
current TLESeries to let users be aware of this.
I know it is "deprecated without replacement".
But, if you decide to fix it, the problem is when you create the
TreeSet, the comparator does not handle "equal" well, only comparing
epochs.
My simple solution is to sort by linenumber when two TLE sets have same
epochs, so that all format-correct TLE sets can be loaded, and data
cleaning is left for users.
This only works for single TLE source file. Even they are separated in
different files, they are very unlikely to have same linenumbers. This
should be correct enough for applications.
One testing example is provided:
~
1 16908U 86061A 08012.90875442 -.00000083 00000-0 10000-3 0 9991
2 16908 050.0118 321.7621 0011203 331.1658 028.8557 12.44459335642699
1 16908U 86061A 08012.90875442 -.00000083 +00000-0 +10000-3 0 9991
2 16908 050.0117 321.7621 0011200 331.1521 028.8693 12.44459325642694
~
I got the two TLE sets from space-track.org through there
website-interface, so this is not faked data. You can retrieve it by:
https://www.space-track.org/basicspacedata/query/class/tle/EPOCH/2008-01-12--2008-01-13/NORAD_CAT_ID/16908/orderby/TLE_LINE1%20ASC/format/tle
The reason I do not compare true anomaly is shown below:
~
1 16908U 86061A 08034.91387914 -.00000083 00000-0 10000-3 0 9998
2 16908 050.0095 254.1054 0011516 027.3846 332.7593 12.44459732645435
1 16908U 86061A 08034.91387914 -.00000083 +00000-0 +10000-3 0 9998
2 16908 050.0095 254.1054 0011516 027.3846 332.7593 12.44459732645435
~
They only differ by two additional "+" symbols. Retrived by:
https://www.space-track.org/basicspacedata/query/class/tle/EPOCH/2008-02-03--2008-02-04/NORAD_CAT_ID/16908/orderby/TLE_LINE1%20ASC/format/tle
(from redmine: issue id 411, created on 2018-04-03, closed on 2018-06-04)