@Test public void testForum() { Frame ECI = FramesFactory.getEME2000(); double mu = Constants.WGS84_EARTH_MU; double LAT = FastMath.toRadians(43.05722) ; double LON = FastMath.toRadians(76.971667) ; double ALT = 2735.0; AbsoluteDate t1 = new AbsoluteDate(2023, Month.JUNE, 9, 17, 4,59.10, TimeScalesFactory.getUTC()); AbsoluteDate t2 = new AbsoluteDate(2023, Month.JUNE, 9, 17, 10,50.66, TimeScalesFactory.getUTC()); AbsoluteDate t3 = new AbsoluteDate(2023, Month.JUNE, 9, 17, 16,21.09, TimeScalesFactory.getUTC()); Vector3D RA = new Vector3D((15.* (16. + 5./60. + 51.20/3600.)), (15.*(16.+ 11./60. + 43.73/3600.)), (15.*(16.+ 17./60. + 15.1/3600. ))); Vector3D DEC = new Vector3D((-(6.+ 31./60. + 44.22/3600.)), (-(6. + 31./60. + 52.36/3600.)), (-(6. +32./60. + 0.03/3600.))); int nRev = 0; Frame ITRF = FramesFactory.getITRF(IERSConventions.IERS_2010, true); OneAxisEllipsoid earth = new OneAxisEllipsoid( Constants.WGS84_EARTH_EQUATORIAL_RADIUS ,Constants.WGS84_EARTH_FLATTENING, ITRF); GeodeticPoint stationCoord = new GeodeticPoint(LAT, LON, ALT); TopocentricFrame stationFrame = new TopocentricFrame(earth, stationCoord, "N42"); GroundStation ground_station = new GroundStation(stationFrame); ObservableSatellite sat1 = new ObservableSatellite(1); double[] angular1 = {FastMath.toRadians(RA.getX()), FastMath.toRadians(DEC.getX())}; double[] angular2 = {FastMath.toRadians(RA.getY()), FastMath.toRadians(DEC.getY())}; double[] angular3 = {FastMath.toRadians(RA.getZ()), FastMath.toRadians(DEC.getZ())}; double[] sigma = {1.0, 1.0}; double[] baseW = {1.0, 1.0}; AngularRaDec raDec1 = new AngularRaDec(ground_station, FramesFactory.getEME2000(), t1, angular1, sigma, baseW, sat1); AngularRaDec raDec2 = new AngularRaDec(ground_station, FramesFactory.getEME2000(), t2, angular2, sigma, baseW, sat1); AngularRaDec raDec3 = new AngularRaDec(ground_station, FramesFactory.getEME2000(), t3, angular3, sigma, baseW, sat1); Vector3D pos1 = stationFrame.getPVCoordinates(t1,ECI).getPosition(); Vector3D pos2 = stationFrame.getPVCoordinates(t2,ECI).getPosition(); Vector3D pos3 = stationFrame.getPVCoordinates(t3,ECI).getPosition(); Vector3D posGauss1 = new Vector3D(-2.0921302099117476E7, -3.6670713616811395E7, 34465.7831621021); Vector3D posGauss2 = new Vector3D(-1.99735595868321E7, -3.719354402143339E7, 32965.932702185586); Vector3D posGauss3 = new Vector3D(-1.90708500448641E7, -3.766276304220245E7, 31536.539604075253); double p1 = posGauss1.getNorm(); double p3 = posGauss3.getNorm(); Position position1 = new Position(t1,posGauss1, 1., 1.,sat1); Position position2 = new Position(t2,posGauss2, 1., 1.,sat1); Position position3 = new Position(t3,posGauss3, 1., 1.,sat1); IodGauss iodGauss = new IodGauss(mu, eme2000); Orbit estimatedGauss = iodGauss.estimate(raDec1,raDec2,raDec3); KeplerianOrbit kepOrbitGauss = new KeplerianOrbit(estimatedGauss); System.out.print(kepOrbitGauss); IodGibbs iodGibbs = new IodGibbs(mu); Orbit estimated_orbit_Gibbs = iodGibbs.estimate(ECI,position1, position2, position3); KeplerianOrbit kepOrbitGibbs = new KeplerianOrbit(estimated_orbit_Gibbs); System.out.print(kepOrbitGibbs); IodGooding gooding = new IodGooding(mu,eme2000,p1, p3, 0,true); Orbit estimated_orbit_Gooding = gooding.estimate(raDec1,raDec2,raDec3); KeplerianOrbit kepOrbitGooding = new KeplerianOrbit(estimated_orbit_Gooding); System.out.print(kepOrbitGooding); IodLaplace iodLaplace = new IodLaplace(mu, eme2000); Orbit estimatedIodLaplace =iodLaplace.estimate(raDec1,raDec2,raDec3); KeplerianOrbit kepOrbitLaplace = new KeplerianOrbit(estimatedIodLaplace); System.out.print(kepOrbitLaplace); IodLambert iodLambert= new IodLambert(mu); Orbit estimatedIodLambert =iodLambert.estimate(eme2000, true,0, position1, position2 ); KeplerianOrbit kepOrbitLambert = new KeplerianOrbit(estimatedIodLambert); System.out.print(kepOrbitLambert); }