Mise à jour de LineOfVisibility authored by Julien LEBLOND's avatar Julien LEBLOND
This page describes the content of a CZML document. Please read [Get Started](https://gitlab.orekit.org/Zudo/oreczml/-/wikis/Get-Started) for an explanation of how a CZML document is put together.
This page describes the content of a CZML document. Please read the [Tutorial](https://gitlab.orekit.org/Zudo/oreczml/-/wikis/Get-Started) for an explanation of how a CZML document is put together.
# LineOfVisibility
......@@ -47,120 +47,34 @@ This page describes the content of a CZML document. Please read [Get Started](ht
**name** String : Name of the CZML ground station, _default_ : "Line between \[Name of the ground station\] and \[Name of the satellite\].
**polyline** - [Polyline](Polyline) : A polyline object that represents the line that will be displayed to follow the satellite
## Intrinsic arguments
**topocentricFrame** - [TopocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html) : An Orekit TopocentricFrame that represents the point on earth and the frame of the station.
**topocentricFrames** - [List of TopocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html) : A list that contains all the point on earth and the frame that represents the stations on earth.
**angleOfAperture** - [Double](https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html) : The angle of aperture for the visiblity, _default_ : 80.0°.
**topocentricFrame** - [TopocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html) : The topocentric frame representing where the ground station must be.
**satellite** - [Satellite](Satellite) : The satellite that will be looked by the station
**constellation** - [Constellation](Constellation) : The constellation grouping several satellites that will be observed by the station(s).
## Other parameters
**singleSatMultipleId** - List of String : A list grouping all the Id of all the line of visibility when a single satellite is observed.
**multipleId** - List of List of String : A list ground all th Id of all the lines of visibility when several satellites are observed. Primary list : Each line of visibility. Secondary list : List of Id built for each satellite for a given line.
**singleSatMultipleName** - List of String : A list containing all the names of all the lines of visibility when a single satellite is observed.
**multipleName** - List of List of String : A list containing all the names of all the lines of visibility when several satellites are observed.
**availabilities** - [List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : A list containing all the interval of time where the line must be dipslayed.
**singleSatAvailabilities** - [List of List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : A list containing lists that represents the avaialbilites of each line of visiblity, when a single satellite is observed by several stations. Primary list : Each line of visibility. Secondary list : A list containing all the time interval when the line must be displayed.
**multipleAvailabiliy** - [List of List of List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : A list containing lists that represents the availabilities of each line ofvisibility when multiple satellites are observed by several stations. Primary list : Each line of visibility. Secondary list : Each satellite for the givne line. Tertiary list : A list containing all the time interval when the line must be displayed for a given satellite.
**referenceGroundStation** - [Reference](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/ReferenceValue) : The reference used for the position of the ground station.
**angleOfAperture** - [Double](https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html) : The angle of aperture for the visiblity, _default_ : 80.0°.
**referenceSatellite** - [Reference](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/ReferenceValue) : The reference used for the position of the satellite.
## Other arguments
**references** - [Iterable of Reference](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/ReferenceValue) : An iterable object that combines the reference of the satellite and the reference of the ground station, it is a pair of references.
**singleSatReferences** - [List of Iterable of References](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/ReferenceValue) : A list containing pairs of references when a single satellite is observed.
**multipleReferences** - [List of List of Iterable of Reference](https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/ReferenceValue) : A list containing list of pairs of references when several satellites are observed. Primary list : Each line of visibility. Secondary list : Each satellite for the given line.
**multipleSatellite** - [List of List of Satellite](Satellite) : A list that contains all the satellites concerned by line of visibility. Primary list : Each line of visibility. Secondary list : A list containing all the satellites concerned for the given line.
**showList** - [List of CzmlShow](CZMLShow) : A list that contains all the CzmlShow objects representing when the lines must be displayed or not.
**singleSatShowList** - [List of List of CzmLShow](CZMLShow) : A list that contains lists, each sub-list contains all the CzmlShow objects representing when the lines must be displayed or not when a single satellite is observed. Primary list : Each line of visibility. Secondary list: list of all the CzmlShow for the given line.
**multipleShowList** - [List of List of List of CzmlShow](CZMLShow) : A list that contains lists representing when the lines must be displayed or not when multiple satellites are observed. Primary list : Each line of visibility. Secondary list : Each satellite for a given line. Tertiary list : list of all the CzmlShow for a given line and a given satellite.
**timeIntervals** - [List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : The time intervals representing when the lines are displayed.
**singleSatTimeIntervals** - [List of List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : A list containing lists representing when the lines are displayed when a single satellite is observed. Primary list : Each line of visibility. Secondary list : A list of all the time intervals for a given line.
**multipleTimeIntervals** - [List of List of List of TimeInterval](https://cesium.com/learn/cesiumjs/ref-doc/TimeInterval.html) : A list containing lists representing when the lines are displayed when several satellites are observed. Primary list : Each line of visibility. Secondary list : Each satellite for a given line. Tertiary list : A list of all the time intervals for a given line and a given satellite.
**visuList** - List of boolean : A list containing the boolean that represents whether or not the line must be displayed.
**singleSatVisuList** - List of List of boolean : A list containing lists representing whether or not the lines must be displayed when a single satellite is observed. Primary list : Each line of visibility. Secondary list : A list of all the boolean for a given line.
**multipleVisuList** - List of List of List of boolean : A list containing lists representing whether or not the lines must be displayed when several sattelites are observed. Primary list : Each line of visibility. Secondary list : Each satellite for a given line. Tertiary list : A list of all the boolean for a given line and a given satellite.
**multipleAngleOfAperture** - [List of List of Double](https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html) : A list containing all different angle of aperture when several satellite are observed. Primary list: Each line of visibility. Secondary list : A list of all the angle of apertures for each line for a given satellite.
**allVisibilityLines** - [List of LineOfVisibility](LineOfVisibility) : A list containing all the lines of visibility computed.
**typeOfVisu** - [TypeOfVisu](TypeOfVisu) : The type of visualisation made. Single satellite or not. Single station or not.
**allVisibilityCones** - [VisibilityCone](VisibilityCone) : All the visibility cones used to create the lines of visibility.
# Build
These arguments can be used to build a line of visibility object :
* A [topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [satellite](Satellite) :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrame, satellite);
```
* A [topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [satellite](Satellite), an angle of aperture :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrame, satellite, angleOfAperture);
```
* A [topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [constellation](Constellation) : (**This builder will create all lines of visibility for all satellites of a constellation for a given ground station**)
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrame, constellation);
```
* A [topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [constellation](Constellation), an angle of aperture : (**This builder will create all lines of visibility for all satellites of a constellation for a given ground station**)
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrame, constellation, angleOfAperture);
```
* A [List of topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [satellite](Satellite) :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrames, satellite);
```
* A [List of topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [satellite](Satellite), an angle of aperture :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrames, satellite, angleOfAperture);
```
* A [List of TopocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [constellation](Constellation) : (**This builder will create all lines of visibility for all satellites of a constellation for all the stations for each topocentricFrame**).
The line of visibility object can be build with only a topocentric frame and a satellite. In order to build the line of visibility you should use the [line of visibility builder](LineOfVisibilityBuilder), you can use it like this :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrames, constellation);
```java
final LineOfVisibility line = LineOfVisibility.builder(topocentricFrame, satellite).build();
```
* A [List of topocentricFrame](https://www.orekit.org/site-orekit-development/apidocs/org/orekit/frames/TopocentricFrame.html), a [constellation](Constellation), an angle of aperture : (**This builder will create all lines of visibility for all satellites of a constellation for all the stations for each topocentricFrame**).
This way you can add a color to the orbit, or a model for the satellite like this :
```Java
LineOfVisibility lineOfVisibility = new LineOfVisibility(topocentricFrames, constellation, header, angleOfAperture);
```java
final LineOfVisibility line = LineOfVisibility.builder(topocentricFrame, satellite).withAngleOfAperture(angle).build();
```
\ No newline at end of file