pub trait DataAggregation: DataSeries {
// Required methods
fn aggregate<const N: usize>(
&self,
config: &AggregationConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>;
fn downsample_lttb<const N: usize>(
&self,
config: &DownsamplingConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>;
fn downsample_uniform<const N: usize>(
&self,
config: &DownsamplingConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>;
fn calculate_group_stats(
&self,
points: &[Self::Item],
) -> DataResult<GroupStats<Self::Item>>
where Self::Item: Clone;
}Expand description
Trait providing aggregation and downsampling capabilities for data series
Required Methods§
Sourcefn aggregate<const N: usize>(
&self,
config: &AggregationConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>
fn aggregate<const N: usize>( &self, config: &AggregationConfig, ) -> DataResult<StaticDataSeries<Self::Item, N>>
Sourcefn downsample_lttb<const N: usize>(
&self,
config: &DownsamplingConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>
fn downsample_lttb<const N: usize>( &self, config: &DownsamplingConfig, ) -> DataResult<StaticDataSeries<Self::Item, N>>
Downsample data using Largest Triangle Three Buckets algorithm
This algorithm preserves the visual characteristics of the data better than simple uniform sampling by considering the area of triangles formed by adjacent points.
§Arguments
config- Configuration for the downsampling operation
§Returns
A new data series with downsampled points
Sourcefn downsample_uniform<const N: usize>(
&self,
config: &DownsamplingConfig,
) -> DataResult<StaticDataSeries<Self::Item, N>>
fn downsample_uniform<const N: usize>( &self, config: &DownsamplingConfig, ) -> DataResult<StaticDataSeries<Self::Item, N>>
Sourcefn calculate_group_stats(
&self,
points: &[Self::Item],
) -> DataResult<GroupStats<Self::Item>>
fn calculate_group_stats( &self, points: &[Self::Item], ) -> DataResult<GroupStats<Self::Item>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<T, const M: usize> DataAggregation for StaticDataSeries<T, M>
Implementation of aggregation for StaticDataSeries