|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectmccombe.mapping.CoordinateSystem
mccombe.mapping.Projection
mccombe.mapping.Lambert
public abstract class Lambert
An abstract base class for implementations of the Lambert Conformal Conic Projection
A Lambert projection maps points on the ellipsoid onto a cone which touches the ellipsoid
at two parallels of latitude. For countries with a large east-west extent, it provides smaller
variations in grid convergence than the more common TransverseMercator projection - but over
a limited range of latitude. IGN, France's national mapping agency, adopted the Lambert
Conformal Conic projection but had to divide mainland France into three zones of latitude,
with a fourth zone for the island of Corsica. These are implemented in this package as
subclasses of Lambert (see LambertI
,
LambertII
,
LambertIII
,
LambertIV
). To overcome the obvious inconvenience of
having the country divided into four distinct coordinate zones, a fifth set of Lambert Conformal Conical
projection coefficients LambertIIExtended
was produced to
provide a nationwide coordinate system but with greater degrees of distortion. Ironically,
the Lambert Conical projections have not been well-supported by handheld GPS equipment and
many French maps (such as the 1:25000 Blue Series) are now over-printed with a UTM grid.
In 1996, IGN introduced a new coordinate system known as Lambert 93
Field Summary |
---|
Fields inherited from class mccombe.mapping.CoordinateSystem |
---|
locus, ref, sph |
Constructor Summary | |
---|---|
Lambert(ENPair en,
Ellipsoid sphere,
Datum datum)
Create a new Lambert object based on Easting and Northing distances |
|
Lambert(Position p,
Ellipsoid e,
Datum d)
Creates a new instance of Lambert based on Position, Ellipsoid and Datum |
Method Summary | |
---|---|
protected void |
calcCoords()
Initialise coordinates for this Position |
Datum |
defaultDatum()
Define the default datum for this coordinate system |
Ellipsoid |
defaultEllipsoid()
Define the default Ellipsoid for this coordinate system |
protected abstract double |
e0()
Define false easting value |
protected static ENPair |
getEN(java.lang.String gridref)
Parse Lambert coordinates into easting and northing distances |
double |
gridConvergence()
Calculate grid convergence |
protected abstract double |
lamda0()
Define longitude of grid origin |
protected abstract double |
n0()
Define false northing |
protected abstract double |
phiB()
Define latitude of false origin |
protected abstract double |
phiL()
Define lower standard parallel for this projection |
protected abstract double |
phiU()
Define Upper standard parallel for this conical projection |
ENPair |
toEN()
Provide easting and northing distances |
java.lang.String |
toString()
Provide a String representation in Lambert coordinates. |
Methods inherited from class mccombe.mapping.CoordinateSystem |
---|
getDatum, getEllipsoid, getName, getPosition, getWGS84, parseDouble, toLatLong, toLatLongString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Lambert(Position p, Ellipsoid e, Datum d)
p
- Position of this pointe
- The Ellipsoid to used
- The Datum associated with this instancepublic Lambert(ENPair en, Ellipsoid sphere, Datum datum)
en
- Eastine and Northing valuessphere
- The Ellipsoid to usedatum
- the Datum to useMethod Detail |
---|
protected static ENPair getEN(java.lang.String gridref) throws GridFormatException
gridref
- A pair of Lambert coordinates (e.g. "X=435.212 Y=217.306"), specified in km.
GridFormatException
- Invalid coordinate format results in a GridFormatException being thrownpublic ENPair toEN()
toEN
in class Projection
public java.lang.String toString()
toString
in class CoordinateSystem
protected void calcCoords()
public double gridConvergence()
gridConvergence
in class Projection
public Datum defaultDatum()
defaultDatum
in class CoordinateSystem
public Ellipsoid defaultEllipsoid()
defaultEllipsoid
in class CoordinateSystem
protected abstract double phiU()
protected abstract double phiL()
protected abstract double phiB()
protected abstract double lamda0()
protected abstract double e0()
protected abstract double n0()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |