Package com.luciad.tea
Class TLcdP2PRadarPropagationFunctionSkyBackground
java.lang.Object
com.luciad.tea.TLcdP2PRadarPropagationFunctionSkyBackground
- All Implemented Interfaces:
ILcdP2PPropagationFunction
public class TLcdP2PRadarPropagationFunctionSkyBackground
extends Object
implements ILcdP2PPropagationFunction
Computes the intervisibility with sky in background between the defining points. The definition of a visibility
with sky in background states that in a given distance
aSkyDistance
after the end point no terrain
background is found. This propagation function results 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
ConstructorDescriptionTLcdP2PRadarPropagationFunctionSkyBackground
(TLcdEarthRepresentationMode aEarthRepresentationMode, ALcdTerrainElevationProvider aTerrainElevationProvider, double aKFactor, double aSkyDistance) Creates a propagation function which computes the intervisibility with sky in background between the defining points. -
Method Summary
Modifier and TypeMethodDescriptioncomputeVisibility
(ILcdP2PCoverage aP2PCoverage, ILcdGeoReference aComputationReference) Computes the intervisibility with sky in background between the defining points of the coverageaP2PCoverage
in the referenceaComputationReference
and returns the result as aTLcdVisibilityStatus
.
-
Constructor Details
-
TLcdP2PRadarPropagationFunctionSkyBackground
public TLcdP2PRadarPropagationFunctionSkyBackground(TLcdEarthRepresentationMode aEarthRepresentationMode, ALcdTerrainElevationProvider aTerrainElevationProvider, double aKFactor, double aSkyDistance) Creates a propagation function which computes the intervisibility with sky in background between the defining points. The definition of a visibility with sky in background states that there is no elevation data behind the end point for the givenaSkyDistance
. 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.aSkyDistance
- The distance after the end point in which the terrain is taken into account as possible background. If no background is found, the end point is visible with sky as background.- 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 with sky in background between the defining points of the coverageaP2PCoverage
in the referenceaComputationReference
and returns the result as aTLcdVisibilityStatus
. A point is visible with sky in background if the point is intervisible from the start point and if in a given distance after the point no terrain background is found. The distance is configured in the constructor of this instance. 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
.
-