/// <summary> /// Initializes the transform using the parameters from the specified coordinate system information /// </summary> /// <param name="projInfo">A ProjectionInfo class contains all the standard and custom parameters needed to initialize this transform</param> protected override void OnInit(ProjectionInfo projInfo) { if (Es != 0) { _en = MeridionalDistance.GetEn(Es); if (_en == null) { throw new ProjectionException(0); } _ml0 = MeridionalDistance.MeridionalLength(Phi0, Math.Sin(Phi0), Math.Cos(Phi0), _en); _esp = Es / (1 - Es); } else { _esp = K0; _ml0 = .5 * _esp; } }
/// <summary> /// Obtains the EN parameters for the Meridional distance /// </summary> /// <param name="es"></param> /// <returns></returns> public static double[] Enfn(double es) { return(MeridionalDistance.GetEn(es)); }