Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Orekit Orekit
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 69
    • Issues 69
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Orekit
  • OrekitOrekit
  • Issues
  • #873
Closed
Open
Created Jan 04, 2022 by Evan Ward@evanward1Developer

NaN Altitude rate in OneAxisEllipsoid

The test case below fails because the computed altitude rate is NaN. It is a tricky case where the point is exactly on Earth's pole and traveling perpendicular to Earth's axis. The NaN seems to be created when computing dr = dr2.sqrt() where d(dr)/dt = 1/2 dr2**(-1/2) d(dr2)/dt which when dr2=0 and d(dr2)/dt = 0 reduces to 0/0 causing the NaN.

Alternatively if one projected the point into the local tangent plane to the ellipsoid then the altitude rate is the velocity in the zenith direction, which is clearly zero.

    @Test
    public void testGp() {
        AbsoluteDate epoch = AbsoluteDate.ARBITRARY_EPOCH;
        OneAxisEllipsoid earth = ReferenceEllipsoid.getWgs84(FramesFactory.getGCRF());
        FieldGeodeticPoint<DerivativeStructure> gp = earth.transform(
                new PVCoordinates(new Vector3D(0, 0, earth.getC()), new Vector3D(0, 1, 0)),
                earth.getBodyFrame(), epoch);
        assertThat(gp.getAltitude().getPartialDerivative(1), closeTo(0.0, 1e-12));
    }
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking