From f597a06e7d86c54439712c65708e8d1617a61965 Mon Sep 17 00:00:00 2001
From: Guylaine Prat <guylaine.prat@c-s.fr>
Date: Mon, 26 Aug 2019 16:08:19 +0200
Subject: [PATCH] Correct IERS96 flattening and use Orekit Earth constants

Fixed issues #379 and #378
---
 .../java/org/orekit/rugged/api/RuggedBuilder.java    | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/orekit/rugged/api/RuggedBuilder.java b/src/main/java/org/orekit/rugged/api/RuggedBuilder.java
index 58be9580..1e6f0bf3 100644
--- a/src/main/java/org/orekit/rugged/api/RuggedBuilder.java
+++ b/src/main/java/org/orekit/rugged/api/RuggedBuilder.java
@@ -918,15 +918,21 @@ public class RuggedBuilder {
         // set up the ellipsoid
         switch (ellipsoidID) {
             case GRS80 :
-                return new OneAxisEllipsoid(6378137.0, 1.0 / 298.257222101, bodyFrame);
+                return new OneAxisEllipsoid(Constants.GRS80_EARTH_EQUATORIAL_RADIUS,
+                                            Constants.GRS80_EARTH_FLATTENING, 
+                                            bodyFrame);
             case WGS84 :
                 return new OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
                                             Constants.WGS84_EARTH_FLATTENING,
                                             bodyFrame);
             case IERS96 :
-                return new OneAxisEllipsoid(6378136.49, 1.0 / 298.25645, bodyFrame);
+                return new OneAxisEllipsoid(Constants.IERS96_EARTH_EQUATORIAL_RADIUS,
+                                            Constants.IERS96_EARTH_FLATTENING,
+                                            bodyFrame);
             case IERS2003 :
-                return new OneAxisEllipsoid(6378136.6, 1.0 / 298.25642, bodyFrame);
+                return new OneAxisEllipsoid(Constants.IERS2003_EARTH_EQUATORIAL_RADIUS,
+                                            Constants.IERS2003_EARTH_FLATTENING,
+                                            bodyFrame);
             default :
                 // this should never happen
                 throw new RuggedInternalError(null);
-- 
GitLab