gistoolkit.projection
Class LambertConicConformalProjection

java.lang.Object
  extended bygistoolkit.projection.SimpleProjection
      extended bygistoolkit.projection.LambertConicConformalProjection
All Implemented Interfaces:
EditableProjection, EllipsoidProjection, Projection

public class LambertConicConformalProjection
extends SimpleProjection
implements EditableProjection

A conformal conic projection. Also known as the Conic Orthomorphic projection. This conic projection was designed by Lambert (1772) and has been used extensively for mapping of regions with predominantly east-west orientation, just like the Albers projection. Unlike the Albers projection, Lambert's conformal projection is not equal-area. The parallels are arcs of circles with a common origin, and meridians are the equally spaced radii of these circles. As with Albers projection, it is only the two standard parallels that are distortion-free.

from http://gmt.soest.hawaii.edu/gmt/doc/html/GMT_Docs/node43.html

Must specify the longitude and latitude of the oragin, as well as two standard parallels and the map scale in inches. As a rule of thumb, these parallels can be placed at one-sixth and five-sixths of the range of latitudes, but there are more refined means of selection.

Author:
ithaqua

Field Summary
static double EPS10
          determination of how close this projection should be.
 
Fields inherited from class gistoolkit.projection.SimpleProjection
FORTPI, HALFPI, PI, TWOPI
 
Constructor Summary
LambertConicConformalProjection()
          Creates new LambertConnicConvormalProjection
 
Method Summary
 java.lang.Object clone()
          clone this object
protected  void doSetup()
          set up the projection
 ProjectionPanel getEditPanel()
          Get the panel used to edit this projection
 double getLatitude1()
          return the first latitude where the distortion is zero
 double getLatitude2()
          return the first latitude where the distortion is zero
 Node getNode()
          Return the configuration information for this projection
 java.lang.String getProjectionName()
          return the name of the projection
 double getScaleFactor()
          return the scale factor
static void main(java.lang.String[] inArgs)
          Main routine for testing this projection
 void projectBackward(Point inPoint)
          Project the data in the reverse direction
 void projectForward(Point inPoint)
          Project the data in the forward direction
 void setLatitude1(double inLat1)
          Set the first latitude where the distortion is zero
 void setLatitude2(double inLat2)
          Set the first latitude where the distortion is zero
 void setNode(Node inNode)
          Setup this projection using the configuration information in the node
 void setScaleFactor(double inScaleFactor)
          Set the scale factor
 
Methods inherited from class gistoolkit.projection.SimpleProjection
aacos, aasin, aatan2, asqrt, getEasting, getEccentricity, getEllipsoid, getESquared, getLatOragin, getLonOragin, getNorthing, getUnitOfMeasure, hypot, pj_enfn, pj_msfn, pj_phi2, pj_qsfn, pj_tsfn, setEasting, setEllipsoid, setEnvelope, setLatOragin, setLonOragin, setNorthing, setup, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gistoolkit.projection.Projection
getUnitOfMeasure, setEnvelope
 

Field Detail

EPS10

public static final double EPS10
determination of how close this projection should be.

See Also:
Constant Field Values
Constructor Detail

LambertConicConformalProjection

public LambertConicConformalProjection()
Creates new LambertConnicConvormalProjection

Method Detail

getScaleFactor

public double getScaleFactor()
return the scale factor


setScaleFactor

public void setScaleFactor(double inScaleFactor)
Set the scale factor


getLatitude1

public double getLatitude1()
return the first latitude where the distortion is zero


setLatitude1

public void setLatitude1(double inLat1)
Set the first latitude where the distortion is zero


getLatitude2

public double getLatitude2()
return the first latitude where the distortion is zero


setLatitude2

public void setLatitude2(double inLat2)
Set the first latitude where the distortion is zero


projectForward

public void projectForward(Point inPoint)
                    throws java.lang.Exception
Project the data in the forward direction

Specified by:
projectForward in interface Projection
Specified by:
projectForward in class SimpleProjection
Throws:
java.lang.Exception

projectBackward

public void projectBackward(Point inPoint)
                     throws java.lang.Exception
Project the data in the reverse direction

Specified by:
projectBackward in interface Projection
Specified by:
projectBackward in class SimpleProjection
Throws:
java.lang.Exception

getProjectionName

public java.lang.String getProjectionName()
return the name of the projection

Specified by:
getProjectionName in interface Projection
Specified by:
getProjectionName in class SimpleProjection

doSetup

protected void doSetup()
                throws java.lang.Exception
set up the projection

Overrides:
doSetup in class SimpleProjection
Throws:
java.lang.Exception

getEditPanel

public ProjectionPanel getEditPanel()
Get the panel used to edit this projection

Specified by:
getEditPanel in interface EditableProjection

main

public static void main(java.lang.String[] inArgs)
Main routine for testing this projection


getNode

public Node getNode()
Return the configuration information for this projection

Specified by:
getNode in interface Projection
Overrides:
getNode in class SimpleProjection

setNode

public void setNode(Node inNode)
             throws java.lang.Exception
Setup this projection using the configuration information in the node

Specified by:
setNode in interface Projection
Overrides:
setNode in class SimpleProjection
Throws:
java.lang.Exception

clone

public java.lang.Object clone()
clone this object

Specified by:
clone in interface Projection
Specified by:
clone in class SimpleProjection