pub struct Track {
pub track_id: String,
pub classification: String,
pub confidence: f32,
pub position: Option<TrackPosition>,
pub velocity: Option<Velocity>,
pub state: i32,
pub source: Option<TrackSource>,
pub attributes_json: String,
pub first_seen: Option<Timestamp>,
pub last_seen: Option<Timestamp>,
pub observation_count: u32,
}Expand description
Track represents an observed entity in the environment
This is a generic ISR product that can represent anything being tracked: persons, vehicles, aircraft, vessels, etc. The source can be any sensor, AI model, or human observer.
Fields§
§track_id: StringUnique track identifier (e.g., “TRK-001”)
classification: StringClassification of the tracked entity
confidence: f32Confidence in the classification (0.0 - 1.0)
position: Option<TrackPosition>Current position estimate
velocity: Option<Velocity>Velocity estimate (optional)
state: i32Track state
source: Option<TrackSource>Source information
attributes_json: StringAdditional attributes (JSON-encoded for extensibility) e.g., {“color”: “red”, “size”: “large”, “armed”: true}
first_seen: Option<Timestamp>First observation timestamp
last_seen: Option<Timestamp>Most recent observation timestamp
observation_count: u32Number of observations contributing to this track
Implementations§
Source§impl Track
impl Track
Sourcepub fn state(&self) -> TrackState
pub fn state(&self) -> TrackState
Returns the enum value of state, or the default if the field is set to an invalid enum value.
Sourcepub fn set_state(&mut self, value: TrackState)
pub fn set_state(&mut self, value: TrackState)
Sets state to the provided enum value.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Track
impl<'de> Deserialize<'de> for Track
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Message for Track
impl Message for Track
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.