public class AzimuthElevationField extends Object implements IFieldOfView
Field of view defined by an azimuth-elevation mask : the algorithms are from the Orekit
GroundMaskElevationDetector
detector. The mask is defined by an azimuth-elevation array :
the vertical is the Z axis of the local frame, the angle between the local north and the x axis
must be given at construction.
The angular distance to the field limit is not the exact shortest distance: it is the exact
angular distance on the local meridian (difference of elevation of the target and the linear
interpolated local elevation). Concerning the field of view, the limit between two consecutive
points is NOT a great circle (i.e. planar) limit: it is linear in azimuth-elevation. The fields
with planar limits are the Rectangle or Pyramidal fields.
Constructor and Description |
---|
AzimuthElevationField(double[][] azimElevMask,
double frameOrientation,
String fovName)
Constructor for the azimuth - elevation mask
|
Modifier and Type | Method and Description |
---|---|
double |
getAngularDistance(Vector3D point)
Computes the angular distance between a vector and the border of the field.
|
AzimuthElevationCalculator |
getAzimuthElevationCalculator()
Returns the Azimuth Elevation Calculator.
|
double |
getElevation(double azimuth)
Get the Mask interpolated Elevation for a given Azimuth :
this algorithm is from the orekit's
GroundMaskElevationDetector |
String |
getName() |
boolean |
isInTheField(Vector3D point) |
double |
linear(double x,
double xa,
double xb,
double ya,
double yb)
Linear interpolation for given point x between (xa, ya) and (xb, yb).
|
public AzimuthElevationField(double[][] azimElevMask, double frameOrientation, String fovName)
azimElevMask
- the azimuth (defined from North, clockwise, rad) - elevation mask (rad)frameOrientation
- Oriented angle (trigowise, radian) between the local North and the Frame's x axisfovName
- the name of the fieldpublic double getAngularDistance(Vector3D point)
getAngularDistance
in interface IFieldOfView
point
- Point Cartesian coordinatespublic boolean isInTheField(Vector3D point)
isInTheField
in interface IFieldOfView
point
- a direction vector (expressed in the topocentric coordinate system of the object)public String getName()
getName
in interface IFieldOfView
public double getElevation(double azimuth)
GroundMaskElevationDetector
azimuth
- azimuth (counted clockwise) (rad)public double linear(double x, double xa, double xb, double ya, double yb)
x
- xxa
- xaxb
- xbya
- yayb
- ybpublic AzimuthElevationCalculator getAzimuthElevationCalculator()
Copyright © 2021 CNES. All rights reserved.