[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Developers] TLE.getLine1 problem



Petrus Hyvönen <petrus.hyvonen@gmail.com> a écrit :

Thomas,

Many thanks for that quick identification!

Do you have any plans/possibility to fix it in the 5.0 series as well?

Publishing an official new version is not only patching the code, it requires some additional non-technical work. So except if someone really strongly ask for a new 5.x version, we won't publish one.

For now, we are focusing on 6.0.

Luc


(I will be able to make the modificiation for my local use though,
after realizing how easy it was to build orekit.jar using "mvn
package" :)

Best Regards
/Petrus


On Mon, Jan 30, 2012 at 1:16 PM, Thomas Neidhart
<thomas.neidhart@gmail.com> wrote:
On 01/29/2012 06:34 PM, Petrus Hyvönen wrote:
Hi,

JavaError: java.lang.StringIndexOutOfBoundsException: String index out
of range: 67
    Java stacktrace:
java.lang.StringIndexOutOfBoundsException: String index out of range: 67

      at java.lang.StringBuffer.charAt(Unknown Source)

      at org.orekit.tle.TLE.checksum(TLE.java:630)

      at org.orekit.tle.TLE.buildLine1(TLE.java:335)

      at org.orekit.tle.TLE.getLine1(TLE.java:271)

Epoch = 2012-01-26T11:00:00.000

[snip]

Hi,

the problem happens because of a wrong formatting of the TLE epoch:

final DecimalFormat f38  = new DecimalFormat("##0.00000000", SYMBOLS);

For epochs with a day of the year < 100 there will be no leading 0 which
results in a too short line 1.

A quick fix would be to change the format to (in TLE.java, line 295):

final DecimalFormat f38  = new DecimalFormat("000.00000000", SYMBOLS);

I will create a bug report and fix it in trunk.

Thomas



--
_____________________________________________
Petrus Hyvönen, Uppsala, Sweden
Mobile Phone/SMS:+46 73 803 19 00





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.