blob: 26621656f79d0279bff63962c18c3e50078cee40 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
[![GoDoc](https://godoc.org/git.darknebu.la/Satellite/TLE?status.svg)](https://godoc.org/git.darknebu.la/Satellite/tle) [![Go Report Card](https://goreportcard.com/badge/git.darknebu.la/Satellite/TLE)](https://goreportcard.com/report/git.darknebu.la/Satellite/tle)
[![Build Status](https://drone.nbg1.emile.space/api/badges/Satellite/tle/status.svg)](https://drone.nbg1.emile.space/Satellite/tle) [Coverage](https://gocover.io/git.darknebu.la/Satellite/tle)
# TLE
Implementing the "Two-line element set (TLE)", a data format encoding orbital elements of Earth-orbiting objects.
[Wikipedia](https://en.wikipedia.org/wiki/Two-line_element_set)
[nasa documentation of the format](https://spaceflight.nasa.gov/realdata/sightings/SSapplications/Post/JavaSSOP/SSOP_Help/tle_def.html)
## Format
(the below tables are copied 1:1 from wikipedia ([from here](https://en.wikipedia.org/wiki/Two-line_element_set)))
### Title line
| Field | Columns | Content | Example |
| ----- | ------- | ------- | ------- |
| 1 | 01-24 | Satellite name | ISS (ZARYA) |
### Line one
| Field | Columns | Content | Example |
| ----- | ------- | ------- | ------- |
| 1 | 01-01 | Line number | `1` |
| 2 | 03–07 | Satellite number | `25544` |
| 3 | 08–08 | Classification (U=Unclassified) | `U` |
| 4 | 10–11 | International Designator (Last two digits of launch year) | `98` |
| 5 | 12–14 | International Designator (Launch number of the year) | `067` |
| 6 | 15–17 | International Designator (piece of the launch) | `A` |
| 7 | 19–20 | Epoch Year (last two digits of year) | `08` |
| 8 | 21–32 | Epoch (day of the year and fractional portion of the day) | `264.51782528` |
| 9 | 34–43 | First Time Derivative of the Mean Motion divided by two [11] | `−.00002182` |
| 10 | 45–52 | Second Time Derivative of Mean Motion divided by six (decimal point assumed) | `00000-0` |
| 11 | 54–61 | BSTAR drag term (decimal point assumed) [11] | `-11606-4` |
| 12 | 63–63 | The number 0 (originally this should have been "Ephemeris type") | `0` |
| 13 | 65–68 | Element set number. Incremented when a new TLE is generated for this object.[11] | `292` |
| 14 | 69–69 | Checksum (modulo 10) | `7`|
### Line two
| Field | Columns | Content | Example |
| ----- | ------- | ------- | ------- |
| 1 | 01–01 | Line number | `2` |
| 2 | 03–07 | Satellite number | `25544` |
| 3 | 09–16 | Inclination (degrees) | `51.6416` |
| 4 | 18–25 | Right ascension of the ascending node (degrees) | `247.4627` |
| 5 | 27–33 | Eccentricity (decimal point assumed) | `0006703` |
| 6 | 35–42 | Argument of perigee (degrees) | `130.5360` |
| 7 | 44–51 | Mean Anomaly (degrees) | `325.0288` |
| 8 | 53–63 | Mean Motion (revolutions per day) | `15.72125391` |
| 9 | 64–68 | Revolution number at epoch (revolutions) | `56353` |
| 10 | 69–69 | Checksum (modulo 10) | `7` |
## Tests / Coverage
Run the tests:
```
$ go test -v .
...
```
See the test coverage:
```
$ go test -coverprofile=coverage.out && go tool cover -html=coverage.out
...
```
## Pull requests
Feel free to make one (or more) pull requests!
|