docs: @SuppressWarnings({"checkstyle:parametername", "checkstyle:magicnumber",
  		"checkstyle:localfinalvariablename", "checkstyle:localvariablename"})
  	private static Point2d NTFLambdaPhi_NTFLambert(double lambda, double phi, double n, double c, double Xs, double Ys) {
  		//---------------------------------------------------------
  		// 3) cartesian coordinate NTF (X_n,Y_n,Z_n)
  		//    -> geographical coordinate NTF (phi_n,lambda_n)
  
  		// One formula is given by the IGN, and two constants about
  		// the ellipsoide are from the NTF system specification of Clarke 1880.
  		// Ref:
  		//		http://www.ign.fr/telechargement/MPro/geodesie/CIRCE/NTG_80.pdf
  		//		http://support.esrifrance.fr/Documents/Generalites/Projections/Generalites/Generalites.htm#2
  		final double a_n = 6378249.2;
  		final double b_n = 6356515.0;
  		// then
  		final double e2_n = (a_n * a_n - b_n * b_n) / (a_n * a_n);
  
  		//---------------------------------------------------------
  		// 4) Geographical coordinate NTF (phi_n,lambda_n)
  		//    -> Extended Lambert II coordinate (X_l2e, Y_l2e)
  
  		// Formula are given by the IGN from another specification
  		// Ref:
  		//		http://www.ign.fr/telechargement/MPro/geodesie/CIRCE/NTG_71.pdf
  
  		final double e_n = Math.sqrt(e2_n);
  		// Let the longitude in radians of Paris (2°20'14.025" E) from the Greenwich meridian
  		final double lambda0 = 0.04079234433198;
  
  		// Compute the isometric latitude
  		final double L = Math.log(Math.tan(Math.PI / 4. + phi / 2.)
  				* Math.pow((1. - e_n * Math.sin(phi)) / (1. + e_n * Math.sin(phi)),
  						e_n / 2.));
  
  		// Then do the projection according to extended Lambert II
  		final double X_l2e = Xs + c * Math.exp(-n * L) * Math.sin(n * (lambda - lambda0));
  		final double Y_l2e = Ys - c * Math.exp(-n * L) * Math.cos(n * (lambda - lambda0));
  
  		return new Point2d(X_l2e, Y_l2e);
  	}