Satellite

Struct Satellite 

Source
pub struct Satellite {
Show 105 fields pub init: bool, pub name: String, pub number: f64, pub class: Classification, pub id: String, pub date: Date, pub epochyr: f64, pub epochdays: f64, pub jdsatepoch: f64, pub fdmm: f64, pub sdmm: f64, pub drag: f64, pub ephemeris: f64, pub esn: f64, pub inclination: f64, pub ascension: f64, pub eccentricity: f64, pub perigee: f64, pub anomaly: f64, pub motion: f64, pub revolution: f64, pub opsmode: OperationMode, pub rms: Option<f64>, pub isimp: f64, pub method: Method, pub aycof: f64, pub con41: f64, pub cc1: f64, pub cc4: f64, pub cc5: f64, pub d2: f64, pub d3: f64, pub d4: f64, pub delmo: f64, pub eta: f64, pub argpdot: f64, pub omgcof: f64, pub sinmao: f64, pub t2cof: f64, pub t3cof: f64, pub t4cof: f64, pub t5cof: f64, pub x1mth2: f64, pub x7thm1: f64, pub mdot: f64, pub nodedot: f64, pub xlcof: f64, pub xmcof: f64, pub nodecf: f64, pub irez: f64, pub d2201: f64, pub d2211: f64, pub d3210: f64, pub d3222: f64, pub d4410: f64, pub d4422: f64, pub d5220: f64, pub d5232: f64, pub d5421: f64, pub d5433: f64, pub dedt: f64, pub del1: f64, pub del2: f64, pub del3: f64, pub didt: f64, pub dmdt: f64, pub dnodt: f64, pub domdt: f64, pub e3: f64, pub ee2: f64, pub peo: f64, pub pgho: f64, pub pho: f64, pub pinco: f64, pub plo: f64, pub se2: f64, pub se3: f64, pub sgh2: f64, pub sgh3: f64, pub sgh4: f64, pub sh2: f64, pub sh3: f64, pub si2: f64, pub si3: f64, pub sl2: f64, pub sl3: f64, pub sl4: f64, pub gsto: f64, pub xfact: f64, pub xgh2: f64, pub xgh3: f64, pub xgh4: f64, pub xh2: f64, pub xh3: f64, pub xi2: f64, pub xi3: f64, pub xl2: f64, pub xl3: f64, pub xl4: f64, pub xlamo: f64, pub zmol: f64, pub zmos: f64, pub atime: f64, pub xli: f64, pub xni: f64,
}
Expand description

§Satellite Orbit Class

§Description

A class representing a satellite orbit.

§Examples

§Input TLE example

STARLINK-1007
1 44713C 19074A   23048.53451389 -.00009219  00000+0 -61811-3 0   482
2 44713  53.0512 157.2379 0001140  81.3827  74.7980 15.06382459    15

§Run example

import { Satellite } from 'gis-tools-ts';

const sat = new Satellite(tleString);
// get propagation at time
const { position, velocity } = sat.propagate(new Date());
  • https://en.wikipedia.org/wiki/Two-line_element_set
  • https://celestrak.org/NORAD/documentation/tle-fmt.php
  • https://www.space-track.org/documentation#tle-basic

Fields§

§init: bool

If the satellite is initialized

§name: String

Name of the satellite

§number: f64

(satnum) Satellite catalog number or NORAD (North American Aerospace Defense) Catalog Number

§class: Classification

Classification (U: unclassified, C: classified, S: secret)

§id: String

International Designator

§date: Date

(epochyr + epochdays)

§epochyr: f64

Epoch year

§epochdays: f64

Epoch days

§jdsatepoch: f64

full Sat epoch

§fdmm: f64

(ndot) First derivative of mean motion; the ballistic coefficient

§sdmm: f64

(nddot) Second derivative of mean motion (decimal point assumed)

§drag: f64

(bstar) B*, the drag term, or radiation pressure coefficient (decimal point assumed)

§ephemeris: f64

Ephemeris type (always zero; only used in undistributed TLE data)

§esn: f64

Element set number. Incremented when a new TLE is generated for this object.

§inclination: f64

Inclination (degrees)

§ascension: f64

Right ascension of the ascending node (degrees)

§eccentricity: f64

Eccentricity (decimal point assumed)

§perigee: f64

Argument of perigee (degrees)

§anomaly: f64

Mean anomaly (degrees)

§motion: f64

Mean motion (revolutions per day)

§revolution: f64

Revolution number at epoch (revolutions)

§opsmode: OperationMode

Operation Mode

§rms: Option<f64>

RMS

§isimp: f64

Is IMP

§method: Method

method

§aycof: f64

ay coefficient

§con41: f64

con 41

§cc1: f64

cc1

§cc4: f64

cc4

§cc5: f64

cc5

§d2: f64

d2

§d3: f64

d3

§d4: f64

d4

§delmo: f64

delmo

§eta: f64

eta

§argpdot: f64

argpdot

§omgcof: f64

omgcof

§sinmao: f64

sinmao

§t2cof: f64

t2cof

§t3cof: f64

t3cof

§t4cof: f64

t4cof

§t5cof: f64

t5cof

§x1mth2: f64

x1mth2

§x7thm1: f64

x7thm1

§mdot: f64

mdot

§nodedot: f64

nodedot

§xlcof: f64

xlcof

§xmcof: f64

xmcof

§nodecf: f64

nodecf

§irez: f64

irez

§d2201: f64

d2201

§d2211: f64

d2211

§d3210: f64

d3210

§d3222: f64

d3222

§d4410: f64

d4410

§d4422: f64

d4422

§d5220: f64

d5220

§d5232: f64

d5232

§d5421: f64

d5421

§d5433: f64

d5433

§dedt: f64

dedt

§del1: f64

del1

§del2: f64

del2

§del3: f64

del3

§didt: f64

didt

§dmdt: f64

dmdt

§dnodt: f64

dnodt

§domdt: f64

domdt

§e3: f64

e3

§ee2: f64

ee2

§peo: f64

peo

§pgho: f64

pgho

§pho: f64

pho

§pinco: f64

pinco

§plo: f64

plo

§se2: f64

se2

§se3: f64

se3

§sgh2: f64

sgh2

§sgh3: f64

sgh3

§sgh4: f64

sgh4

§sh2: f64

sh2

§sh3: f64

sh3

§si2: f64

si2

§si3: f64

si3

§sl2: f64

sl2

§sl3: f64

sl3

§sl4: f64

sl4

§gsto: f64

gsto

§xfact: f64

xfact

§xgh2: f64

xgh2

§xgh3: f64

xgh3

§xgh4: f64

xgh4

§xh2: f64

xh2

§xh3: f64

xh3

§xi2: f64

xi2

§xi3: f64

xi3

§xl2: f64

xl2

§xl3: f64

xl3

§xl4: f64

xl4

§xlamo: f64

xlamo

§zmol: f64

zmol

§zmos: f64

zmos

§atime: f64

atime

§xli: f64

xli

§xni: f64

xni

Implementations§

Source§

impl Satellite

Source

pub fn new(data: &TLEData, initialize: Option<bool>) -> Self

Constructor @param data - TLE data or TLE string @param initialize - initialize the object on creation

Source

pub fn gpu(&self) -> Vec<f64>

Converts satellite state to an array that is readable by the GPU

§Returns

Satellite state in an array

Source

pub fn propagate(&self, time: &Date) -> Result<SGP4Output, SGP4ErrorOutput>

propagate the satellite’s position and velocity given a Date input

§Parameters
  • time: Date object
§Returns

satellite state at that time given

Source

pub fn sgp4(&self, time: f64) -> Result<SGP4Output, SGP4ErrorOutput>

time in minutes since epoch

§Parameters
  • time: time in minutes from satellite epoch
§Returns

satellite state at that time given

Trait Implementations§

Source§

impl Clone for Satellite

Source§

fn clone(&self) -> Satellite

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Satellite

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Satellite

Source§

fn default() -> Satellite

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Satellite

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Satellite

Source§

fn eq(&self, other: &Satellite) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Satellite

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Satellite

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,