## com.bbn.openmap.proj
Class LambertConformalConic

    java.lang.Object
      |
      +--com.bbn.openmap.proj.Proj
            |
            +--com.bbn.openmap.proj.Conic
                  |
                  +--com.bbn.openmap.proj.LambertConformalConic

All Implemented Interfaces:
  java.lang.Cloneable, Projection, java.io.Serializable

Direct Known Subclasses:
  MassStatePlane

public class LambertConformalConic
extends Conic

Implements the LambertConformalConic projection.

Author:
  Don Dietrick
See Also:
  Serialized Form

Field Summary
`protected double` `F`
`protected double` `halfPI`
`protected int` `hy`
`static java.lang.String` `LambertCCName` The LambertCC name.
`static int` `LambertCCType` The LambertCC type of projection.
`protected double` `n`
`protected double` `Po`
`protected double` `quarterPI`
`protected double` `RF`
`protected int` `wx`

Fields inherited from class com.bbn.openmap.proj.Conic
`backgroundColor, eastBorder, northBorder, origin, parallel1, parallel2, southBorder, westBorder`

Fields inherited from class com.bbn.openmap.proj.Proj
`ctrLat, ctrLon, DATELINE, height, maxscale, mercator, MIN_HEIGHT, MIN_WIDTH, minscale, NORTH_POLE, NUM_DEFAULT_CIRCLE_VERTS, NUM_DEFAULT_GREAT_SEGS, pixelsPerMeter, planetPixelCircumference, planetPixelRadius, planetRadius, projID, scale, scaled_radius, SOUTH_POLE, type, width, XSCALE_THRESHOLD, XTHRESHOLD`

Constructor Summary
`LambertConformalConic(LatLonPoint center, float scale, int width, int height)` Construct a Lambert projection.

Method Summary
`protected float` `forward_x(float phi, float lambda)` forward_x() - arguments in radians (-DATELINE <= lambda < DATELINE), (SOUTH_POLE <= phi <= NORTH_POLE), returns a raw float in world coordinates.
`protected float` `forward_y(float phi, float lambda)` forward_y() - arguments in radians (-DATELINE <= lambda < DATELINE), (SOUTH_POLE <= phi <= NORTH_POLE), returns a raw float value in world coordinates.
`java.awt.Point` `forward(float lat, float lon, java.awt.Point p)` Forward projects a lat,lon coordinates.
`java.awt.Point` `forward(float phi, float lambda, java.awt.Point p, boolean isRadian)` Forward projects lat,lon into XY space and returns a Point.
`java.awt.Point` `forward(LatLonPoint pt, java.awt.Point p)` Projects a point from Lat/Lon space to X/Y space.
`LatLonPoint` `getLowerRight()` Get the lower right (southeast) point of the projection.
`java.lang.String` `getName()` Get the name string of the projection.
`LatLonPoint` `getUpperLeft()` Get the upper left (northwest) point of the projection.
`protected float` `inverse_lat(float x, float y)` inverse_lat(x, y) - assumes raw float values in world coordinates.
`protected float` `inverse_lon(float x, float y)` inverse_lon(x, y) - assumes raw float values in world coordinates.
`LatLonPoint` `inverse(int x, int y, LatLonPoint llp)` Inverse project x,y coordinates into a LatLonPoint.
`LatLonPoint` `inverse(java.awt.Point pt, LatLonPoint llp)` Inverse project a Point.
`boolean` `isPlotable(float lat, float lon)` Checks if a LatLonPoint is plot-able.
`float` `normalize_latitude(float lat)` Sets radian latitude to something sane.

Methods inherited from class com.bbn.openmap.proj.Conic
`_forwardPoly, computeParameters, drawBackground, forwardRaw, setBorders, setCenter, toString`

Methods inherited from class com.bbn.openmap.proj.Proj

`clone, doPolyDispatch, drawBackground, equals, forward, forward, forwardArc, forwardArc, forwardArc, forwardCircle, forwardCircle, forwardCircle, forwardGreatPoly, forwardLine, forwardLine, forwardPoly, forwardPoly, forwardRaster, forwardRect, forwardRect, forwardRect, forwardRhumbPoly, getCenter, getHeight, getMaxScale, getMinScale, getPlanetPixelCircumference, getPlanetPixelRadius, getPlanetRadius, getPPM, getProjectionID, getProjectionType, getScale, getScale, getWidth, hashCode, inverse, inverse, isComplicatedLineType, isPlotable, makeClone, pan, pan, panE, panE, panN, panN, panNE, panNE, panNW, panNW, panS, panS, panSE, panSE, panSW, panSW, panW, panW, setCenter, setHeight, setMaxScale, setMinScale, setParms, setPlanetRadius, setPPM, setProjectionID, setScale, setWidth, wrap_longitude`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### LambertCCName

    public static final transient java.lang.String LambertCCName

  The LambertCC name.

  See Also:
    Constant Field Values

### LambertCCType

    public static final transient int LambertCCType

  The LambertCC type of projection.

  See Also:
    Constant Field Values

### hy

    protected int hy

### wx

    protected int wx

### n

    protected double n

### F

    protected double F

### Po

    protected double Po

### RF

    protected double RF

### quarterPI

    protected double quarterPI

### halfPI

    protected double halfPI

Constructor Detail

### LambertConformalConic

    public LambertConformalConic(LatLonPoint center,
                                 float scale,
                                 int width,
                                 int height)

  Construct a Lambert projection.

Parameters:
  `center` - LatLonPoint center of projection
  `scale` - float scale of projection
  `width` - width of screen
  `height` - height of screen

Method Detail

### normalize_latitude

    public float normalize_latitude(float lat)

  Sets radian latitude to something sane. This is an abstract function since some projections don't deal well with extreme latitudes.

  Specified by:
    `normalize_latitude` in class `Proj`
  Parameters:
    `lat` - float latitude in radians
  Returns:
    float latitude (-PI/2 <= y <= PI/2)
  See Also:
    `LatLonPoint.normalize_latitude(float)`

### forward_x

    protected float forward_x(float phi,
                              float lambda)

  forward_x() - arguments in radians (-DATELINE <= lambda < DATELINE), (SOUTH_POLE <= phi <= NORTH_POLE), returns a raw float in world coordinates.

### forward_y

    protected float forward_y(float phi,
                              float lambda)

  forward_y() - arguments in radians (-DATELINE <= lambda < DATELINE), (SOUTH_POLE <= phi <= NORTH_POLE), returns a raw float value in world coordinates.

### inverse_lat

    protected float inverse_lat(float x,
                                float y)

  inverse_lat(x, y) - assumes raw float values in world coordinates.

### inverse_lon

    protected float inverse_lon(float x,
                                float y)

  inverse_lon(x, y) - assumes raw float values in world coordinates.

### isPlotable

    public boolean isPlotable(float lat,
                              float lon)

  Checks if a LatLonPoint is plot-able.

  Parameters:
    `lat` - float latitude in decimal degrees
    `lon` - float longitude in decimal degrees
  Returns:
    boolean

### forward

    public java.awt.Point forward(LatLonPoint pt,
                                  java.awt.Point p)

  Projects a point from Lat/Lon space to X/Y space.

  Parameters:
    `pt` - LatLonPoint
    `p` - Point retval
  Returns:
    Point p

### forward

    public java.awt.Point forward(float lat,
                                  float lon,
                                  java.awt.Point p)

  Forward projects a lat,lon coordinates.

  Parameters:
    `lat` - raw latitude in decimal degrees
    `lon` - raw longitude in decimal degrees
    `p` - Resulting XY Point
  Returns:
    Point p

### forward

    public java.awt.Point forward(float phi,
                                  float lambda,
                                  java.awt.Point p,
                                  boolean isRadian)

  Forward projects lat,lon into XY space and returns a Point.

  Parameters:
    `phi` - float latitude in radians
    `lambda` - float longitude in radians
    `p` - Resulting XY Point
    `isRadian` - bogus argument indicating that lat,lon arguments are in radians
  Returns:
    Point p
  See Also:
    `Projection.forward(float,float,Point)`

### inverse

    public LatLonPoint inverse(int x,
                               int y,
                               LatLonPoint llp)

  Inverse project x,y coordinates into a LatLonPoint.

  Parameters:
    `x` - integer x coordinate
    `y` - integer y coordinate
    `llp` - LatLonPoint
  Returns:
    LatLonPoint llp
  See Also:
    `Proj.inverse(Point)`

### inverse

    public LatLonPoint inverse(java.awt.Point pt,
                               LatLonPoint llp)

  Inverse project a Point.

  Parameters:
    `pt` - x,y Point
    `llp` - resulting LatLonPoint
  Returns:
    LatLonPoint llp

### getUpperLeft

    public LatLonPoint getUpperLeft()

  Get the upper left (northwest) point of the projection.

  Returns the upper left point (or closest equivalent) of the projection based on the center point and height and width of screen.

  Returns:
    LatLonPoint

### getLowerRight

    public LatLonPoint getLowerRight()

  Get the lower right (southeast) point of the projection.

  Returns the lower right point (or closest equivalent) of the projection based on the center point and height and width of screen.

  Returns:
    LatLonPoint

### getName

    public java.lang.String getName()

  Get the name string of the projection.

  Specified by:
    `getName` in interface `Projection`
  Overrides:
    `getName` in class `Conic`

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details