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