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 name)
Constructor for the azimuth - elevation mask
|
Modifier and Type | Method and Description |
---|---|
double |
getAngularDistance(Vector3D direction)
Computes the angular distance between a vector and the border of the field.
|
double |
getElevation(double azimuth)
Get the interpolated elevation for a given azimuth according to the mask :
this algorithm is from the orekit's
GroundMaskElevationDetector |
String |
getName() |
boolean |
isInTheField(Vector3D direction) |
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 name)
azimElevMask
- the azimuth - elevation mask (rad)frameOrientation
- Oriented angle between the local north and the x axis (counterclockwise).name
- the name of the fieldpublic double getAngularDistance(Vector3D direction)
getAngularDistance
in interface IFieldOfView
direction
- the direction vectorpublic boolean isInTheField(Vector3D direction)
isInTheField
in interface IFieldOfView
direction
- a direction vectorpublic String getName()
getName
in interface IFieldOfView
public double getElevation(double azimuth)
GroundMaskElevationDetector
azimuth
- azimuth (rad)public double linear(double x, double xa, double xb, double ya, double yb)
x
- xxa
- xaxb
- xbya
- yayb
- ybCopyright © 2020 CNES. All rights reserved.