Package com.luciad.tea
Class TLcdP2PRadarPropagationFunction
java.lang.Object
com.luciad.tea.TLcdP2PRadarPropagationFunction
- All Implemented Interfaces:
ILcdP2PPropagationFunction
Computes the intervisibility between the defining points, resulting in one of the following values:
TLcdVisibilityStatus.VISIBLE
: when the two points are visible to each other.TLcdVisibilityStatus.INVISIBLE
: when the two points are invisible to each other.TLcdVisibilityStatus.UNCERTAIN
: for points where the intervisibility is unknown. For example when no or invalid elevation data was found between the defining points.
-
Constructor Summary
ConstructorDescriptionTLcdP2PRadarPropagationFunction
(TLcdEarthRepresentationMode aEarthRepresentationMode, ALcdTerrainElevationProvider aTerrainElevationProvider, double aKFactor) Creates a propagation function which computes the intervisibility between the defining points. -
Method Summary
Modifier and TypeMethodDescriptioncomputeVisibility
(ILcdP2PCoverage aP2PCoverage, ILcdGeoReference aComputationReference) Computes the intervisibility between the defining points of the coverageaP2PCoverage
in the referenceaComputationReference
and returns aTLcdVisibilityStatus
indicating the result of the visibility computation.
-
Constructor Details
-
TLcdP2PRadarPropagationFunction
public TLcdP2PRadarPropagationFunction(TLcdEarthRepresentationMode aEarthRepresentationMode, ALcdTerrainElevationProvider aTerrainElevationProvider, double aKFactor) Creates a propagation function which computes the intervisibility between the defining points. Currently, two earth representation modes are supported. If another representation mode is used, anIllegalArgumentException
will be thrown.- Parameters:
aEarthRepresentationMode
- The mode indicating which earth representation to use.aTerrainElevationProvider
- The terrain elevation provider.aKFactor
- A factor indicating the reflection of radar waves on the atmosphere. For radar computations, values should be greater than 1, usually 4/3. Setting the value equal to 1 will yield the same results as visual point-to-point computations.- Throws:
NullPointerException
- when the argumentaTerrainElevationProvider
isnull
.IllegalArgumentException
- if the argumentaKFactor
is smaller than or equal to zero and if the argumentaEarthRepresentationMode
is not one of the expected values (TLcdEarthRepresentationMode.SPHERICAL_FIXED_RADIUS
orTLcdEarthRepresentationMode.SPHERICAL_EULER_RADIUS
).
-
-
Method Details
-
computeVisibility
public TLcdVisibilityStatus computeVisibility(ILcdP2PCoverage aP2PCoverage, ILcdGeoReference aComputationReference) Computes the intervisibility between the defining points of the coverageaP2PCoverage
in the referenceaComputationReference
and returns aTLcdVisibilityStatus
indicating the result of the visibility computation. Refer to the class documentation for more information about the different visibility values. Note that currently only GEODETIC computation references are supported.- Specified by:
computeVisibility
in interfaceILcdP2PPropagationFunction
- Parameters:
aP2PCoverage
- The point-to-point coverage to use.aComputationReference
- The reference in which to compute the visibility.- Returns:
- the computed visibility status.
- Throws:
NullPointerException
- if one of the arguments isnull
.
-