Package com.luciad.tea.lightspeed.los
Class TLspLOSProperties
java.lang.Object
com.luciad.tea.lightspeed.los.TLspLOSProperties
Represents a set of properties that is used by the
TLspLOSCalculator
for performing the actual Line-Of-Sight (LOS) calculations.
The properties that are contained by the TLspLOSProperties
object are the following:
- Angle Arc (degrees): the angle is taken to be positive in a clock-wise direction
- Angle Start (degrees): is defined 90 degrees clockwise from the north bound azimuth
- Angle Step (degrees): the discretization step used to divide the angle arc into radials along which the LOS is calculated
- Radius Max (meters): the radius that defines the LOS area
- Radius Step (meters): the discretization step used to determine the points along each radial where LOS should be calculated
- Radius Sample Distances (meters): Alternative to specifying the radius step and maximum radius: the distances from the center used to determine the points along each radial where LOS should be calculated
- Center Point: the center point of the LOS area
- Center Point Altitude Mode: defines how the altitude of the center point should be interpreted
- Center Point Reference: the reference in which the center point is defined
- Min Vertical Angle (degrees): the minimum angle of the cone-of-silence
- Max Vertical Angle (degrees): the maximum angle of the cone-of-silence
- Max Radar Tilt Angle (degrees): used in radar LOS calculations to define the tilt angle of the radar
- Max Radar Tilt Azimuth (degrees): used in radar LOS calculations to define the tilt azimuth of the radar
- K Factor: used in radar LOS calculations to define the K factor of the radar
- Since:
- 2012.0
-
Constructor Summary
ConstructorDescriptionCreates a new LOS properties object.TLspLOSProperties
(TLspLOSProperties aProperties) Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionboolean
double
Returns the angle arc in degrees, defined in a clockwise fashion.double
Returns the start of the angle with respect to the 3 o'clock line.double
Returns the discretization step used for partitioning the arc angle in the LOS calculations.Returns the center point of the LOS area.double
Utility function that returns the the altitude of the center point with respect to the ellipsoid (i.e.Returns the altitude mode in which the center point altitude is defined.Returns the reference in which the center point is defined.double
Returns K-factor used for the radar propagation function during the LOS calculations.double
Returns the maximum tilt angle of the radar.double
Returns the maximum radar tilt azimuth.double
Returns the maximum angle of the (vertical) cone of silence used for calculating the LOS.double
Returns the minimum angle of the (vertical) cone of silence used for calculating the LOS.double
Returns the radius of the area in which the LOS calculations should be performed.Returns the distances in meters from center at which to sample.double
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 aradius
and aradius step
to configure uniform sampling.void
setRadiusStep
(double aRadiusStep) Sets the radius discretization step to the given value.toString()
-
Constructor Details
-
TLspLOSProperties
public TLspLOSProperties()Creates a new LOS properties object.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 -
TLspLOSProperties
Copy constructor.- Parameters:
aProperties
- the properties object whose properties will be copied into the new instance
-
-
Method Details
-
getAngleArc
public double getAngleArc()Returns the angle arc in degrees, defined in a clockwise fashion.- Returns:
- the angle arc in degrees
-
setAngleArc
public void setAngleArc(double aAngleArc) Sets the angle arc to the given value, defined in a clockwise fashion. The given angle will be normalized to lie between 0 and 360 degrees. The angle must be greater than or equal to theangle step
.- Parameters:
aAngleArc
- the new angle arc in degrees
-
getAngleStart
public double getAngleStart()Returns the start of the angle with respect to the 3 o'clock line. So an angle of 0 would imply a 90 clockwise angle with the azimuth that is north bound.- Returns:
- the start of the angle in degrees.
-
setAngleStart
public void setAngleStart(double aAngleStart) Sets the start of the angle to the given value. This is an angle with respect to the 3 o'clock line, which is 90 degrees clock-wise from the north bound azimuth. The given angle will be normalized to lie between 0 and 360 degrees.- Parameters:
aAngleStart
- the new start angle in degrees
-
getAngleStep
public double getAngleStep()Returns the discretization step used for partitioning the arc angle in the LOS calculations.- Returns:
- the angle discretization step in degrees
-
setAngleStep
public void setAngleStep(double aAngleStep) Sets the angle discretization step to the given value. The value must be less than or equal to theangle arc
.- Parameters:
aAngleStep
- the new angle discretization step in degrees
-
getRadius
public double getRadius()Returns the radius of the area in which the LOS calculations should be performed. Ifradius sample distances
are set, this radius property is ignored. The radius is then determined by the maximum radius sample distance.- Returns:
- the radius of the LOS area in meters
- See Also:
-
setRadius
public void setRadius(double aRadius) Sets the radius of the LOS area to the given value. The value must be greater than or equal to theradius step
. Ifradius sample distances
are set, this radius property is ignored. The radius is then determined by the maximum radius sample distance.- Parameters:
aRadius
- the radius in meters- See Also:
-
getRadiusStep
public double getRadiusStep()Returns the discretization step used for partitioning the radials used in the LOS calculations. Ifradius sample distances
are set, this radius step property is ignored. The steps are then implicitly defined by the radius sample distances.- Returns:
- the radius discretization step in meters
- See Also:
-
setRadiusStep
public void setRadiusStep(double aRadiusStep) Sets the radius discretization step to the given value. The value must be less than or equal to theradius
. Ifradius sample distances
are set, this radius step property is ignored. The steps are then implicitly defined by the radius sample distances.- Parameters:
aRadiusStep
- the new radius discretization step in meters- See Also:
-
getRadiusSampleDistances
Returns the distances in meters from center at which to sample. If not set, theradius
andradius step
are used to determine the distances and this method returns null.- Returns:
- distances in meters from center at which to sample
- Since:
- 2018.1
- See Also:
-
setRadiusSampleDistances
You can specify aradius
and aradius 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 theradius
andradius step
define the radius sampling. If this property is set, theradius
andradius step
properties are ignored. Use null to unset this property. Theradius
andradius step
will then again be used to determine the radius sampling.- Parameters:
aRadiusSampleDistances
- the distances in meters from center at which to sample- Since:
- 2018.1
-
getCenterPoint
Returns the center point of the LOS area. The center point is defined in the reference that is specified bygetCenterPointReference()
.- Returns:
- the center point of the LOS area
-
setCenterPoint
Sets the center point of the LOS area to the given value. Note that nothing special is done when setting this point, so if the given point is defined in another reference than specified bygetCenterPointReference()
, then the user should also set the correct reference by usingsetCenterPointReference(com.luciad.reference.ILcdGeoReference)
.- Parameters:
aCenterPoint
- the new value of the center point
-
getCenterPointAltitude
public double getCenterPointAltitude()Utility function that returns the the altitude of the center point with respect to the ellipsoid (i.e. ABOVE_ELLIPSOID).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.- Returns:
- the altitude of the center point in meters
-
getCenterPointAltitudeMode
Returns the altitude mode in which the center point altitude is defined.- Returns:
- the altitude mode in which the center point altitude is defined
-
setCenterPointAltitudeMode
Sets the altitude mode for the center point altitude to the given value.- Parameters:
aCenterPointAltitudeMode
- the new center point altitude mode
-
getCenterPointReference
Returns the reference in which the center point is defined.- Returns:
- the reference in which the center point is defined
-
setCenterPointReference
Sets the reference in which the center point is defined to the given reference.- Parameters:
aCenterPointReference
- the new center point reference
-
getMinVerticalAngle
public double getMinVerticalAngle()Returns the minimum angle of the (vertical) cone of silence used for calculating the LOS.- Returns:
- the minimum vertical angle in degrees
-
setMinVerticalAngle
public void setMinVerticalAngle(double aMinVerticalAngle) Sets the minimum vertical angle to the given value.- Parameters:
aMinVerticalAngle
- the new minimum vertical angle in degrees
-
getMaxVerticalAngle
public double getMaxVerticalAngle()Returns the maximum angle of the (vertical) cone of silence used for calculating the LOS.- Returns:
- the maximum vertical angle in degrees
-
setMaxVerticalAngle
public void setMaxVerticalAngle(double aMaxVerticalAngle) Set the maximum vertical angle to the given value.- Parameters:
aMaxVerticalAngle
- the new maximum vertical angle in degrees
-
getMaxRadarTiltAngle
public double getMaxRadarTiltAngle()Returns the maximum tilt angle of the radar.- Returns:
- the maximum tilt angle in degrees
-
setMaxRadarTiltAngle
public void setMaxRadarTiltAngle(double aMaxRadarTiltAngle) Sets the maximum tilt angle to the given value.- Parameters:
aMaxRadarTiltAngle
- the new maximum tilt angle in degrees
-
getMaxRadarTiltAzimuth
public double getMaxRadarTiltAzimuth()Returns the maximum radar tilt azimuth.- Returns:
- the maximum radar tilt azimuth
-
setMaxRadarTiltAzimuth
public void setMaxRadarTiltAzimuth(double aMaxRadarTiltAzimuth) Sets the maximum radar tilt azimuth to the given value.- Parameters:
aMaxRadarTiltAzimuth
- the new maximum radar tilt azimuth
-
getKFactor
public double getKFactor()Returns K-factor used for the radar propagation function during the LOS calculations.- Returns:
- the K-Factor for the radar propagation function
-
setKFactor
public void setKFactor(double aKFactor) Sets the K-factor for the radar propagation function to the given value.- Parameters:
aKFactor
- the new K-factor value
-
equals
-
hashCode
public int hashCode() -
toString
-