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
FieldsModifier and TypeFieldDescriptionprotected TLcdPropertyChangeDispatcherDispatches property changes to the listeners.Fields inherited from interface com.luciad.projection.ILcdProjection
EPSILON -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPropertyChangeListener(PropertyChangeListener aPropertyChangeListener) Registers the givenPropertyChangeListenerto 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 voidfirePropertyChangeEvent(PropertyChangeEvent aPropertyChangeEvent) Calls all the PropertyChangeListener objects about the property change taken place.booleaninWorldBoundsOnEllipsoid(ILcdPoint aXYPoint, ILcdEllipsoid aEllipsoid) Default implementation callsinWorldBoundsOnSpherewithaEllipsoid.getAuxRadius()as sphere radius.voidlonlatheight2worldOnEllipsoidSFCT(ILcdPoint aLLHP, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aXYPointSFCT) Default implementation callslonlatheight2worldOnEllipsoidSFCTwithaEllipsoid.getAuxRadius()as sphere radius.voidremovePropertyChangeListener(PropertyChangeListener aPropertyChangeListener) De-registers the givenPropertyChangeListenerfrom receiving property change events for this object.voidworld2DEditableBoundsOnEllipsoidSFCT(ILcdEllipsoid aEllipsoid, ILcd2DEditableBounds aWorldBoundsSFCT) Default implementation callsworld2lonlatOnSphereSFCTwithaEllipsoid.getAuxRadius()as sphere radius.voidworld2lonlatOnEllipsoidSFCT(ILcdPoint aXYPoint, ILcdEllipsoid aEllipsoid, ILcd2DEditablePoint aLLPointSFCT) Default implementation callsworld2lonlatOnSphereSFCTwithaEllipsoid.getAuxRadius()as sphere radius.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:ILcdPropertyChangeSourceRegisters the given
PropertyChangeListenerto 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
ALcdWeakPropertyChangeListenerinstance as property change listener.- Specified by:
addPropertyChangeListenerin interfaceILcdPropertyChangeSource- Parameters:
aPropertyChangeListener- The listener to be notified- See Also:
-
removePropertyChangeListener
Description copied from interface:ILcdPropertyChangeSourceDe-registers the given
PropertyChangeListenerfrom 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:
removePropertyChangeListenerin 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 callslonlatheight2worldOnEllipsoidSFCTwithaEllipsoid.getAuxRadius()as sphere radius.- Specified by:
lonlatheight2worldOnEllipsoidSFCTin interfaceILcdProjection- Parameters:
aLLHP- point to be projected.aEllipsoid- ellipsoid on which the point is defined.aXYPointSFCT- projected point as side effect.- Throws:
TLcdOutOfBoundsException- If theILcdPointaLLHPis 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 callsworld2lonlatOnSphereSFCTwithaEllipsoid.getAuxRadius()as sphere radius.- Specified by:
world2lonlatOnEllipsoidSFCTin 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 theILcdPointaXYPointis 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 callsworld2lonlatOnSphereSFCTwithaEllipsoid.getAuxRadius()as sphere radius.- Specified by:
world2DEditableBoundsOnEllipsoidSFCTin interfaceILcdProjection- Parameters:
aEllipsoid- ellipsoid considered.aWorldBoundsSFCT- the bounds of the projection in world coordinates as side effect.
-
inWorldBoundsOnEllipsoid
Default implementation callsinWorldBoundsOnSpherewithaEllipsoid.getAuxRadius()as sphere radius.- Specified by:
inWorldBoundsOnEllipsoidin interfaceILcdProjection- Parameters:
aXYPoint- point to be checked upon.aEllipsoid- ellipsoid on which the geodetic coordinate is defined.- Returns:
trueif valid,falseif invalid.- See Also:
-
boundaryLons
public double[][] boundaryLons(double aLatitude) Default implementation. To be redefined for specific projections.- Specified by:
boundaryLonsin 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:
boundaryLatsin 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:ILcdProjectionMakes a deep clone of thisILcdProjection.- Specified by:
clonein interfaceILcdProjection- Overrides:
clonein 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.
-