MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
tsequence.h File Reference
#include <postgres.h>
#include <meos.h>
#include "temporal/meos_catalog.h"
#include "temporal/temporal.h"

Go to the source code of this file.

Functions

void bbox_expand (const void *box1, void *box2, meosType temptype)
 Expand the second bounding box with the first one. More...
 
bool ensure_increasing_timestamps (const TInstant *inst1, const TInstant *inst2, bool strict)
 Ensure that the timestamp of the first temporal instant is smaller (or equal if the merge parameter is true) than the one of the second temporal instant. More...
 
bool ensure_valid_tinstarr (const TInstant **instants, int count, bool merge, interpType interp)
 Ensure that all temporal instants of the array are valid. More...
 
bool ensure_valid_tinstarr_common (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp)
 Ensure the validity of the arguments when creating a temporal sequence. More...
 
bool float_collinear (double x1, double x2, double x3, double ratio)
 Basic functions for temporal sequences. More...
 
double floatsegm_interpolate (double value1, double value2, long double value)
 Return a float interpolated from a float segment with respect to a fraction of its total length. More...
 
long double floatsegm_locate (double value1, double value2, double value)
 Return a float in (0,1) if a float segment intersects a float with respect to an epsilon value, return -1.0 if the value is not located in the segment or if it is approximately equal to the start or the end value. More...
 
bool intersection_tcontseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal sequences. More...
 
bool intersection_tdiscseq_tcontseq (const TSequence *is, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal values. More...
 
bool intersection_tdiscseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal discrete sequences. More...
 
bool intersection_tinstant_tsequence (const TInstant *inst, const TSequence *seq, TInstant **inter1, TInstant **inter2)
 Temporally intersect two temporal values. More...
 
bool intersection_tsequence_tinstant (const TSequence *seq, const TInstant *inst, TInstant **inter1, TInstant **inter2)
 Temporally intersect two temporal sequences. More...
 
bool synchronize_tsequence_tsequence (const TSequence *seq1, const TSequence *seq2, TSequence **sync1, TSequence **sync2, bool interpoint)
 Synchronize two temporal sequences. More...
 
int tcontseq_find_timestamptz (const TSequence *seq, TimestampTz t)
 Return the index of the segment of a temporal continuous sequence containing a timestamp using binary search. More...
 
int tdiscseq_find_timestamptz (const TSequence *seq, TimestampTz t)
 Return the index of a timestamp in a temporal discrete sequence value using binary search. More...
 
int tfloatsegm_intersection_value (Datum start, Datum end, Datum value, TimestampTz lower, TimestampTz upper, TimestampTz *t)
 Return true if the segment of a temporal number intersects the base value at a timestamptz. More...
 
TInstant ** tinstarr_normalize (const TInstant **instants, interpType interp, int count, int *newcount)
 Normalize the array of temporal instants. More...
 
int tnumbersegm_intersection (Datum start1, Datum end1, Datum start2, Datum end2, meosType basetype, TimestampTz lower, TimestampTz upper, TimestampTz *t)
 Compute the intersection, if any, of two segments of temporal sequences. More...
 
double tnumberseq_cont_twavg (const TSequence *seq)
 Return the time-weighted average of a temporal sequence number. More...
 
void tnumberseq_shift_scale_value_iter (TSequence *seq, Datum origin, Datum delta, bool hasdelta, double scale)
 Shift and/or scale the values of the instants of a temporal sequence (iterator function) More...
 
int tsegment_intersection (Datum start1, Datum end1, Datum start2, Datum end2, meosType temptype, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return true if two segments of a temporal sequence intersect at a timestamptz. More...
 
int tsegment_intersection_value (Datum start, Datum end, Datum value, meosType temptype, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return true if a segment of a temporal sequence intersects a base value at a timestamptz. More...
 
Datum tsegment_value_at_timestamptz (Datum start, Datum end, meosType temptype, TimestampTz lower, TimestampTz upper, TimestampTz t)
 Return the base value of the segment of a temporal sequence at a timestamptz. More...
 
TSequence ** tseqarr2_to_tseqarr (TSequence ***sequences, int *countseqs, int count, int totalseqs)
 Return an array of temporal sequences converted from an array of arrays of temporal sequences. More...
 
TSequencetsequence_join (const TSequence *seq1, const TSequence *seq2, bool removelast, bool removefirst)
 Join two temporal sequences. More...
 
bool tsequence_join_test (const TSequence *seq1, const TSequence *seq2, bool *removelast, bool *removefirst)
 Test whether two sequences can be joined during normalization. More...
 
TSequencetsequence_make_exp1 (const TInstant **instants, int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize, void *bbox)
 Return a temporal sequence from an array of temporal instants. More...
 
bool tsequence_make_valid (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp)
 Ensure the validity of the arguments when creating a temporal sequence. More...
 
bool tsequence_norm_test (Datum value1, Datum value2, Datum value3, meosType basetype, interpType interp, TimestampTz t1, TimestampTz t2, TimestampTz t3)
 Test whether we can remove the middle instant among 3 consecutive ones during normalization. More...
 
int tsequence_segments_iter (const TSequence *seq, TSequence **result)
 Return the array of segments of a temporal sequence (iterator function) More...
 
void tsequence_shift_scale_time_iter (TSequence *seq, TimestampTz delta, double scale)
 Shift and/or scale the timestamps of the instants of a temporal sequence (iterator function) More...
 
int tsequence_timestamps_iter (const TSequence *seq, TimestampTz *result)
 Return the array of timestamptz values of a temporal sequence (iterator function) More...
 
char * tsequence_to_string (const TSequence *seq, int maxdd, bool component, outfunc value_out)
 Return the Well-Known Text (WKT) representation of a temporal sequence. More...
 
TSequenceSettstepseq_to_linear (const TSequence *seq)
 Return a temporal sequence with continuous base type transformed from step to linear interpolation. More...
 
int tstepseq_to_linear_iter (const TSequence *seq, TSequence **result)
 Return a temporal sequence with continuous base type transformed from step to linear interpolation (iterator function) More...