public abstract class ALcdPerspective extends ALcdProjection implements ILcdPerspective, Cloneable
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.
fPropertyChangeDispatcher
EPSILON
Constructor and Description |
---|
ALcdPerspective() |
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. |
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.
|
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
ALcdPerspective : the longitude
and latitude and the height of the point of origin of the projection and
the distance of the point of perspective. |
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 |
writePropertiesSFCT(String aPrefix,
Properties aPropertySFCT)
Writes the 4 properties of an
ALcdPerspective : 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)
ILcdPerspective
aLatitude
.setOriginLat
in interface ILcdAzimuthal
setOriginLat
in interface ILcdPerspective
aLatitude
- The new originLat value.ILcdPerspective.getOriginLat()
public void setOriginLon(double aLongitude)
ILcdPerspective
aLongitude
.setOriginLon
in interface ILcdAzimuthal
setOriginLon
in interface ILcdPerspective
aLongitude
- The new originLon value.ILcdPerspective.getOriginLon()
public void setOriginHeight(double aHeight)
ILcdPerspective
setOriginHeight
in interface ILcdPerspective
aHeight
- The new originHeight value.ILcdPerspective.getOriginHeight()
public void setPerspectiveDistance(double aDistance)
ILcdPerspective
setPerspectiveDistance
in interface ILcdPerspective
aDistance
- The new perspectiveDistance value.ILcdPerspective.getPerspectiveDistance()
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()
ILcdPerspective
getOriginLat
in interface ILcdAzimuthal
getOriginLat
in interface ILcdPerspective
ILcdPerspective.setOriginLat(double)
public double getOriginLon()
ILcdPerspective
getOriginLon
in interface ILcdAzimuthal
getOriginLon
in interface ILcdPerspective
ILcdPerspective.setOriginLon(double)
public double getOriginHeight()
ILcdPerspective
getOriginHeight
in interface ILcdPerspective
ILcdPerspective.setOriginHeight(double)
public double getPerspectiveDistance()
ILcdPerspective
getPerspectiveDistance
in interface ILcdPerspective
ILcdPerspective.setPerspectiveDistance(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
ALcdPerspective
: 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
ILcdPerspective
. 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)
ALcdPerspective
: 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 this ILcdPerspective
analyze 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
.