public class Rugged extends Object
RuggedBuilder
Modifier and Type | Method | Description |
---|---|---|
org.orekit.time.AbsoluteDate |
dateLocation(String sensorName,
double latitude,
double longitude,
int minLine,
int maxLine) |
Find the date at which sensor sees a ground point.
|
org.orekit.time.AbsoluteDate |
dateLocation(String sensorName,
org.orekit.bodies.GeodeticPoint point,
int minLine,
int maxLine) |
Find the date at which sensor sees a ground point.
|
org.orekit.bodies.GeodeticPoint[] |
directLocation(String sensorName,
double lineNumber) |
Direct location of a sensor line.
|
org.orekit.bodies.GeodeticPoint |
directLocation(org.orekit.time.AbsoluteDate date,
org.hipparchus.geometry.euclidean.threed.Vector3D sensorPosition,
org.hipparchus.geometry.euclidean.threed.Vector3D los) |
Direct location of a single line-of-sight.
|
double[] |
distanceBetweenLOS(LineSensor sensorA,
org.orekit.time.AbsoluteDate dateA,
double pixelA,
SpacecraftToObservedBody scToBodyA,
LineSensor sensorB,
org.orekit.time.AbsoluteDate dateB,
double pixelB) |
Compute distances between two line sensors.
|
org.hipparchus.analysis.differentiation.DerivativeStructure[] |
distanceBetweenLOSderivatives(LineSensor sensorA,
org.orekit.time.AbsoluteDate dateA,
double pixelA,
SpacecraftToObservedBody scToBodyA,
LineSensor sensorB,
org.orekit.time.AbsoluteDate dateB,
double pixelB,
DSGenerator generator) |
Compute distances between two line sensors with derivatives.
|
IntersectionAlgorithm |
getAlgorithm() |
Get the DEM intersection algorithm.
|
org.orekit.frames.Transform |
getBodyToInertial(org.orekit.time.AbsoluteDate date) |
Get transform from observed body frame to inertial frame.
|
ExtendedEllipsoid |
getEllipsoid() |
Get the observed body ellipsoid.
|
org.orekit.frames.Transform |
getInertialToBody(org.orekit.time.AbsoluteDate date) |
Get transform from inertial frame to observed body frame.
|
LineSensor |
getLineSensor(String sensorName) |
Get a sensor.
|
Collection<LineSensor> |
getLineSensors() |
Get the line sensors.
|
org.orekit.time.AbsoluteDate |
getMaxDate() |
Get the end of search time span.
|
org.orekit.time.AbsoluteDate |
getMinDate() |
Get the start of search time span.
|
String |
getName() |
Get the Rugged name.
|
AtmosphericRefraction |
getRefractionCorrection() |
Get the atmospheric refraction model.
|
SpacecraftToObservedBody |
getScToBody() |
Get converter between spacecraft and body.
|
org.orekit.frames.Transform |
getScToInertial(org.orekit.time.AbsoluteDate date) |
Get transform from spacecraft to inertial frame.
|
SensorPixel |
inverseLocation(String sensorName,
double latitude,
double longitude,
int minLine,
int maxLine) |
Inverse location of a ground point.
|
SensorPixel |
inverseLocation(String sensorName,
org.orekit.bodies.GeodeticPoint point,
int minLine,
int maxLine) |
Inverse location of a point.
|
org.hipparchus.analysis.differentiation.DerivativeStructure[] |
inverseLocationDerivatives(String sensorName,
org.orekit.bodies.GeodeticPoint point,
int minLine,
int maxLine,
DSGenerator generator) |
Inverse location of a point with derivatives.
|
boolean |
isAberrationOfLightCorrected() |
Get flag for aberration of light correction.
|
boolean |
isInRange(org.orekit.time.AbsoluteDate date) |
Check if a date is in the supported range.
|
boolean |
isLightTimeCorrected() |
Get flag for light time correction.
|
public String getName()
public IntersectionAlgorithm getAlgorithm()
public boolean isLightTimeCorrected()
public boolean isAberrationOfLightCorrected()
public AtmosphericRefraction getRefractionCorrection()
public Collection<LineSensor> getLineSensors()
public org.orekit.time.AbsoluteDate getMinDate()
public org.orekit.time.AbsoluteDate getMaxDate()
public boolean isInRange(org.orekit.time.AbsoluteDate date)
The support range is given by the minDate
and
maxDate
construction parameters, with an
overshootTolerance
margin accepted (i.e. a date slightly
before minDate
or slightly after maxDate
will be considered in range if the overshoot does not exceed
the tolerance set at construction).
date
- date to checkpublic ExtendedEllipsoid getEllipsoid()
public org.orekit.bodies.GeodeticPoint[] directLocation(String sensorName, double lineNumber)
sensorName
- name of the line sensorlineNumber
- number of the line to localize on groundpublic org.orekit.bodies.GeodeticPoint directLocation(org.orekit.time.AbsoluteDate date, org.hipparchus.geometry.euclidean.threed.Vector3D sensorPosition, org.hipparchus.geometry.euclidean.threed.Vector3D los)
date
- date of the locationsensorPosition
- sensor position in spacecraft frame. For simplicity, due to the size of sensor,
we consider each pixel to be at sensor positionlos
- normalized line-of-sight in spacecraft framepublic org.orekit.time.AbsoluteDate dateLocation(String sensorName, double latitude, double longitude, int minLine, int maxLine)
This method is a partial inverse location
focusing only on date.
The point is given only by its latitude and longitude, the elevation is computed from the Digital Elevation Model.
Note that for each sensor name, the minLine
and maxLine
settings
are cached, because they induce costly frames computation. So these settings
should not be tuned very finely and changed at each call, but should rather be
a few thousand lines wide and refreshed only when needed. If for example an
inverse location is roughly estimated to occur near line 53764 (for example
using RoughVisibilityEstimator
), minLine
and maxLine
could be set for example to 50000 and 60000, which would
be OK also if next line inverse location is expected to occur near line 53780,
and next one ... The setting could be changed for example to 55000 and 65000 when
an inverse location is expected to occur after 55750. Of course, these values
are only an example and should be adjusted depending on mission needs.
sensorName
- name of the line sensorlatitude
- ground point latitude (rad)longitude
- ground point longitude (rad)minLine
- minimum line numbermaxLine
- maximum line numberinverseLocation(String, double, double, int, int)
,
RoughVisibilityEstimator
public org.orekit.time.AbsoluteDate dateLocation(String sensorName, org.orekit.bodies.GeodeticPoint point, int minLine, int maxLine)
This method is a partial inverse location
focusing only on date.
Note that for each sensor name, the minLine
and maxLine
settings
are cached, because they induce costly frames computation. So these settings
should not be tuned very finely and changed at each call, but should rather be
a few thousand lines wide and refreshed only when needed. If for example an
inverse location is roughly estimated to occur near line 53764 (for example
using RoughVisibilityEstimator
), minLine
and maxLine
could be set for example to 50000 and 60000, which would
be OK also if next line inverse location is expected to occur near line 53780,
and next one ... The setting could be changed for example to 55000 and 65000 when
an inverse location is expected to occur after 55750. Of course, these values
are only an example and should be adjusted depending on mission needs.
sensorName
- name of the line sensorpoint
- point to localizeminLine
- minimum line numbermaxLine
- maximum line numberinverseLocation(String, GeodeticPoint, int, int)
,
RoughVisibilityEstimator
public SensorPixel inverseLocation(String sensorName, double latitude, double longitude, int minLine, int maxLine)
The point is given only by its latitude and longitude, the elevation is computed from the Digital Elevation Model.
Note that for each sensor name, the minLine
and maxLine
settings
are cached, because they induce costly frames computation. So these settings
should not be tuned very finely and changed at each call, but should rather be
a few thousand lines wide and refreshed only when needed. If for example an
inverse location is roughly estimated to occur near line 53764 (for example
using RoughVisibilityEstimator
), minLine
and maxLine
could be set for example to 50000 and 60000, which would
be OK also if next line inverse location is expected to occur near line 53780,
and next one ... The setting could be changed for example to 55000 and 65000 when
an inverse location is expected to occur after 55750. Of course, these values
are only an example and should be adjusted depending on mission needs.
sensorName
- name of the line sensorlatitude
- ground point latitude (rad)longitude
- ground point longitude (rad)minLine
- minimum line numbermaxLine
- maximum line numberRoughVisibilityEstimator
public SensorPixel inverseLocation(String sensorName, org.orekit.bodies.GeodeticPoint point, int minLine, int maxLine)
Note that for each sensor name, the minLine
and maxLine
settings
are cached, because they induce costly frames computation. So these settings
should not be tuned very finely and changed at each call, but should rather be
a few thousand lines wide and refreshed only when needed. If for example an
inverse location is roughly estimated to occur near line 53764 (for example
using RoughVisibilityEstimator
), minLine
and maxLine
could be set for example to 50000 and 60000, which would
be OK also if next line inverse location is expected to occur near line 53780,
and next one ... The setting could be changed for example to 55000 and 65000 when
an inverse location is expected to occur after 55750. Of course, these values
are only an example and should be adjusted depending on mission needs.
sensorName
- name of the line sensorpoint
- geodetic point to localizeminLine
- minimum line number where the search will be performedmaxLine
- maximum line number where the search will be performeddateLocation(String, GeodeticPoint, int, int)
,
RoughVisibilityEstimator
public double[] distanceBetweenLOS(LineSensor sensorA, org.orekit.time.AbsoluteDate dateA, double pixelA, SpacecraftToObservedBody scToBodyA, LineSensor sensorB, org.orekit.time.AbsoluteDate dateB, double pixelB)
sensorA
- line sensor AdateA
- current date for sensor ApixelA
- pixel index for sensor AscToBodyA
- spacecraft to body transform for sensor AsensorB
- line sensor BdateB
- current date for sensor BpixelB
- pixel index for sensor Bpublic org.hipparchus.analysis.differentiation.DerivativeStructure[] distanceBetweenLOSderivatives(LineSensor sensorA, org.orekit.time.AbsoluteDate dateA, double pixelA, SpacecraftToObservedBody scToBodyA, LineSensor sensorB, org.orekit.time.AbsoluteDate dateB, double pixelB, DSGenerator generator)
sensorA
- line sensor AdateA
- current date for sensor ApixelA
- pixel index for sensor AscToBodyA
- spacecraftToBody transform for sensor AsensorB
- line sensor BdateB
- current date for sensor BpixelB
- pixel index for sensor Bgenerator
- generator to use for building DerivativeStructure
instancesdistanceBetweenLOS(LineSensor, AbsoluteDate, double, SpacecraftToObservedBody, LineSensor, AbsoluteDate, double)
public org.hipparchus.analysis.differentiation.DerivativeStructure[] inverseLocationDerivatives(String sensorName, org.orekit.bodies.GeodeticPoint point, int minLine, int maxLine, DSGenerator generator)
sensorName
- name of the line sensorpoint
- point to localizeminLine
- minimum line numbermaxLine
- maximum line numbergenerator
- generator to use for building DerivativeStructure
instancesinverseLocation(String, GeodeticPoint, int, int)
public org.orekit.frames.Transform getScToInertial(org.orekit.time.AbsoluteDate date)
date
- date of the transformpublic org.orekit.frames.Transform getInertialToBody(org.orekit.time.AbsoluteDate date)
date
- date of the transformpublic org.orekit.frames.Transform getBodyToInertial(org.orekit.time.AbsoluteDate date)
date
- date of the transformpublic LineSensor getLineSensor(String sensorName)
sensorName
- sensor namepublic SpacecraftToObservedBody getScToBody()
Copyright © 2014-2019 CS Systèmes d'information. All rights reserved.