Command Line Documentation
Catalog
Get the List of All LeoLabs Catalog Objects
$ leolabs catalog list
Parameters
No parameters
Sample output
$ leolabs catalog list
{
"objects": [
{
"noradCatalogNumber": 81721,
"catalogNumber": "L19512",
"name": "UNKNOWN"
},
{
"noradCatalogNumber": 25544,
"catalogNumber": "L72",
"name": "ISS (ZARYA)"
},
...
]
}
Get the Details of a Catalog Object
$ leolabs catalog get --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER
Get the LeoLabs Catalog Number, Norad Catalog Number (if applicable) and Name of a Catalog Object given the LeoLabs Catalog Number. You can get the catalog object details by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBER | LeoLabs Catalog Number, such as L4654 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
Sample output
$ leolabs catalog get --catalog-number L72
{
"noradCatalogNumber": 25544,
"catalogNumber": "L72",
"name": "ISS (ZARYA)"
}
Get Measurements
$ leolabs catalog get-measurements --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME
Get the measurements collected for Catalog Objects and a specified timespan. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBERS | LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
START_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive |
END_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive |
Sample output
$ leolabs catalog get-measurements --catalog-number L72 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-11T00:00:00Z
{
"measurements": [
{
"id": 142787963,
"experiment": 10257135,
"targetPass": 163582093,
"group": 5,
"instrument": "msr",
"catalogNumber": "L72",
"noradCatalogNumber": 25544,
"updatedAt": "2018-03-10T07:48:41.759792Z",
"transmittedAt": "2018-03-10T07:30:47.187160Z",
"receivedAt": "2018-03-10T07:30:47.191657Z",
"measuredAt": "2018-03-10T07:30:47.189408Z",
"integrationTime": 0.122804,
"snr": 21.3831462860107,
"beam": 64166,
"values": {
"range": 674082.899316356,
"rangeError": 32.4156626305453,
"doppler": 4975.53076171875,
"dopplerError": 0.599914990749214,
"azimuth": 70.5,
"elevation": 33.75,
"rcs": 0.00245978360207381
},
"corrected": {
"range": 674063.199004194,
"rangeError": 11.3481567082204,
"doppler": 4952.47997750971,
"dopplerError": 0.967425529638197,
"azimuth": 70.5,
"elevation": 33.75,
"rcs": 19.5923201384562
},
"corrections": [
{
"type": "doppler_bias",
"source": "leolabs",
"value": 23.0507842090447,
"error": 0.0522837712285609
},
{
"type": "range_bias",
"source": "leolabs",
"value": 5.29010089894291,
"error": 0.560305059601108
},
{
"type": "ionospheric",
"source": "iri16",
"value": 14.4102112635351
}
]
},
...
]
}
Get Planned Passes
$ leolabs catalog get-planned-passes --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER
Get data about planned instrument observations of Catalog Objects. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBERS | LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
Sample output
$ leolabs catalog get-planned-passes --catalog-number L72
{
"passes": [
{
"id": 123456789,
"catalogNumber": "L72",
"endTime": "2018-03-09T08:21:04.460894Z",
"instrument": "msr",
"detectionProbability": 0.725,
"startTime": "2018-03-09T08:20:33.444101Z"
},
...
]
}
Get Object Statistics
$ leolabs catalog get-statistics --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER
Get the statistics about Catalog Objects. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBERS | LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
Sample output
$ leolabs catalog get-statistics --catalog-number L72
{
"stateVectors": 15,
"measurementsLastDay": 0,
"measurements": 1785,
"targetPasses": 232,
"measurementsLastHour": 0,
"measuredObjects": 1
}
Get List of State Vectors
$ leolabs catalog list-states --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME --latest LATEST
Get the list of State Vectors (position and velocity) fitted to measurements made of the object(s). You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBERS | LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
START_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive |
END_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive |
LATEST | Set to "true" to retrieve only the most recent state vector. Overrides START_TIME and END_TIME parameters. |
Sample output
$ leolabs catalog list-states --catalog-number L72 --latest true
{
"states": [
{
"noradCatalogNumber": 25544,
"propagations": {
"available": true,
"startTime": "2018-03-05T17:30:04.831605Z",
"endTime": "2018-03-13T17:30:04.831605Z"
},
"catalogNumber": "L72",
"createdAt": "2018-03-06T18:08:07.428810Z",
"id": 947402,
"timestamp": "2018-03-06T17:30:04.831605Z",
"updatedAt": "2018-03-06T18:08:07.428796Z",
"coefficients": {
"fitted": {
"reflectivity": -0.03410821742220471,
"drag": 0.003576014957759499
}
},
"frames": {
"RIC": {
"covariance": [
[
3702.721526995907,
163.44697413193387,
-1845.669540905315,
0.18236997009917755,
3.9174582979635004,
-7.058683262414779
],
...
],
"velocity": [
0.0,
0.0,
0.0
],
"covarianceExtended": [
[
3702.721526995907,
163.44697413193387,
-1845.669540905315,
0.18236997009917755,
3.9174582979635004,
-7.058683262414779,
0.0004163847002910548,
-0.1538511389393123
],
...
],
"position": [
0.0,
0.0,
0.0
]
},
"EME2000": {
"covariance": [
[
1475.4130220914756,
-45.86601582381442,
-2120.6599640778295,
-2.264702550917625,
-2.0752245506675497,
-4.107871030466868
],
...
],
"velocity": [
5599.575727204382,
2598.2626230918363,
-4557.622670115166
],
"covarianceExtended": [
[
1475.4130220914756,
-45.86601582381442,
-2120.6599640778295,
-2.264702550917625,
-2.0752245506675497,
-4.107871030466868,
0.00029409473331311244,
-0.07898276849466654
],
...
],
"position": [
4528641.438180711,
-3659661.070595693,
3467731.9730965323
]
}
}
}
]
}
Get a State Vector
$ leolabs catalog get-state --catalog-number CATALOG_NUMBERS --norad-catalog-number NORAD_CATALOG_NUMBER --state STATE
Get a State Vector (position and velocity) fitted to measurements made of the object(s). A TLE derived from the State Vector is included in the result. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBERS | LeoLabs Catalog Number(s) or "all". Multiple catalog numbers can be specified with a comma separated list, eg.: L123,L456,L789 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
STATE | The id of the State Vector |
Sample output
$ leolabs catalog get-state --catalog-number L72 --state 947402
{
"id": 947402,
"noradCatalogNumber": 25544,
"catalogNumber": "L72",
"createdAt": "2018-03-06T18:08:07.428810Z",
"frames": {
"EME2000": {
"position": [
4528641.438180711,
-3659661.070595693,
3467731.9730965323
],
"covarianceExtended": [
[
1475.4130220914756,
-45.86601582381442,
-2120.6599640778295,
-2.264702550917625,
-2.0752245506675497,
-4.107871030466868,
0.00029409473331311244,
-0.07898276849466654
],
...
],
"velocity": [
5599.575727204382,
2598.2626230918363,
-4557.622670115166
],
"covariance": [
[
1475.4130220914756,
-45.86601582381442,
-2120.6599640778295,
-2.264702550917625,
-2.0752245506675497,
-4.107871030466868
],
...
]
},
"RIC": {
"position": [
0.0,
0.0,
0.0
],
"covarianceExtended": [
[
3702.721526995907,
163.44697413193387,
-1845.669540905315,
0.18236997009917755,
3.9174582979635004,
-7.058683262414779,
0.0004163847002910548,
-0.1538511389393123
],
...
],
"velocity": [
0.0,
0.0,
0.0
],
"covariance": [
[
3702.721526995907,
163.44697413193387,
-1845.669540905315,
0.18236997009917755,
3.9174582979635004,
-7.058683262414779
],
...
]
}
},
"coefficients": {
"fitted": {
"drag": 0.003576014957759499,
"reflectivity": -0.03410821742220471
}
},
"propagations": {
"available": true,
"endTime": "2018-03-13T17:30:04.831605Z",
"startTime": "2018-03-05T17:30:04.831605Z"
},
"timestamp": "2018-03-06T17:30:04.831605Z",
"updatedAt": "2018-03-06T18:08:07.428796Z",
"tle": {
"epoch": "2018-03-07T17:30:04.831776Z",
"line0": "0 ISS (ZARYA)",
"line1": "1 25544U 00000 18065.72922259 .00309897 00000-0 11658-4 0 02",
"line2": "2 25544 51.6382 169.4968 0001248 98.9026 40.1668 15.54191779 03",
"state": 947402
}
}
Get a Propagation
$ leolabs catalog get-propagation --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER --state STATE --start-time START_TIME --end-time END_TIME --timestep TIMESTEP
The specified State Vector will be propagated between two points in time. Currently, we support propagations between -1 day and +7 days from the epoch of the State Vector. You can get the data by either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBER | LeoLabs Catalog Number, such as L4654 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
START_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive |
END_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive |
TIMESTEP | Timestep in seconds. Determines how far apart each propagation State Vector should be. |
Sample output
$ leolabs catalog get-propagation --catalog-number L72 --state 947402 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z --timestep 1
{
"timestep": 1.0,
"frame": "EME2000",
"propagation": [
{
"position": [
-1739678.25,
-3828627.5,
5312041.5
],
"covariance": [
[
193047.265625,
-25960.123046875,
47180.69140625
],
[
-25960.123046875,
20219.8203125,
-1342.7786865234375
],
[
47180.69140625,
-1342.7786865234375,
15520.2919921875
]
],
"velocity": [
6888.64453125,
-3371.171630859375,
-175.59954833984375
]
},
...
],
"state": "947402",
"startTime": "2018-03-10T00:00:00+00:00",
"endTime": "2018-03-10T00:00:10+00:00"
}
Create a Task for an Object
$ leolabs catalog create-task --catalog-number CATALOG_NUMBER --norad-catalog-number NORAD_CATALOG_NUMBER --start-time START_TIME --end-time END_TIME
Request a high priority collection of measurements for a single Catalog Object. You can specify either the LeoLabs Catalog Number or the Norad Catalog Number.
Parameters
CATALOG_NUMBER | LeoLabs Catalog Number, such as L4654 |
NORAD_CATALOG_NUMBER | Norad Catalog Number, such as 77 |
START_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive |
END_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive |
Sample output
$ leolabs catalog create-task --catalog-number L72 --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z
{"id": 7765}
Get the List of All Instruments
$ leolabs instruments list
An instrument is a source of measurements, such as a particular radar site. LeoLabs currently operates two of these radar sites: PFISR in Alaska and MSR in Midland, Texas.
Parameters
No parameters
Sample output
$ leolabs instruments list
{
"instruments": [
{
"latitude": 65.12992,
"altitude": 213.0,
"id": "pfisr",
"transmitFrequency": 450000000.0,
"longitude": -147.47104,
"transmitPower": 2000000.0
},
{
"latitude": 31.9643,
"altitude": 855.0,
"id": "msr",
"transmitFrequency": 440000000.0,
"longitude": -103.233245,
"transmitPower": 65000.0
}
]
}
Get the Details of an Instrument
$ leolabs instruments get --instrument INSTRUMENT
An instrument is a source of measurements, such as a particular radar site.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
Sample output
$ leolabs instruments get --instrument msr
{
"latitude": 31.9643,
"altitude": 855.0,
"id": "msr",
"transmitFrequency": 440000000.0,
"longitude": -103.233245,
"transmitPower": 65000.0
}
Get Instrument Statistics
$ leolabs instruments get-statistics --instrument INSTRUMENT
Get some recent statistics for an instrument, such as the number of objects detected and average latency of measurement data.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
Sample output
$ leolabs instruments get-statistics --instrument msr
{
"measurements": 9387810,
"measurementsLastDay": 29182,
"measurementsLastHour": 1898,
"measuredObjects": 11583
}
Get the List of Tasks
$ leolabs instruments list-tasks --instrument INSTRUMENT
The list will only comprise of the tasks submitted from the authenticated account. A task is essentially a request for an instrument to collect data during a specific time range.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
Sample output
$ leolabs instruments list-tasks --instrument msr
{
"tasks": [
{
"id": 8883,
"startTime": "2023-09-15T00:11:44Z",
"endTime": "2023-09-15T00:22:33Z"
}
]
}
Create a Task for an Instrument
$ leolabs instruments create-task --instrument INSTRUMENT --start-time START_TIME --end-time END_TIME
Request an instrument to collect data for some period of time.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
START_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The beginning of the timespan, inclusive |
END_TIME | ISO-8601 formatted time, such as 2017-03-17T00:00:00Z. The end of the timespan, exclusive |
Sample output
$ leolabs instruments create-task --instrument msr --start-time 2018-03-10T00:00:00Z --end-time 2018-03-10T00:00:10Z
{"id": 787830}
Get a Task
$ leolabs instruments get-task --instrument INSTRUMENT --task TASK
Get data about a task, including requested start and end time. A task is essentially a request for an instrument to collect data during a specific time range.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
TASK | Task id, as returned from the list of tasks |
Sample output
$ leolabs instruments get-task --instrument msr --task 8883
{
"id": 8883,
"startTime": "2023-09-15T00:11:44Z",
"endTime": "2023-09-15T00:22:33Z"
}
Get Task Measurements
$ leolabs instruments get-task-measurements --instrument INSTRUMENT --task TASK
Get the measurements collected for a previously submitted task.
Parameters
INSTRUMENT | Instrument id, eg.: "pfisr" or "msr" |
TASK | Task id, as returned from the list of tasks |
Sample output
$ leolabs instruments get-task-measurements --instrument msr --task 8883
See Get Measurements for output format