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.
fPropertyChangeDispatcher
EPSILON
Constructor and Description |
---|
ALcdGeneralPerspective() |
Modifier and Type | Method and Description |
---|---|
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.
|
Object |
clone()
Makes a deep clone of this
ILcdProjection . |
boolean |
equals(Object aObject)
Checks if this
ILcdProjection equals some other Object. |
double |
getAzimuth()
Returns the azimuth east of north of the Y-axis, the most upward-tilted axis
of the plane of projection in degrees.
|
ILcdPoint |
getOrigin()
Origin of the projection is the
ILcd2DEditablePoint that
corresponds with origin (0, 0) of the cartesian coordinate system of the
projection. |
double |
getOriginHeight()
Gets the height of the point of origin above the ellipsoid.
|
double |
getOriginLat()
Gets the latitude of the origin of the projection.
|
double |
getOriginLon()
Gets the longitude of the origin of the projection.
|
double |
getPerspectiveDistance()
Gets the distance of the point of perspective from the center of the earth,
divided by a , the semi-major axis.
|
double |
getTilt()
Returns the upward angle of tilt, or the angle between the Y_t axis and the
tangent plane in degrees.
|
int |
hashCode() |
boolean |
isContinuous()
An
ILcdProjection is continuous if there are no interruptions
in the world coordinates. |
void |
loadProperties(String aPrefix,
Properties aProperty)
Loads the 4 properties of an
ALcdGeneralPerspective : the
longitude and latitude and the height of the point of origin of the
projection and the distance of the point of perspective. |
void |
setAzimuth(double aAzimuth)
Sets the azimuth east of north of the Y-axis, the most upward-tilted axis
of the plane of projection.
|
void |
setOriginHeight(double aHeight)
Sets the height of the point of origin above the ellipsoid.
|
void |
setOriginLat(double aLatitude)
Sets the latitude of the origin to
aLatitude . |
void |
setOriginLon(double aLongitude)
Sets the longitude of the origin to
aLongitude . |
void |
setPerspectiveDistance(double aDistance)
Sets the distance of the point of perspective from the center of the earth,
divided by a, the semi-major axis.
|
void |
setTilt(double aTiltAngle)
Sets the upward angle of tilt, or the angle between the Y_t axis and the
tangent plane.
|
void |
writePropertiesSFCT(String aPrefix,
Properties aPropertySFCT)
Writes the 4 properties of an
ALcdGeneralPerspective : the
longitude and latitude and the height of the point of origin of the
projection and the distance of the point of perspective. |
addPropertyChangeListener, boundaryLats, boundaryLons, firePropertyChangeEvent, inWorldBoundsOnEllipsoid, lonlatheight2worldOnEllipsoidSFCT, removePropertyChangeListener, world2DEditableBoundsOnEllipsoidSFCT, world2lonlatOnEllipsoidSFCT
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
boundaryLats, boundaryLons, inLonLatBounds, inWorldBoundsOnEllipsoid, inWorldBoundsOnSphere, isAllInBounds, lonlatheight2worldOnEllipsoidSFCT, lonlatheight2worldOnSphereSFCT, toString, world2DEditableBoundsOnEllipsoidSFCT, world2DEditableBoundsOnSphereSFCT, world2lonlatOnEllipsoidSFCT, world2lonlatOnSphereSFCT
addPropertyChangeListener, removePropertyChangeListener
public void setOriginLat(double aLatitude)
ILcdGeneralPerspective
aLatitude
.setOriginLat
in interface ILcdGeneralPerspective
aLatitude
- The new originLat value.ILcdGeneralPerspective.getOriginLat()
public void setOriginLon(double aLongitude)
ILcdGeneralPerspective
aLongitude
.setOriginLon
in interface ILcdGeneralPerspective
aLongitude
- The new originLon value.ILcdGeneralPerspective.getOriginLon()
public void setOriginHeight(double aHeight)
ILcdGeneralPerspective
setOriginHeight
in interface ILcdGeneralPerspective
aHeight
- The new originHeight value.ILcdGeneralPerspective.getOriginHeight()
public void setPerspectiveDistance(double aDistance)
ILcdGeneralPerspective
setPerspectiveDistance
in interface ILcdGeneralPerspective
aDistance
- The new perspectiveDistance value.ILcdGeneralPerspective.getPerspectiveDistance()
public void setAzimuth(double aAzimuth)
ILcdGeneralPerspective
aAzimuth
rather than due north.setAzimuth
in interface ILcdGeneralPerspective
aAzimuth
- The new azimuth value in degrees.ILcdGeneralPerspective.getAzimuth()
public void setTilt(double aTiltAngle)
ILcdGeneralPerspective
setTilt
in interface ILcdGeneralPerspective
aTiltAngle
- The new tilt value, in degreesILcdGeneralPerspective.getTilt()
public ILcdPoint getOrigin()
ILcdProjection
ILcd2DEditablePoint
that
corresponds with origin (0, 0) of the cartesian coordinate system of the
projection.getOrigin
in interface ILcdProjection
public double getOriginLat()
ILcdGeneralPerspective
getOriginLat
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setOriginLat(double)
public double getOriginLon()
ILcdGeneralPerspective
getOriginLon
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setOriginLon(double)
public double getOriginHeight()
ILcdGeneralPerspective
getOriginHeight
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setOriginHeight(double)
public double getPerspectiveDistance()
ILcdGeneralPerspective
getPerspectiveDistance
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setPerspectiveDistance(double)
public double getAzimuth()
ILcdGeneralPerspective
getAzimuth
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setAzimuth(double)
public double getTilt()
ILcdGeneralPerspective
getTilt
in interface ILcdGeneralPerspective
ILcdGeneralPerspective.setTilt(double)
public boolean isContinuous()
ILcdProjection
ILcdProjection
is continuous if there are no interruptions
in the world coordinates. Most projections are continuous.isContinuous
in interface ILcdProjection
true
if the projection is continuous,
false
otherwise.public void loadProperties(String aPrefix, Properties aProperty) throws IllegalArgumentException
ALcdGeneralPerspective
: 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 the aProperties
object to set the
properties of this ILcdGeneralPerspective
. The values of
following keys are retrieved:
loadProperties
in interface ILcdProjection
aPrefix
- prefix of the property names.aProperty
- Properties object containing the serialized properties.IllegalArgumentException
- if the projection cannot be created.public void writePropertiesSFCT(String aPrefix, Properties aPropertySFCT)
ALcdGeneralPerspective
: 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 this ILcdGeneralPerspective
into the aProperties
object. The values of following keys are
stored:
writePropertiesSFCT
in interface ILcdProjection
aPrefix
- prefix for the property names.aPropertySFCT
- Properties object to store the serialized properties by side effect.protected void calculateCachedValues()
public boolean equals(Object aObject)
ILcdProjection
ILcdProjection
equals some other Object.equals
in interface ILcdProjection
equals
in class Object
aObject
- Object to compare with.ILcdProjection
class and having the same
projection properties, false otherwise.public Object clone()
ILcdProjection
ILcdProjection
.clone
in interface ILcdProjection
clone
in class ALcdProjection
ILcdProjection
.