/** * @param units * @param semiMajorAxis * @param semiMinorAxis * @param id * containing the relevant information */ public Ellipsoid( IUnit units, double semiMajorAxis, double semiMinorAxis, CRSResource id ) { super( id ); this.units = units; this.semiMajorAxis = semiMajorAxis; this.semiMinorAxis = semiMinorAxis; flattening = ( semiMajorAxis - semiMinorAxis ) / semiMajorAxis; if ( Math.abs( flattening ) > 0.00001 ) { inverseFlattening = 1. / flattening; } else { inverseFlattening = 0; } this.squaredEccentricity = calcSquaredEccentricity( flattening ); this.eccentricity = Math.sqrt( squaredEccentricity ); }
/** * @param semiMajorAxis * @param units * @param inverseFlattening * @param id * containing all id relevant data. */ public Ellipsoid( double semiMajorAxis, IUnit units, double inverseFlattening, CRSResource id ) { super( id ); this.units = units; this.semiMajorAxis = semiMajorAxis; this.inverseFlattening = inverseFlattening; if ( Math.abs( this.inverseFlattening ) > 0.00001 ) { flattening = 1. / this.inverseFlattening; } else { flattening = 0; } this.squaredEccentricity = calcSquaredEccentricity( this.flattening ); eccentricity = Math.sqrt( squaredEccentricity ); this.semiMinorAxis = this.semiMajorAxis - ( flattening * this.semiMajorAxis ); }