public void computeParameters(){
  if (ellps == null) {
    ellps=Ellipsoid.WGS_84;
  }
  if (mode == MODE_BELGIUM) {
    alpha=0.00014204d;
  }
 else {
    alpha=0d;
  }
  double phi1=ProjMath.degToRad(lambert_sp_one);
  double phi2=ProjMath.degToRad(lambert_sp_two);
  double phif=ProjMath.degToRad(referenceLatitude);
  double e=ellps.ecc;
  double sinphi;
  sinphi=Math.sin(phi1);
  double m1=lambMsfn(sinphi,Math.cos(phi1),e);
  double t1=lambTsfn(phi1,sinphi,e);
  if (MoreMath.approximately_equal(phi1,phi2,EPS10)) {
    n=sinphi;
  }
 else {
    sinphi=Math.sin(phi2);
    double m2=lambMsfn(sinphi,Math.cos(phi2),e);
    double t2=lambTsfn(phi2,sinphi,e);
    n=Math.log(m1 / m2) / Math.log(t1 / t2);
  }
  F=m1 / (n * Math.pow(t1,n));
  if (MoreMath.approximately_equal(phi1,phi2,EPS10)) {
    rf=0.0d;
  }
 else {
    rf=ellps.radius * F * Math.pow(lambTsfn(phif,Math.sin(phif),e),n);
  }
  lamdaf=ProjMath.degToRad(centralMeridian);
  locationCenterXPixel=((double)getWidth() / 2d);
  locationCenterYPixel=((double)getHeight() / 2d);
  locationPixelsPerLambert=(double)getPPM() / getScale();
  LatLonPoint origin=new LatLonPoint.Double(referenceLatitude,centralMeridian);
  Point2D lp=LLToWorld(origin.getY(),origin.getX(),new Point2D.Double());
  locationOriginX=lp.getX();
  locationOriginY=lp.getY();
  LatLonPoint center=getCenter();
  lp=LLToWorld(center.getY(),center.getX(),lp);
  locationCenterXLambert=lp.getX();
  locationCenterYLambert=lp.getY();
  locationOriginXfPixel=locationCenterXPixel + (locationOriginX - locationCenterXLambert) * locationPixelsPerLambert;
  locationOriginYfPixel=locationCenterYPixel - (locationOriginY - locationCenterYLambert) * locationPixelsPerLambert;
  if (Debug.debugging("Lambert")) {
    Debug.output("Creating LambertConformal: center x = " + locationCenterXLambert + ", center y = "+ locationCenterYLambert);
    Debug.output("Creating LambertConformal: origin x = " + locationOriginX + ", origin y = "+ locationOriginY);
  }
}

public void computeParameters ( ) { if ( ellps == null ) { ellps = Ellipsoid . WGS_84 ; } if ( mode == MODE_BELGIUM ) { alpha = 0.00014204d ; } else { alpha = 0d ; } double phi1 = ProjMath . degToRad ( lambert_sp_one ) ; double phi2 = ProjMath . degToRad ( lambert_sp_two ) ; double phif = ProjMath . degToRad ( referenceLatitude ) ; double e = ellps . ecc ; double sinphi ; sinphi = Math . sin ( phi1 ) ; double m1 = lambMsfn ( sinphi , Math . cos ( phi1 ) , e ) ; double t1 = lambTsfn ( phi1 , sinphi , e ) ; if ( MoreMath . approximately_equal ( phi1 , phi2 , EPS10 ) ) { n = sinphi ; } else { sinphi = Math . sin ( phi2 ) ; double m2 = lambMsfn ( sinphi , Math . cos ( phi2 ) , e ) ; double t2 = lambTsfn ( phi2 , sinphi , e ) ; n = Math . log ( m1 / m2 ) / Math . log ( t1 / t2 ) ; } F = m1 / ( n * Math . pow ( t1 , n ) ) ; if ( MoreMath . approximately_equal ( phi1 , phi2 , EPS10 ) ) { rf = 0.0d ; } else { rf = ellps . radius * F * Math . pow ( lambTsfn ( phif , Math . sin ( phif ) , e ) , n ) ; } lamdaf = ProjMath . degToRad ( centralMeridian ) ; locationCenterXPixel = ( ( double ) getWidth ( ) / 2d ) ; locationCenterYPixel = ( ( double ) getHeight ( ) / 2d ) ; locationPixelsPerLambert = ( double ) getPPM ( ) / getScale ( ) ; LatLonPoint origin = new LatLonPoint . Double ( referenceLatitude , centralMeridian ) ; Point2D lp = LLToWorld ( origin . getY ( ) , origin . getX ( ) , new Point2D . Double ( ) ) ; locationOriginX = lp . getX ( ) ; locationOriginY = lp . getY ( ) ; LatLonPoint center = getCenter ( ) ; lp = LLToWorld ( center . getY ( ) , center . getX ( ) , lp ) ; locationCenterXLambert = lp . getX ( ) ; locationCenterYLambert = lp . getY ( ) ; locationOriginXfPixel = locationCenterXPixel + ( locationOriginX - locationCenterXLambert ) * locationPixelsPerLambert ; locationOriginYfPixel = locationCenterYPixel - ( locationOriginY - locationCenterYLambert ) * locationPixelsPerLambert ; if ( Debug . debugging ( "Lambert" ) ) { Debug . output ( "Creating LambertConformal: center x = " + locationCenterXLambert + ", center y = " + locationCenterYLambert ) ; Debug . output ( "Creating LambertConformal: origin x = " + locationOriginX + ", origin y = " + locationOriginY ) ; } }
called when some fundamental parameters change . < p > each projection will decide how to respond to this change . for instance , they may need to recalculate " constant " parameters used in the forward ( ) and inverse ( ) calls . < p >
