public class Rugged extends Object
RuggedBuilder| Modifier and Type | Method and Description |
|---|---|
AbsoluteDate |
dateLocation(String sensorName,
double latitude,
double longitude,
int minLine,
int maxLine)
Find the date at which sensor sees a ground point.
|
AbsoluteDate |
dateLocation(String sensorName,
GeodeticPoint point,
int minLine,
int maxLine)
Find the date at which sensor sees a ground point.
|
GeodeticPoint |
directLocation(AbsoluteDate date,
Vector3D position,
Vector3D los)
Direct location of a single line-of-sight.
|
GeodeticPoint[] |
directLocation(String sensorName,
double lineNumber)
Direct location of a sensor line.
|
IntersectionAlgorithm |
getAlgorithm()
Get the DEM intersection algorithm.
|
Transform |
getBodyToInertial(AbsoluteDate date)
Get transform from observed body frame to inertial frame.
|
ExtendedEllipsoid |
getEllipsoid()
Get the observed body ellipsoid.
|
Transform |
getInertialToBody(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.
|
AbsoluteDate |
getMaxDate()
Get the end of search time span.
|
AbsoluteDate |
getMinDate()
Get the start of search time span.
|
Transform |
getScToInertial(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,
GeodeticPoint point,
int minLine,
int maxLine)
Inverse location of a point.
|
boolean |
isAberrationOfLightCorrected()
Get flag for aberration of light correction.
|
boolean |
isInRange(AbsoluteDate date)
Check if a date is in the supported range.
|
boolean |
isLightTimeCorrected()
Get flag for light time correction.
|
public IntersectionAlgorithm getAlgorithm()
public boolean isLightTimeCorrected()
public boolean isAberrationOfLightCorrected()
public Collection<LineSensor> getLineSensors()
public AbsoluteDate getMinDate()
public AbsoluteDate getMaxDate()
public boolean isInRange(AbsoluteDate date)
The supporte 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 GeodeticPoint[] directLocation(String sensorName, double lineNumber) throws RuggedException
sensorName - name of the line sensorlineNumber - number of the line to localize on groundRuggedException - if line cannot be localized, or sensor is unknownpublic GeodeticPoint directLocation(AbsoluteDate date, Vector3D position, Vector3D los) throws RuggedException
date - date of the locationposition - pixel position in spacecraft framelos - normalized line-of-sight in spacecraft frameRuggedException - if line cannot be localized, or sensor is unknownpublic AbsoluteDate dateLocation(String sensorName, double latitude, double longitude, int minLine, int maxLine) throws RuggedException
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 latitudelongitude - ground point longitudeminLine - minimum line numbermaxLine - maximum line numberRuggedException - if line cannot be localized, or sensor is unknowninverseLocation(String, double, double, int, int),
RoughVisibilityEstimatorpublic AbsoluteDate dateLocation(String sensorName, GeodeticPoint point, int minLine, int maxLine) throws RuggedException
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 numberRuggedException - if line cannot be localized, or sensor is unknowninverseLocation(String, GeodeticPoint, int, int),
RoughVisibilityEstimatorpublic SensorPixel inverseLocation(String sensorName, double latitude, double longitude, int minLine, int maxLine) throws RuggedException
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 latitudelongitude - ground point longitudeminLine - minimum line numbermaxLine - maximum line numberRuggedException - if line cannot be localized, or sensor is unknownRoughVisibilityEstimatorpublic SensorPixel inverseLocation(String sensorName, GeodeticPoint point, int minLine, int maxLine) throws RuggedException
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 numberRuggedException - if line cannot be localized, or sensor is unknowndateLocation(String, GeodeticPoint, int, int),
RoughVisibilityEstimatorpublic Transform getScToInertial(AbsoluteDate date) throws RuggedException
date - date of the transformRuggedException - if spacecraft position or attitude cannot be computed at datepublic Transform getInertialToBody(AbsoluteDate date) throws RuggedException
date - date of the transformRuggedException - if frames cannot be computed at datepublic Transform getBodyToInertial(AbsoluteDate date) throws RuggedException
date - date of the transformRuggedException - if frames cannot be computed at datepublic LineSensor getLineSensor(String sensorName) throws RuggedException
sensorName - sensor nameRuggedException - if sensor is not knownCopyright © 2014–2016 CS Syst?mes d'Information. All rights reserved.