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
FieldsModifier and TypeFieldDescriptionstatic final intThe resulting value for the points corresponding to the cone of silence around the given point.static final intThe resulting value for points where the object is invisible due to the obstruction of the terrain.static final intThe resulting value for points where the visibility is unknown.static final intThe resulting value for points where the object is visible. -
Constructor Summary
ConstructorsConstructorDescriptionTLcdLOSPropagationFunctionFixedHeight(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 TypeMethodDescriptionvoidapplyForAzimuthSFCT(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 coverageaLOSCoverageand the matrix referenceaMatrixReference.voidinitialize(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Initialize the propagation function with the given coverageaLOSCoverageand 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, aNullPointerExceptionwill 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 argumentaLOSRadarPropagationFunctionisnull.IllegalArgumentException- if the argumentaLOSRadarPropagationFunctiondoes not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUSorTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUSand 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, aNullPointerExceptionwill 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 argumentaLOSRadarPropagationFunctionisnull.IllegalArgumentException- if the argumentaLOSRadarPropagationFunctiondoes not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUSorTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECTand if the argumentaFixedHeightis 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, aNullPointerExceptionwill 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 argumentaLOSRadarPropagationFunctionisnull.IllegalArgumentException- if the argumentaLOSRadarPropagationFunctiondoes not use the modeTLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUSorTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS, if it uses the altitude modeTLcdCoverageAltitudeMode.ABOVE_OBJECTand if the argumentaFixedHeightis set toTLcdCoverageAltitudeMode.ABOVE_OBJECT.
-
-
Method Details
-
createLOSCoverageMatrix
public ILcdLOSCoverageMatrix createLOSCoverageMatrix(ILcdLOSCoverage aLOSCoverage, ILcdGeoReference aMatrixReference) Description copied from interface:ILcdLOSPropagationFunctionCreates a coverage matrix using the line-of-sight coverageaLOSCoverageand 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
ILcdLOSCoverageMatrixcreated by this method is guaranteed to be capable of determining its own associatedPointX and associatedPointY properties. These values are not calculated by thisILcdPropagationFunction. AnILcdLOSPropagationFunctiondoes not modify the values of the associatedPointX and associatedPointY for its createdILcdLOSCoverageMatrix.- Specified by:
createLOSCoverageMatrixin 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:ILcdLOSPropagationFunctionInitialize the propagation function with the given coverageaLOSCoverageand 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:
initializein 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:
applyForAzimuthSFCTin interfaceILcdLOSPropagationFunction- Parameters:
aAzimuth- The azimuth in degrees.aLOSCoverageMatrixSFCT- The coverage matrix to update.- Throws:
NullPointerException- if the aLOSCoverageMatrixSFCT isnull.
-