Package com.luciad.tea
Class TLcdLOSPropagationFunctionFixedHeight
java.lang.Object
com.luciad.tea.TLcdLOSPropagationFunctionFixedHeight
- All Implemented Interfaces:
ILcdLOSPropagationFunction
public class TLcdLOSPropagationFunctionFixedHeight
extends Object
implements ILcdLOSPropagationFunction
Computes the visibility of points at a fixed height from the center point of a line-of-sight coverage.
This propagation function needs an
ILcdLOSPropagationFunction
on which it will base its
line-of-sight computations. The radar propagation function computes the minimal heights from which
one is visible. These heights, combined with the cone of visibility, are compared to the given fixed
height, resulting in one of the following values:
VISIBLE
: for points where the object is visible.INVISIBLE
: for points where the object is invisible.CONE_OF_SILENCE
: for the points corresponding to the cone of silence around the given point.UNKNOWN
: for points where the visibility is unknown. For example when no elevation data or invalid data was found at that point.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The resulting value for the points corresponding to the cone of silence around the given point.static final int
The resulting value for points where the object is invisible due to the obstruction of the terrain.static final int
The resulting value for points where the visibility is unknown.static final int
The resulting value for points where the object is visible. -
Constructor Summary
ConstructorDescriptionTLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeightAboveEllipsoid) Creates a propagation function which computes the visibility of points at a fixed height from a given point.TLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode) Creates a propagation function which computes the visibility of points at a fixed height from a given point.TLcdLOSPropagationFunctionFixedHeight
(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode, TLcdLOSOptions aLOSOption) Creates a propagation function which computes the visibility of points at a fixed height from a given point. -
Method Summary
Modifier and TypeMethodDescriptionvoid
applyForAzimuthSFCT
(double aAzimuth, ILcdLOSCoverageMatrix aLOSCoverageMatrixSFCT) Computes the visibility of points at a fixed height from the center point of a line-of-sight coverage for a given azimuth and stores the resulting values in the line-of-sight coverage matrix.createLOSCoverageMatrix
(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Creates a coverage matrix using the line-of-sight coverageaLOSCoverage
and the matrix referenceaMatrixReference
.void
initialize
(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Initialize the propagation function with the given coverageaLOSCoverage
and the given matrix referenceaMatrixReference
.
-
Field Details
-
INVISIBLE
public static final int INVISIBLEThe resulting value for points where the object is invisible due to the obstruction of the terrain. For example when a point lies behind a hill or in a valley.- See Also:
-
UNKNOWN
public static final int UNKNOWNThe resulting value for points where the visibility is unknown. For example when no elevation data or invalid data was found at that point.- See Also:
-
CONE_OF_SILENCE
public static final int CONE_OF_SILENCEThe resulting value for the points corresponding to the cone of silence around the given point. This value is used for points which become visible if the vertical angle of the radar is set to [0, 180].- See Also:
-
VISIBLE
public static final int VISIBLEThe resulting value for points where the object is visible.- See Also:
-
-
Constructor Details
-
TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeightAboveEllipsoid) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown.- Parameters:
aLOSRadarPropagationFunction
- The propagation function on which to base its computations.aFixedHeightAboveEllipsoid
- The fixed height value defined in meters above ellipsoid.- Throws:
NullPointerException
- when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
- if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
and if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
.
-
TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown.- Parameters:
aLOSRadarPropagationFunction
- The propagation function on which to base its computations.aFixedHeight
- The fixed height value.aFixedHeightMode
- The altitude mode indicating how to interpret the fixed height.- Throws:
NullPointerException
- when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
- if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
and if the argumentaFixedHeight
is set toTLcdCoverageAltitudeMode.ABOVE_OBJECT
.
-
TLcdLOSPropagationFunctionFixedHeight
public TLcdLOSPropagationFunctionFixedHeight(ILcdLOSRadarPropagationFunction aLOSRadarPropagationFunction, double aFixedHeight, TLcdCoverageAltitudeMode aFixedHeightMode, TLcdLOSOptions aLOSOption) Creates a propagation function which computes the visibility of points at a fixed height from a given point. Note that the propagation function cannot be set tonull
. If this condition is not met, aNullPointerException
will be thrown.- Parameters:
aLOSRadarPropagationFunction
- The propagation function on which to base its computations.aFixedHeight
- The fixed height value.aFixedHeightMode
- The altitude mode indicating how to interpret the fixed height.aLOSOption
- A LOS option object containing parameters for the internals of this propagation function and its resulting coverages- Throws:
NullPointerException
- when the argumentaLOSRadarPropagationFunction
isnull
.IllegalArgumentException
- if the argumentaLOSRadarPropagationFunction
does not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECT
and if the argumentaFixedHeight
is set toTLcdCoverageAltitudeMode.ABOVE_OBJECT
.
-
-
Method Details
-
createLOSCoverageMatrix
public ILcdLOSCoverageMatrix createLOSCoverageMatrix(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Description copied from interface:ILcdLOSPropagationFunction
Creates a coverage matrix using the line-of-sight coverageaLOSCoverage
and the matrix referenceaMatrixReference
. The result of this method is used as input parameter for the methodapplyForAzimuthSFCT
, which will store the actual matrix values. The matrix should be consistent with the given coverage. This means that all matrix rows and columns represent evenly spaced radii and azimuths as defined by the radial and angular step sizes of the line-of-sight coverage. The methodILcdLOSPropagationFunction.initialize(com.luciad.tea.ILcdLOSCoverage, com.luciad.reference.ILcdGeoReference)
is called with the same arguments as supplied with this method.The
ILcdLOSCoverageMatrix
created by this method is guaranteed to be capable of determining its own associatedPointX and associatedPointY properties. These values are not calculated by thisILcdPropagationFunction
. AnILcdLOSPropagationFunction
does not modify the values of the associatedPointX and associatedPointY for its createdILcdLOSCoverageMatrix
.- Specified by:
createLOSCoverageMatrix
in interfaceILcdLOSPropagationFunction
- Parameters:
aLOSCoverage
- The covered area and the intermediate step sizes.aMatrixReference
- The reference in which this matrix is defined.- Returns:
- the created coverage matrix.
-
initialize
Description copied from interface:ILcdLOSPropagationFunction
Initialize the propagation function with the given coverageaLOSCoverage
and the given matrix referenceaMatrixReference
. For performance reasons, it is recommended that this method initializes all fields that are common to all computations or which do not depend on a specific azimuth.- Specified by:
initialize
in interfaceILcdLOSPropagationFunction
- Parameters:
aLOSCoverage
- The covered area to use.aMatrixReference
- The matrix reference in which to compute the matrix values.
-
applyForAzimuthSFCT
Computes the visibility of points at a fixed height from the center point of a line-of-sight coverage for a given azimuth and stores the resulting values in the line-of-sight coverage matrix. Note that this implementation assumes that the default value of a matrix entry corresponds to the value for invisible points (which isINVISIBLE
). Refer to the class documentation for more information about the different visibility values used in this propagation function.- Specified by:
applyForAzimuthSFCT
in interfaceILcdLOSPropagationFunction
- Parameters:
aAzimuth
- The azimuth in degrees.aLOSCoverageMatrixSFCT
- The coverage matrix to update.- Throws:
NullPointerException
- if the aLOSCoverageMatrixSFCT isnull
.
-