Package com.luciad.projection
Class ALcdPerspective
java.lang.Object
com.luciad.projection.ALcdProjection
com.luciad.projection.ALcdPerspective
- All Implemented Interfaces:
ILcdAzimuthal,ILcdPerspective,ILcdProjection,ILcdPropertyChangeSource,Serializable,Cloneable
- Direct Known Subclasses:
TLcdVerticalPerspective
ALcdPerspective are ILcdProjection objects that
have a central point of zero distortion. This central point is the origin of
the ALcdPerspective.
An ALcdPerspective has an origin, which is expressed in lat-lon
coordinates together with its height above the ellipsoid. The distance of the
point of perspective is given from the center of the earth, divided by the
semi-major axis. The point of perspective is located along the line through
the center of the earth and the point of origin.

- See Also:
-
Field Summary
Fields inherited from class com.luciad.projection.ALcdProjection
fPropertyChangeDispatcherFields inherited from interface com.luciad.projection.ILcdProjection
EPSILON -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidConstants based on the longitude, latitude, height of the point of origin of projection and the distance of the point of perspective don't have to be recalculated every time a method is called.clone()Makes a deep clone of thisILcdProjection.booleanChecks if thisILcdProjectionequals some other Object.Origin of the projection is theILcd2DEditablePointthat corresponds with origin (0, 0) of the cartesian coordinate system of the projection.doubleGets the height of the point of origin above the ellipsoid.doubleGets the latitude of the origin of the projection.doubleGets the longitude of the origin of the projection.doubleGets the distance of the point of perspective from the center of the earth, divided by a , the semi-major axis.inthashCode()booleanAnILcdProjectionis continuous if there are no interruptions in the world coordinates.voidloadProperties(String aPrefix, Properties aProperty) Loads the 4 properties of anALcdPerspective: the longitude and latitude and the height of the point of origin of the projection and the distance of the point of perspective.voidsetOriginHeight(double aHeight) Sets the height of the point of origin above the ellipsoid.voidsetOriginLat(double aLatitude) Sets the latitude of the origin toaLatitude.voidsetOriginLon(double aLongitude) Sets the longitude of the origin toaLongitude.voidsetPerspectiveDistance(double aDistance) Sets the distance of the point of perspective from the center of the earth, divided by a, the semi-major axis.voidwritePropertiesSFCT(String aPrefix, Properties aPropertySFCT) Writes the 4 properties of anALcdPerspective: the longitude and latitude and the height of the point of origin of the projection and the distance of the point of perspective.Methods inherited from class com.luciad.projection.ALcdProjection
addPropertyChangeListener, boundaryLats, boundaryLons, firePropertyChangeEvent, inWorldBoundsOnEllipsoid, lonlatheight2worldOnEllipsoidSFCT, removePropertyChangeListener, world2DEditableBoundsOnEllipsoidSFCT, world2lonlatOnEllipsoidSFCTMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.luciad.projection.ILcdProjection
boundaryLats, boundaryLons, inLonLatBounds, inWorldBoundsOnEllipsoid, inWorldBoundsOnSphere, isAllInBounds, lonlatheight2worldOnEllipsoidSFCT, lonlatheight2worldOnSphereSFCT, toString, world2DEditableBoundsOnEllipsoidSFCT, world2DEditableBoundsOnSphereSFCT, world2lonlatOnEllipsoidSFCT, world2lonlatOnSphereSFCTMethods inherited from interface com.luciad.util.ILcdPropertyChangeSource
addPropertyChangeListener, removePropertyChangeListener
-
Constructor Details
-
ALcdPerspective
public ALcdPerspective()
-
-
Method Details
-
setOriginLat
public void setOriginLat(double aLatitude) Description copied from interface:ILcdPerspectiveSets the latitude of the origin toaLatitude.- Specified by:
setOriginLatin interfaceILcdAzimuthal- Specified by:
setOriginLatin interfaceILcdPerspective- Parameters:
aLatitude- The new originLat value.- See Also:
-
setOriginLon
public void setOriginLon(double aLongitude) Description copied from interface:ILcdPerspectiveSets the longitude of the origin toaLongitude.- Specified by:
setOriginLonin interfaceILcdAzimuthal- Specified by:
setOriginLonin interfaceILcdPerspective- Parameters:
aLongitude- The new originLon value.- See Also:
-
setOriginHeight
public void setOriginHeight(double aHeight) Description copied from interface:ILcdPerspectiveSets the height of the point of origin above the ellipsoid.- Specified by:
setOriginHeightin interfaceILcdPerspective- Parameters:
aHeight- The new originHeight value.- See Also:
-
setPerspectiveDistance
public void setPerspectiveDistance(double aDistance) Description copied from interface:ILcdPerspectiveSets the distance of the point of perspective from the center of the earth, divided by a, the semi-major axis.- Specified by:
setPerspectiveDistancein interfaceILcdPerspective- Parameters:
aDistance- The new perspectiveDistance value.- See Also:
-
getOrigin
Description copied from interface:ILcdProjectionOrigin of the projection is theILcd2DEditablePointthat corresponds with origin (0, 0) of the cartesian coordinate system of the projection.- Specified by:
getOriginin interfaceILcdProjection- Returns:
- the origin of the projection.
-
getOriginLat
public double getOriginLat()Description copied from interface:ILcdPerspectiveGets the latitude of the origin of the projection.- Specified by:
getOriginLatin interfaceILcdAzimuthal- Specified by:
getOriginLatin interfaceILcdPerspective- Returns:
- the latitude of the origin of the projection.
- See Also:
-
getOriginLon
public double getOriginLon()Description copied from interface:ILcdPerspectiveGets the longitude of the origin of the projection.- Specified by:
getOriginLonin interfaceILcdAzimuthal- Specified by:
getOriginLonin interfaceILcdPerspective- Returns:
- the longitude of the origin of the projection.
- See Also:
-
getOriginHeight
public double getOriginHeight()Description copied from interface:ILcdPerspectiveGets the height of the point of origin above the ellipsoid.- Specified by:
getOriginHeightin interfaceILcdPerspective- Returns:
- the height of the point of origin above the ellipsoid.
- See Also:
-
getPerspectiveDistance
public double getPerspectiveDistance()Description copied from interface:ILcdPerspectiveGets the distance of the point of perspective from the center of the earth, divided by a , the semi-major axis.- Specified by:
getPerspectiveDistancein interfaceILcdPerspective- Returns:
- the distance of the point of perspective from the center of the earth, divided by a , the semi-major axis.
- See Also:
-
isContinuous
public boolean isContinuous()Description copied from interface:ILcdProjectionAnILcdProjectionis continuous if there are no interruptions in the world coordinates. Most projections are continuous.- Specified by:
isContinuousin interfaceILcdProjection- Returns:
trueif the projection is continuous,falseotherwise.
-
loadProperties
Loads the 4 properties of anALcdPerspective: the longitude and latitude and the height of the point of origin of the projection and the distance of the point of perspective. This method will, given aPrefix, analyze theaPropertiesobject to set the properties of thisILcdPerspective. The values of following keys are retrieved:- <aPrefix><the name of the class that extends this abstract class>.originLat
- <aPrefix><the name of the class that extends this abstract class>.originLon
- <aPrefix><the name of the class that extends this abstract class>.perspectiveDistance
- <aPrefix><the name of the class that extends this abstract class>.originHeight
- Specified by:
loadPropertiesin interfaceILcdProjection- Parameters:
aPrefix- prefix of the property names.aProperty- Properties object containing the serialized properties.- Throws:
IllegalArgumentException- if the projection cannot be created.
-
writePropertiesSFCT
Writes the 4 properties of anALcdPerspective: the longitude and latitude and the height of the point of origin of the projection and the distance of the point of perspective. This method will, given aPrefix, stores the properties of thisILcdPerspectiveanalyze theaPropertiesobject. The values of following keys are stored:- <aPrefix><the name of the class that extends this abstract class>.originLat
- <aPrefix><the name of the class that extends this abstract class>.originLon
- <aPrefix><the name of the class that extends this abstract class>.perspectiveDistance
- <aPrefix><the name of the class that extends this abstract class>.originHeight
- Specified by:
writePropertiesSFCTin interfaceILcdProjection- Parameters:
aPrefix- prefix for the property names.aPropertySFCT- Properties object to store the serialized properties by side effect.
-
calculateCachedValues
protected void calculateCachedValues()Constants based on the longitude, latitude, height of the point of origin of projection and the distance of the point of perspective don't have to be recalculated every time a method is called. They only have to be calculated when the projection properties change. Within the methods the precalculated values then can be used in order to gain efficiency. -
hashCode
public int hashCode() -
equals
Description copied from interface:ILcdProjectionChecks if thisILcdProjectionequals some other Object.- Specified by:
equalsin interfaceILcdProjection- Overrides:
equalsin classObject- Parameters:
aObject- Object to compare with.- Returns:
- true if the Object is an instance of the same
ILcdProjectionclass and having the same projection properties, false otherwise.
-
clone
Description copied from interface:ILcdProjectionMakes a deep clone of thisILcdProjection.- Specified by:
clonein interfaceILcdProjection- Overrides:
clonein classALcdProjection- Returns:
- deep clone of this
ILcdProjection.
-