Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Clément Jonglez
Orekit
Commits
8fe8186b
Commit
8fe8186b
authored
Oct 09, 2020
by
Clément Jonglez
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Test case for issue #724
parent
0d524518
Pipeline
#653
failed with stage
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
84 additions
and
0 deletions
+84
-0
src/test/java/org/orekit/propagation/analytical/tle/TLEFittingIssue.java
...rg/orekit/propagation/analytical/tle/TLEFittingIssue.java
+84
-0
No files found.
src/test/java/org/orekit/propagation/analytical/tle/TLEFittingIssue.java
0 → 100644
View file @
8fe8186b
package
org.orekit.propagation.analytical.tle
;
import
java.util.ArrayList
;
import
org.junit.Test
;
import
org.orekit.Utils
;
import
org.orekit.frames.Frame
;
import
org.orekit.frames.FramesFactory
;
import
org.orekit.orbits.CartesianOrbit
;
import
org.orekit.orbits.PositionAngle
;
import
org.orekit.propagation.SpacecraftState
;
import
org.orekit.propagation.analytical.KeplerianPropagator
;
import
org.orekit.propagation.conversion.FiniteDifferencePropagatorConverter
;
import
org.orekit.propagation.conversion.TLEPropagatorBuilder
;
import
org.orekit.time.AbsoluteDate
;
import
org.orekit.time.TimeScale
;
import
org.orekit.time.TimeScalesFactory
;
import
org.orekit.utils.Constants
;
import
org.orekit.utils.IERSConventions
;
import
org.orekit.utils.PVCoordinates
;
import
org.hipparchus.geometry.euclidean.threed.Vector3D
;
import
org.hipparchus.util.FastMath
;
public
class
TLEFittingIssue
{
@Test
public
void
test
()
{
Utils
.
setDataRoot
(
"regular-data"
);
int
satellite_number
=
99999
;
char
classification
=
'U'
;
int
launch_year
=
2020
;
int
launch_number
=
1
;
String
launch_piece
=
"a"
;
int
ephemeris_type
=
0
;
int
element_number
=
1
;
int
revolution_number
=
1
;
double
mean_motion_first_derivative
=
0.0
;
double
mean_motion_second_derivative
=
0.0
;
double
b_star_first_guess
=
1
e
-
5
;
TimeScale
utc
=
TimeScalesFactory
.
getUTC
();
Frame
itrf
=
FramesFactory
.
getITRF
(
IERSConventions
.
IERS_2010
,
true
);
Frame
gcrf
=
FramesFactory
.
getGCRF
();
AbsoluteDate
launchDate
=
new
AbsoluteDate
(
2020
,
9
,
28
,
11
,
20
,
32.0
,
utc
);
AbsoluteDate
separationDate
=
launchDate
.
shiftedBy
(
12340.0
);
Frame
launchFrame
=
itrf
.
getFrozenFrame
(
gcrf
,
launchDate
,
"launchFrame"
);
Vector3D
pos_init
=
new
Vector3D
(
6048.107
,
3025.385
,
1585.042
).
scalarMultiply
(
1
e3
);
Vector3D
vel_init
=
new
Vector3D
(-
1.068882
,
-
1.694130
,
7.304083
).
scalarMultiply
(
1
e3
);
PVCoordinates
pvInit
=
new
PVCoordinates
(
pos_init
,
vel_init
);
CartesianOrbit
initialOrbit
=
new
CartesianOrbit
(
pvInit
,
launchFrame
,
separationDate
,
Constants
.
EIGEN5C_EARTH_MU
);
KeplerianPropagator
propagator
=
new
KeplerianPropagator
(
initialOrbit
);
ArrayList
<
SpacecraftState
>
states_list
=
new
ArrayList
<
SpacecraftState
>();
double
dt
=
60.0
;
AbsoluteDate
date_current
=
separationDate
;
while
(
date_current
.
compareTo
(
separationDate
.
shiftedBy
(
24
*
3600.0
))
<=
0
)
{
states_list
.
add
(
propagator
.
propagate
(
date_current
));
date_current
=
date_current
.
shiftedBy
(
dt
);
}
TLE
tle_first_guess
=
new
TLE
(
satellite_number
,
classification
,
launch_year
,
launch_number
,
launch_piece
,
ephemeris_type
,
element_number
,
initialOrbit
.
getDate
(),
initialOrbit
.
getKeplerianMeanMotion
(),
mean_motion_first_derivative
,
mean_motion_second_derivative
,
initialOrbit
.
getE
(),
initialOrbit
.
getI
(),
0.0
,
0.0
,
0.0
,
revolution_number
,
b_star_first_guess
);
double
threshold
=
1.0
;
TLEPropagatorBuilder
tle_builder
=
new
TLEPropagatorBuilder
(
tle_first_guess
,
PositionAngle
.
MEAN
,
1.0
);
FiniteDifferencePropagatorConverter
fitter
=
new
FiniteDifferencePropagatorConverter
(
tle_builder
,
threshold
,
10000
);
fitter
.
convert
(
states_list
,
false
,
"BSTAR"
);
TLEPropagator
tle_propagator
=
(
TLEPropagator
)
fitter
.
getAdaptedPropagator
();
TLE
tle_fitted
=
tle_propagator
.
getTLE
();
}
}
Clément Jonglez
@yzokras
mentioned in issue
orekit/orekit#724 (closed)
·
Oct 09, 2020
mentioned in issue
orekit/orekit#724 (closed)
mentioned in issue orekit/orekit#724
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment