Package com.luciad.projection
Class ALcdGeneralPerspective
java.lang.Object
com.luciad.projection.ALcdProjection
com.luciad.projection.ALcdGeneralPerspective
- All Implemented Interfaces:
ILcdGeneralPerspective,ILcdProjection,ILcdPropertyChangeSource,Serializable,Cloneable
- Direct Known Subclasses:
TLcdGeneralPerspective
public abstract class ALcdGeneralPerspective
extends ALcdProjection
implements ILcdGeneralPerspective, Cloneable
ALcdGeneralPerspective are ILcdProjection objects
that have a central point of zero distortion. This central point is the
origin of the ALcdGeneralPerspective.
An ALcdGeneralPerspective 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.doubleReturns the azimuth east of north of the Y-axis, the most upward-tilted axis of the plane of projection in degrees.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.doublegetTilt()Returns the upward angle of tilt, or the angle between the Y_t axis and the tangent plane in degrees.inthashCode()booleanAnILcdProjectionis continuous if there are no interruptions in the world coordinates.voidloadProperties(String aPrefix, Properties aProperty) Loads the 4 properties of anALcdGeneralPerspective: the longitude and latitude and the height of the point of origin of the projection and the distance of the point of perspective.voidsetAzimuth(double aAzimuth) Sets the azimuth east of north of the Y-axis, the most upward-tilted axis of the plane of projection.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.voidsetTilt(double aTiltAngle) Sets the upward angle of tilt, or the angle between the Y_t axis and the tangent plane.voidwritePropertiesSFCT(String aPrefix, Properties aPropertySFCT) Writes the 4 properties of anALcdGeneralPerspective: 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
-
ALcdGeneralPerspective
public ALcdGeneralPerspective()
-
-
Method Details
-
setOriginLat
public void setOriginLat(double aLatitude) Description copied from interface:ILcdGeneralPerspectiveSets the latitude of the origin toaLatitude.- Specified by:
setOriginLatin interfaceILcdGeneralPerspective- Parameters:
aLatitude- The new originLat value.- See Also:
-
setOriginLon
public void setOriginLon(double aLongitude) Description copied from interface:ILcdGeneralPerspectiveSets the longitude of the origin toaLongitude.- Specified by:
setOriginLonin interfaceILcdGeneralPerspective- Parameters:
aLongitude- The new originLon value.- See Also:
-
setOriginHeight
public void setOriginHeight(double aHeight) Description copied from interface:ILcdGeneralPerspectiveSets the height of the point of origin above the ellipsoid.- Specified by:
setOriginHeightin interfaceILcdGeneralPerspective- Parameters:
aHeight- The new originHeight value.- See Also:
-
setPerspectiveDistance
public void setPerspectiveDistance(double aDistance) Description copied from interface:ILcdGeneralPerspectiveSets the distance of the point of perspective from the center of the earth, divided by a, the semi-major axis.- Specified by:
setPerspectiveDistancein interfaceILcdGeneralPerspective- Parameters:
aDistance- The new perspectiveDistance value.- See Also:
-
setAzimuth
public void setAzimuth(double aAzimuth) Description copied from interface:ILcdGeneralPerspectiveSets the azimuth east of north of the Y-axis, the most upward-tilted axis of the plane of projection. The Y_t axis is oriented at azimuthaAzimuthrather than due north.- Specified by:
setAzimuthin interfaceILcdGeneralPerspective- Parameters:
aAzimuth- The new azimuth value in degrees.- See Also:
-
setTilt
public void setTilt(double aTiltAngle) Description copied from interface:ILcdGeneralPerspectiveSets the upward angle of tilt, or the angle between the Y_t axis and the tangent plane.- Specified by:
setTiltin interfaceILcdGeneralPerspective- Parameters:
aTiltAngle- The new tilt value, in degrees- 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:ILcdGeneralPerspectiveGets the latitude of the origin of the projection.- Specified by:
getOriginLatin interfaceILcdGeneralPerspective- Returns:
- the latitude of the origin of the projection.
- See Also:
-
getOriginLon
public double getOriginLon()Description copied from interface:ILcdGeneralPerspectiveGets the longitude of the origin of the projection.- Specified by:
getOriginLonin interfaceILcdGeneralPerspective- Returns:
- the longitude of the origin of the projection.
- See Also:
-
getOriginHeight
public double getOriginHeight()Description copied from interface:ILcdGeneralPerspectiveGets the height of the point of origin above the ellipsoid.- Specified by:
getOriginHeightin interfaceILcdGeneralPerspective- Returns:
- the height of the point of origin above the ellipsoid.
- See Also:
-
getPerspectiveDistance
public double getPerspectiveDistance()Description copied from interface:ILcdGeneralPerspectiveGets the distance of the point of perspective from the center of the earth, divided by a , the semi-major axis.- Specified by:
getPerspectiveDistancein interfaceILcdGeneralPerspective- Returns:
- the distance of the point of perspective from the center of the earth, divided by a , the semi-major axis.
- See Also:
-
getAzimuth
public double getAzimuth()Description copied from interface:ILcdGeneralPerspectiveReturns the azimuth east of north of the Y-axis, the most upward-tilted axis of the plane of projection in degrees.- Specified by:
getAzimuthin interfaceILcdGeneralPerspective- Returns:
- the azimuth of the azimuth east of north of the Y-axis in degrees.
- See Also:
-
getTilt
public double getTilt()Description copied from interface:ILcdGeneralPerspectiveReturns the upward angle of tilt, or the angle between the Y_t axis and the tangent plane in degrees.- Specified by:
getTiltin interfaceILcdGeneralPerspective- Returns:
- the angle between the Y_t axis and the tangent plane in degrees.
- 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 anALcdGeneralPerspective: 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 thisILcdGeneralPerspective. 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 anALcdGeneralPerspective: 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, store the properties of thisILcdGeneralPerspectiveinto 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.
-