StateBase¶
- class sbpy.dynamics.state.StateBase(r: Quantity, v: Quantity, t: Quantity | Time, frame: FrameInputTypes | None = None)[source] [edit on github]¶
Bases:
ABCAbstract base class for dynamical state.
- Parameters:
- r
Quantity Position (x, y, z), shape = (3,) or (N, 3).
- v
Quantity Velocity (x, y, z), shape = (3,) or (N, 3).
- t
TimeorQuantity Time, a scalar or shape = (N,). Time as a
Quantitymay only be used with theArbitraryFramecoordinate frame.- frame
BaseCoordinateFrameclass orstr, optional Reference frame for
randv. Default:ArbitraryFrame.
- r
Notes
State data is immutable.
Examples
>>> from astropy.time import Time >>> import astropy.units as u >>> from sbpy.dynamics import State >>> r = [1e9, 1e9, 0] * u.km >>> v = [0, 0, 10] * u.km / u.s >>> t = Time("2022-07-24", scale="tdb") >>> state = State(r, v, t)
Or, specify time relative to an arbitrary epoch:
>>> t = 327 * u.day >>> state = State(r, v, t)
Dynamical state.
- Parameters:
- r
Quantity Position (x, y, z), shape = (3,) or (N, 3).
- v
Quantity Velocity (x, y, z), shape = (3,) or (N, 3).
- t
TimeorQuantity Time, a scalar or shape = (N,). Time as a
Quantitymay only be used with theArbitraryFramecoordinate frame.- frame
BaseCoordinateFrameclass orstr, optional Reference frame for
randv. Default:ArbitraryFrame.
- r
Notes
State data is immutable.
Examples
>>> from astropy.time import Time >>> import astropy.units as u >>> from sbpy.dynamics import State >>> r = [1e9, 1e9, 0] * u.km >>> v = [0, 0, 10] * u.km / u.s >>> t = Time("2022-07-24", scale="tdb") >>> state = State(r, v, t)
Or, specify time relative to an arbitrary epoch:
>>> t = 327 * u.day >>> state = State(r, v, t)
Attributes Summary
True if the time attribute is arbitrary.
Position vector.
Position in km, and velocity in km/s.
Time.
Velocity vector.
x component of the velocity vector.
y component of the velocity vector.
z component of the velocity vector.
x component of the position vector.
y component of the position vector.
z component of the position vector.
Methods Summary
to_ephem([observer, coords])Convert to an sbpy ephemeris object.
Convert to a
SkyCoordobject.transform_to(frame)Transform state into another reference frame.
Attributes Documentation
- arbitrary_time¶
True if the time attribute is arbitrary.
- frame¶
- r¶
Position vector.
- rv¶
Position in km, and velocity in km/s.
- t¶
Time.
- v¶
Velocity vector.
- v_x¶
x component of the velocity vector.
- v_y¶
y component of the velocity vector.
- v_z¶
z component of the velocity vector.
- x¶
x component of the position vector.
- y¶
y component of the position vector.
- z¶
z component of the position vector.
Methods Documentation
- to_ephem(observer: StateType | None = None, coords: SkyCoord | None = None) Ephem[source] [edit on github]¶
Convert to an sbpy ephemeris object.
- Parameters:
- Returns:
- eph
Ephem
- eph
Notes
Observer state is stored in the
Ephem.metaattribute.coordsis calculated for the given observer.Attribute or quantity
Ephemfield namet, as
Timedate
t, as
Quantityt_relative
\(|r|\)
r
\(|v \cdot \hat{r}|\)
rdot
coords.ra
ra
coords.dec
dec
coords.pm_ra_cosdec
ra*cos(dec)_rate
coords.pm_dec
dec_rate
coords.lon
lon
coords.lat
lat
coords.pm_lon_coslat
lon*cos(lat)_rate
coords.pm_lat
lat_rate
coords.distance
delta
coords.radial_velocity
deltadot
x
x
y
y
z
z
v_x
vx
v_y
vy
v_z
vz
- to_skycoord() SkyCoord[source] [edit on github]¶
Convert to a
SkyCoordobject.
- transform_to(frame: FrameInputTypes) StateBaseType[source] [edit on github]¶
Transform state into another reference frame.
- Parameters:
- frame
strorBaseCoordinateFrame Transform into this reference frame.
- frame
- Returns:
- state
State The transformed state.
- state