Package com.luciad.projection
Class ALcdProjection
java.lang.Object
com.luciad.projection.ALcdProjection
- All Implemented Interfaces:
ILcdProjection
,ILcdPropertyChangeSource
,Serializable
,Cloneable
- Direct Known Subclasses:
ALcdAzimuthal
,ALcdConic
,ALcdCylindrical
,ALcdGeneralPerspective
,ALcdObliqueCylindrical
,ALcdPerspective
,ALcdTransverseCylindrical
,TLcdGeodetic
,TLcdKrovak
,TLcdOrthorectifiedProjection
,TLcdPerspectiveProjection
,TLcdPolarStereographic
,TLcdPolyconic
,TLcdRectifiedPolynomialProjection
,TLcdRectifiedProjectiveProjection
,TLcdRectifiedRationalProjection
,TLcdRPCProjection
This abstract class can be used to implement an
ILcdProjection
.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected TLcdPropertyChangeDispatcher
Dispatches property changes to the listeners.Fields inherited from interface com.luciad.projection.ILcdProjection
EPSILON
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) Registers the givenPropertyChangeListener
to be notified when this object's properties change.double[][]
boundaryLats
(double aLongitude) Default implementation.double[][]
boundaryLons
(double aLatitude) Default implementation.clone()
Makes a deep clone of thisILcdProjection
.protected void
firePropertyChangeEvent
(PropertyChangeEvent aPropertyChangeEvent) Calls all the PropertyChangeListener objects about the property change taken place.boolean
inWorldBoundsOnEllipsoid
(ILcdPoint aXYPoint, ILcdEllipsoid aEllipsoid) Default implementation callsinWorldBoundsOnSphere
withaEllipsoid.getAuxRadius()
as sphere radius.void
lonlatheight2worldOnEllipsoidSFCT
(ILcdPoint aLLHP, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aXYPointSFCT) Default implementation callslonlatheight2worldOnEllipsoidSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.void
removePropertyChangeListener
(PropertyChangeListener aPropertyChangeListener) De-registers the givenPropertyChangeListener
from receiving property change events for this object.void
world2DEditableBoundsOnEllipsoidSFCT
(ILcdEllipsoid aEllipsoid, ILcd2DEditableBounds aWorldBoundsSFCT) Default implementation callsworld2lonlatOnSphereSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.void
world2lonlatOnEllipsoidSFCT
(ILcdPoint aXYPoint, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLPointSFCT) Default implementation callsworld2lonlatOnSphereSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.projection.ILcdProjection
equals, getOrigin, inLonLatBounds, inWorldBoundsOnSphere, isAllInBounds, isContinuous, loadProperties, lonlatheight2worldOnSphereSFCT, toString, world2DEditableBoundsOnSphereSFCT, world2lonlatOnSphereSFCT, writePropertiesSFCT
-
Field Details
-
fPropertyChangeDispatcher
Dispatches property changes to the listeners.
-
-
Constructor Details
-
ALcdProjection
public ALcdProjection()
-
-
Method Details
-
addPropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
Registers the given
PropertyChangeListener
to be notified when this object's properties change.In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source, you can use a
ALcdWeakPropertyChangeListener
instance as property change listener.- Specified by:
addPropertyChangeListener
in interfaceILcdPropertyChangeSource
- Parameters:
aPropertyChangeListener
- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSource
De-registers the given
PropertyChangeListener
from receiving property change events for this object.If the listener was added more than once, it will be notified one less time after being removed. If the listener is
null
, or was never added, no exception is thrown and no action is taken.- Specified by:
removePropertyChangeListener
in interfaceILcdPropertyChangeSource
- Parameters:
aPropertyChangeListener
- the listener that should no longer be notified of changes of this object's properties- See Also:
-
lonlatheight2worldOnEllipsoidSFCT
public void lonlatheight2worldOnEllipsoidSFCT(ILcdPoint aLLHP, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aXYPointSFCT) throws TLcdOutOfBoundsException Default implementation callslonlatheight2worldOnEllipsoidSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.- Specified by:
lonlatheight2worldOnEllipsoidSFCT
in interfaceILcdProjection
- Parameters:
aLLHP
- point to be projected.aEllipsoid
- ellipsoid on which the point is defined.aXYPointSFCT
- projected point as side effect.- Throws:
TLcdOutOfBoundsException
- If theILcdPoint
aLLHP
is not within the valid area of the projection (visible area), then this exception is thrown.
-
world2lonlatOnEllipsoidSFCT
public void world2lonlatOnEllipsoidSFCT(ILcdPoint aXYPoint, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLPointSFCT) throws TLcdOutOfBoundsException Default implementation callsworld2lonlatOnSphereSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.- Specified by:
world2lonlatOnEllipsoidSFCT
in interfaceILcdProjection
- Parameters:
aXYPoint
- projected point for which the corresponding geodetic point is sought.aEllipsoid
- ellipsoid on which the geodetic coordinate is defined.aLLPointSFCT
- resulting geodetic coordinate as side effect.- Throws:
TLcdOutOfBoundsException
- If theILcdPoint
aXYPoint
is not within the valid area of the projection (visible area), then this exception is thrown.
-
world2DEditableBoundsOnEllipsoidSFCT
public void world2DEditableBoundsOnEllipsoidSFCT(ILcdEllipsoid aEllipsoid, ILcd2DEditableBounds aWorldBoundsSFCT) Default implementation callsworld2lonlatOnSphereSFCT
withaEllipsoid.getAuxRadius()
as sphere radius.- Specified by:
world2DEditableBoundsOnEllipsoidSFCT
in interfaceILcdProjection
- Parameters:
aEllipsoid
- ellipsoid considered.aWorldBoundsSFCT
- the bounds of the projection in world coordinates as side effect.
-
inWorldBoundsOnEllipsoid
Default implementation callsinWorldBoundsOnSphere
withaEllipsoid.getAuxRadius()
as sphere radius.- Specified by:
inWorldBoundsOnEllipsoid
in interfaceILcdProjection
- Parameters:
aXYPoint
- point to be checked upon.aEllipsoid
- ellipsoid on which the geodetic coordinate is defined.- Returns:
true
if valid,false
if invalid.- See Also:
-
boundaryLons
public double[][] boundaryLons(double aLatitude) Default implementation. To be redefined for specific projections.- Specified by:
boundaryLons
in interfaceILcdProjection
- Parameters:
aLatitude
- latitude in decimal degrees and -90.0 <=aLat
<= 90.0.- Returns:
- the array of pairs of longitudes[0] and longitudes[1], where the closed interval longitudes[0] -> longitudes[1] is in visible area and -180.0 <= lon[i] <= 180.0.
-
boundaryLats
public double[][] boundaryLats(double aLongitude) Default implementation. To be redefined for specific projections.- Specified by:
boundaryLats
in interfaceILcdProjection
- Parameters:
aLongitude
- longitude in decimal degrees -180.0 <= lon <= 180.0 .- Returns:
- the array of pairs of latitudes lats[0] and lats[1], where the closed interval lats[0] -> lats[1] is in visible area and -90.0 <= lats[i] <= 90.0 .
-
clone
Description copied from interface:ILcdProjection
Makes a deep clone of thisILcdProjection
.- Specified by:
clone
in interfaceILcdProjection
- Overrides:
clone
in classObject
- Returns:
- deep clone of this
ILcdProjection
.
-
firePropertyChangeEvent
Calls all the PropertyChangeListener objects about the property change taken place.- Parameters:
aPropertyChangeEvent
- The property change that has taken place.
-