com.bbn.openmap.proj
Class LLXY

java.lang.Object
  |
  +--com.bbn.openmap.proj.Proj
        |
        +--com.bbn.openmap.proj.Cylindrical
              |
              +--com.bbn.openmap.proj.LLXY
All Implemented Interfaces:
java.lang.Cloneable, EqualArc, Projection, java.io.Serializable
Direct Known Subclasses:
LLXYView

public class LLXY
extends Cylindrical
implements EqualArc

Implements the LLXY projection, which is basically something where the lat/lon and pixel ratios are the same.

See Also:
Serialized Form

Field Summary
protected  float cLat
           
protected  float cLon
           
protected  int hy
           
static java.lang.String LLXYName
          The LLXY name.
static int LLXYType
          The LLXY type of projection.
protected  float ppd
          Pixel per degree
protected  int wx
           
 
Fields inherited from class com.bbn.openmap.proj.Cylindrical
half_world, world
 
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
LLXY(LatLonPoint center, float scale, int width, int height)
          Construct a LLXY projection.
LLXY(LatLonPoint center, float scale, int width, int height, int type)
           
 
Method Summary
protected  void computeParameters()
          Called when some fundamental parameters change.
 java.awt.Point forward(float lat, float lon, java.awt.Point p)
          Forward projects a lat,lon coordinates.
 java.awt.Point forward(float lat, float lon, 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.
 java.lang.String getName()
          Get the name string of the projection.
 double getXPixConstant()
          Returns the x pixel constant of the projection.
 double getYPixConstant()
          Returns the y pixel constant of the projection.
 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.
 java.lang.String toString()
          Return stringified description of this projection.
 
Methods inherited from class com.bbn.openmap.proj.Cylindrical
_forwardPoly, drawBackground, drawBackground, forwardRaw, getLowerRight, getUpperLeft, pan
 
Methods inherited from class com.bbn.openmap.proj.Proj
clone, doPolyDispatch, 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, panE, panE, panN, panN, panNE, panNE, panNW, panNW, panS, panS, panSE, panSE, panSW, panSW, panW, panW, setCenter, 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
 
Methods inherited from interface com.bbn.openmap.proj.Projection
forward, forward, forwardArc, forwardCircle, forwardLine, forwardPoly, forwardRaster, forwardRaw, forwardRect, getCenter, getHeight, getLowerRight, getMaxScale, getMinScale, getProjectionID, getProjectionType, getScale, getScale, getUpperLeft, getWidth, inverse, inverse, isPlotable, makeClone, pan, pan
 

Field Detail

LLXYName

public static final transient java.lang.String LLXYName
The LLXY name.

See Also:
Constant Field Values

LLXYType

public static final transient int LLXYType
The LLXY type of projection.

See Also:
Constant Field Values

hy

protected int hy

wx

protected int wx

cLon

protected float cLon

cLat

protected float cLat

ppd

protected float ppd
Pixel per degree

Constructor Detail

LLXY

public LLXY(LatLonPoint center,
            float scale,
            int width,
            int height)
Construct a LLXY projection.

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

LLXY

public LLXY(LatLonPoint center,
            float scale,
            int width,
            int height,
            int type)
Method Detail

toString

public java.lang.String toString()
Return stringified description of this projection.

Overrides:
toString in class Cylindrical
Returns:
String
See Also:
Projection.getProjectionID()

computeParameters

protected void computeParameters()
Called when some fundamental parameters change. Each projection will decide how to respond to this change. For instance, they may need to recalculate "constant" paramters used in the forward() and inverse() calls.

Overrides:
computeParameters in class Cylindrical

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)

isPlotable

public boolean isPlotable(float lat,
                          float lon)
Checks if a LatLonPoint is plot-able. A point is always plot-able in the LLXY projection.

Specified by:
isPlotable in interface Projection
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.

Specified by:
forward in interface Projection
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.

Specified by:
forward in interface Projection
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 lat,
                              float lon,
                              java.awt.Point p,
                              boolean isRadian)
Forward projects lat,lon into XY space and returns a Point.

Specified by:
forward in interface Projection
Parameters:
lat - float latitude in radians
lon - 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(java.awt.Point pt,
                           LatLonPoint llp)
Inverse project a Point.

Specified by:
inverse in interface Projection
Parameters:
pt - x,y Point
llp - resulting LatLonPoint
Returns:
LatLonPoint llp

inverse

public LatLonPoint inverse(int x,
                           int y,
                           LatLonPoint llp)
Inverse project x,y coordinates into a LatLonPoint.

Specified by:
inverse in interface Projection
Parameters:
x - integer x coordinate
y - integer y coordinate
llp - LatLonPoint
Returns:
LatLonPoint llp
See Also:
Proj.inverse(Point)

getName

public java.lang.String getName()
Get the name string of the projection.

Specified by:
getName in interface Projection
Overrides:
getName in class Cylindrical

getXPixConstant

public double getXPixConstant()
Returns the x pixel constant of the projection. This was calcuated when the projection was created. Represents the number of pixels around the earth (360 degrees).

Specified by:
getXPixConstant in interface EqualArc

getYPixConstant

public double getYPixConstant()
Returns the y pixel constant of the projection. This was calcuated when the projection was created. Represents the number of pixels from 0 to 90 degrees.

Specified by:
getYPixConstant in interface EqualArc


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