public final class TLspLOSProperties extends Object
TLspLOSCalculator
for performing the actual Line-Of-Sight (LOS) calculations.
The properties that are contained by the TLspLOSProperties
object are the following:
Constructor and Description |
---|
TLspLOSProperties()
Creates a new LOS properties object.
|
TLspLOSProperties(TLspLOSProperties aProperties)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
double |
getAngleArc()
Returns the angle arc in degrees, defined in a clockwise fashion.
|
double |
getAngleStart()
Returns the start of the angle with respect to the 3 o'clock line.
|
double |
getAngleStep()
Returns the discretization step used for partitioning the arc angle in the LOS calculations.
|
ILcdPoint |
getCenterPoint()
Returns the center point of the LOS area.
|
double |
getCenterPointAltitude()
Utility function that returns the the altitude of the center point with respect to the ellipsoid
(i.e.
|
TLcdCoverageAltitudeMode |
getCenterPointAltitudeMode()
Returns the altitude mode in which the center point altitude is defined.
|
ILcdGeoReference |
getCenterPointReference()
Returns the reference in which the center point is defined.
|
double |
getKFactor()
Returns K-factor used for the radar propagation function during the LOS calculations.
|
double |
getMaxRadarTiltAngle()
Returns the maximum tilt angle of the radar.
|
double |
getMaxRadarTiltAzimuth()
Returns the maximum radar tilt azimuth.
|
double |
getMaxVerticalAngle()
Returns the maximum angle of the (vertical) cone of silence used for calculating the LOS.
|
double |
getMinVerticalAngle()
Returns the minimum angle of the (vertical) cone of silence used for calculating the LOS.
|
double |
getRadius()
Returns the radius of the area in which the LOS calculations should be performed.
|
List<Double> |
getRadiusSampleDistances()
Returns the distances in meters from center at which to sample.
|
double |
getRadiusStep()
Returns the discretization step used for partitioning the radials used in the LOS calculations.
|
int |
hashCode() |
void |
setAngleArc(double aAngleArc)
Sets the angle arc to the given value, defined in a clockwise fashion.
|
void |
setAngleStart(double aAngleStart)
Sets the start of the angle to the given value.
|
void |
setAngleStep(double aAngleStep)
Sets the angle discretization step to the given value.
|
void |
setCenterPoint(ILcdPoint aCenterPoint)
Sets the center point of the LOS area to the given value.
|
void |
setCenterPointAltitudeMode(TLcdCoverageAltitudeMode aCenterPointAltitudeMode)
Sets the altitude mode for the center point altitude to the given value.
|
void |
setCenterPointReference(ILcdGeoReference aCenterPointReference)
Sets the reference in which the center point is defined to the given reference.
|
void |
setKFactor(double aKFactor)
Sets the K-factor for the radar propagation function to the given value.
|
void |
setMaxRadarTiltAngle(double aMaxRadarTiltAngle)
Sets the maximum tilt angle to the given value.
|
void |
setMaxRadarTiltAzimuth(double aMaxRadarTiltAzimuth)
Sets the maximum radar tilt azimuth to the given value.
|
void |
setMaxVerticalAngle(double aMaxVerticalAngle)
Set the maximum vertical angle to the given value.
|
void |
setMinVerticalAngle(double aMinVerticalAngle)
Sets the minimum vertical angle to the given value.
|
void |
setRadius(double aRadius)
Sets the radius of the LOS area to the given value.
|
void |
setRadiusSampleDistances(List<Double> aRadiusSampleDistances)
You can specify a
radius and a radius step to configure
uniform sampling. |
void |
setRadiusStep(double aRadiusStep)
Sets the radius discretization step to the given value.
|
String |
toString() |
public TLspLOSProperties()
The properties themselves are set to the following default values:
Property | Default value |
Angle Arc | 360.0 (degrees) |
Angle Start | 0.0 (degrees) |
Angle Step | 3.0 (degrees) |
Radius Max | 10000.0 (meters) |
Radius Step | 100.0 (meters) |
Radius Sample Distances | null |
Center Point | (0.0, 0.0) (lon,lat) |
Center Point Altitude Mode | ABOVE_ELLIPSOID |
Center Point Reference | WGS84 |
Min Vertical Angle | 60.0 (degrees) |
Max Vertical Angle | 120.0 (degrees) |
Max Radar Tilt Angle | 0.0 (degrees) |
Max Radar Tilt Azimuth | 0.0 |
K Factor | 4.0 / 3.0 |
public TLspLOSProperties(TLspLOSProperties aProperties)
aProperties
- the properties object whose properties will be copied into the new instancepublic double getAngleArc()
public void setAngleArc(double aAngleArc)
angle step
.aAngleArc
- the new angle arc in degreespublic double getAngleStart()
public void setAngleStart(double aAngleStart)
aAngleStart
- the new start angle in degreespublic double getAngleStep()
public void setAngleStep(double aAngleStep)
angle arc
.aAngleStep
- the new angle discretization step in degreespublic double getRadius()
radius sample distances
are set, this radius property is ignored.
The radius is then determined by the maximum radius sample distance.setRadiusSampleDistances(List)
public void setRadius(double aRadius)
radius step
.
If radius sample distances
are set, this radius property is ignored.
The radius is then determined by the maximum radius sample distance.aRadius
- the radius in meterssetRadiusSampleDistances(List)
public double getRadiusStep()
radius sample distances
are set, this radius step property is ignored.
The steps are then implicitly defined by the radius sample distances.setRadiusSampleDistances(List)
public void setRadiusStep(double aRadiusStep)
radius
.
If radius sample distances
are set, this radius step property is ignored.
The steps are then implicitly defined by the radius sample distances.aRadiusStep
- the new radius discretization step in meterssetRadiusSampleDistances(List)
public List<Double> getRadiusSampleDistances()
radius
and radius step
are used to determine the distances and this method returns null.setRadiusSampleDistances(List)
public void setRadiusSampleDistances(List<Double> aRadiusSampleDistances)
radius
and a radius step
to configure
uniform sampling. Alternatively, you can use this method to specify the radius sample distances yourself.
The given values are the distances from the center at which to sample.
Custom sampling is for example useful to increase the range of a LOS coverage without impacting performance
and accuracy much by using larger steps farther away from the center.
The values must be unique and nonnegative. The order does not matter.
By default, this property is not set and thus the radius
and
radius step
define the radius sampling. If this property is set,
the radius
and radius step
properties are ignored.
Use null to unset this property. The radius
and
radius step
will then again be used to determine the radius sampling.aRadiusSampleDistances
- the distances in meters from center at which to samplepublic ILcdPoint getCenterPoint()
getCenterPointReference()
.public void setCenterPoint(ILcdPoint aCenterPoint)
getCenterPointReference()
, then the user should also set the correct reference by
using setCenterPointReference(com.luciad.reference.ILcdGeoReference)
.aCenterPoint
- the new value of the center pointpublic double getCenterPointAltitude()
NOTE: since the value returned by this method is defined as ABOVE_ELLIPSOID
, you
should convert the value to the correct altitude mode (i.e. getCenterPointAltitudeMode()
)
before using it.
public TLcdCoverageAltitudeMode getCenterPointAltitudeMode()
public void setCenterPointAltitudeMode(TLcdCoverageAltitudeMode aCenterPointAltitudeMode)
aCenterPointAltitudeMode
- the new center point altitude modepublic ILcdGeoReference getCenterPointReference()
public void setCenterPointReference(ILcdGeoReference aCenterPointReference)
aCenterPointReference
- the new center point referencepublic double getMinVerticalAngle()
public void setMinVerticalAngle(double aMinVerticalAngle)
aMinVerticalAngle
- the new minimum vertical angle in degreespublic double getMaxVerticalAngle()
public void setMaxVerticalAngle(double aMaxVerticalAngle)
aMaxVerticalAngle
- the new maximum vertical angle in degreespublic double getMaxRadarTiltAngle()
public void setMaxRadarTiltAngle(double aMaxRadarTiltAngle)
aMaxRadarTiltAngle
- the new maximum tilt angle in degreespublic double getMaxRadarTiltAzimuth()
public void setMaxRadarTiltAzimuth(double aMaxRadarTiltAzimuth)
aMaxRadarTiltAzimuth
- the new maximum radar tilt azimuthpublic double getKFactor()
public void setKFactor(double aKFactor)
aKFactor
- the new K-factor value