cdm/src/main/java/ucar/unidata/geoloc/projection/proj4/LambertConformalConicEllipse.java
private static void toProj(ProjectionImpl p, double lat, double lon) {
    System.out.printf("lon,lat = %f %f%n", lon, lat);
    ProjectionPoint pt = p.latLonToProj(lat, lon);
    System.out.printf("x,y     = %f %f%n", pt.getX(), pt.getY());
    LatLonPoint ll = p.projToLatLon(pt);
    System.out.printf("lon,lat = %f %f%n%n", ll.getLongitude(), ll.getLatitude());
  }
private static void toProj(ProjectionImpl p, double lat, double lon) {
    System.out.printf("lon,lat = %f %f%n", lon, lat);
    ProjectionPoint pt = p.latLonToProj(lat, lon);
    System.out.printf("x,y     = %f %f%n", pt.getX(), pt.getY());
    LatLonPoint ll = p.projToLatLon(pt);
    System.out.printf("lon,lat = %f %f%n%n", ll.getLongitude(), ll.getLatitude());
  }
private static void toProj ( ProjectionImpl p , double lat , double lon ) { System . out . printf ( "lon,lat = %f %f%n" , lon , lat ) ; ProjectionPoint pt = p . latLonToProj ( lat , lon ) ; System . out . printf ( "x,y     = %f %f%n" , pt . getX ( ) , pt . getY ( ) ) ; LatLonPoint ll = p . projToLatLon ( pt ) ; System . out . printf ( "lon,lat = %f %f%n%n" , ll . getLongitude ( ) , ll . getLatitude ( ) ) ; }
/*
proj +inv +proj=aea +lat_0=23.0 +lat_1=29.5 +lat_2=45.5 +a=6378137.0 +rf=298.257222101 +b=6356752.31414 +lon_0=-96.0

Input X,Y:     1730692.593817677      1970917.991173046

results in:

Output Lon,Lat:     -75.649278      39.089117
/ * proj + inv + proj = aea + lat_0 = 23 . 0 + lat_1 = 29 . 5 + lat_2 = 45 . 5 + a = 6378137 . 0 + rf = 298 . 257222101 + b = 6356752 . 31414 + lon_0 = - 96 . 0