diff --git a/src/coordinate/Tle.ts b/src/coordinate/Tle.ts index a5e81db..e6fe5ff 100644 --- a/src/coordinate/Tle.ts +++ b/src/coordinate/Tle.ts @@ -563,7 +563,12 @@ export class Tle { * @returns The International Designator. */ static intlDes(tleLine1: TleLine1): string { - return tleLine1.substring(Tle.intlDes_.start, Tle.intlDes_.stop).trim(); + const year2 = this.intlDesYear(tleLine1); + const year4 = year2 < 57 ? year2 + 2000 : year2 + 1900; + const launchNum = this.intlDesLaunchNum(tleLine1); + const launchPiece = this.intlDesLaunchPiece(tleLine1); + + return `${year4}-${launchNum.toString().padStart(3, '0')}${launchPiece}`; } /** diff --git a/test/objects/__snapshots__/Satellite.test.ts.snap b/test/objects/__snapshots__/Satellite.test.ts.snap index 9924072..15599c7 100644 --- a/test/objects/__snapshots__/Satellite.test.ts.snap +++ b/test/objects/__snapshots__/Satellite.test.ts.snap @@ -103,7 +103,7 @@ Satellite { "epochYear": 22, "id": -1, "inclination": 51.6415, - "intlDes": "98067A", + "intlDes": "1998-067A", "meanAnomaly": 54.7009, "meanMoDev1": 0.00003068, "meanMoDev2": 0, diff --git a/test/tle/tleData.ts b/test/tle/tleData.ts index ac4ea99..f9802b1 100644 --- a/test/tle/tleData.ts +++ b/test/tle/tleData.ts @@ -9,7 +9,7 @@ export const tleData = [ satNum: 25544, satNumRaw: '25544', classification: 'U', - intlDes: '98067A', + intlDes: '1998-067A', intlDesYear: 98, intlDesLaunchNum: 67, intlDesLaunchPiece: 'A', @@ -42,7 +42,7 @@ export const tleData = [ satNum: 25544, satNumRaw: '25544', classification: 'U', - intlDes: '98067A', + intlDes: '1998-067A', intlDesYear: 98, intlDesLaunchNum: 67, intlDesLaunchPiece: 'A', @@ -76,7 +76,7 @@ export const tleData = [ satNum: 900, satNumRaw: '00900', classification: 'C', - intlDes: '64063C', + intlDes: '1964-063C', intlDesYear: 64, intlDesLaunchNum: 63, intlDesLaunchPiece: 'C', @@ -103,15 +103,15 @@ export const tleData = [ }, { NOTE: 'This is not really secret information!', - line1: '1 A3712S 95060A 22206.53025105 -.00000022 00000+0 00000+0 0 9991' as TleLine1, + line1: '1 A3712S 05060A 22206.53025105 -.00000022 00000+0 00000+0 0 9991' as TleLine1, line2: '2 A3712 13.5389 14.0082 0001997 133.0685 227.0577 1.00275623 18615' as TleLine2, linenum1: 1, linenum2: 2, satNum: 103712, satNumRaw: 'A3712', classification: 'S', - intlDes: '95060A', - intlDesYear: 95, + intlDes: '2005-060A', + intlDesYear: 5, intlDesLaunchNum: 60, intlDesLaunchPiece: 'A', epochYear: 22,