|
MobilityDB 1.3
|
Spatiotemporal relationships for temporal geos. More...
#include "geo/tgeo_tempspatialrels.h"#include <assert.h>#include <math.h>#include <liblwgeom.h>#include <meos.h>#include <meos_internal.h>#include <meos_internal_geo.h>#include "temporal/lifting.h"#include "temporal/tbool_ops.h"#include "temporal/temporal_compops.h"#include "temporal/tinstant.h"#include "temporal/tsequence.h"#include "temporal/type_util.h"#include "geo/postgis_funcs.h"#include "geo/tgeo_restrict.h"#include "geo/tgeo_spatialfuncs.h"#include "geo/tgeo_spatialrels.h"#include "cbuffer/tcbuffer_spatialrels.h"Functions | |
| Temporal * | tcontains_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp) |
| Return a temporal Boolean that states whether a geometry contains a temporal geometry. More... | |
| Temporal * | tcontains_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs) |
| Return a temporal Boolean that states whether a temporal geometry contains a geometry. More... | |
| Temporal * | tcontains_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2) |
| Return a temporal Boolean that states whether a temporal geometry contains another one. More... | |
| Temporal * | tcovers_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp) |
| Return a temporal Boolean that states whether a geometry covers a temporal geometry. More... | |
| Temporal * | tcovers_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs) |
| Return a temporal Boolean that states whether a temporal geometry covers a geometry. More... | |
| Temporal * | tcovers_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2) |
| Return a temporal Boolean that states whether a spatiotemporal value covers another one. More... | |
| Temporal * | tdisjoint_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp) |
| Return a temporal Boolean that states whether a temporal geo and a geometry are disjoint. More... | |
| Temporal * | tdisjoint_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs) |
| Return a temporal Boolean that states whether a temporal geo and a geometry are disjoint. More... | |
| Temporal * | tdisjoint_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2) |
| Return a temporal Boolean that states whether two temporal geos are disjoint. More... | |
| int | tdwithin_add_solutions (int solutions, TimestampTz lower, TimestampTz upper, bool lower_inc, bool upper_inc, bool upper_inc1, TimestampTz t1, TimestampTz t2, TInstant **instants, TSequence **result) |
| Construct the result of the tdwithin function of a segment from the solutions of the quadratic equation found previously. More... | |
| Temporal * | tdwithin_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, double dist) |
| Temporal * | tdwithin_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, double dist) |
| Return a temporal Boolean that states whether a temporal geo and a geometry are within a distance. More... | |
| Temporal * | tdwithin_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, double dist) |
| Return a temporal Boolean that states whether two temporal geos are within a distance. More... | |
| static TSequenceSet * | tdwithin_tlinearseq_base (const TSequence *seq, Datum point, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return the timestamps at which a temporal point sequence and a point are within a distance. More... | |
| static int | tdwithin_tlinearseq_base_iter (const TSequence *seq, Datum point, Datum dist, datum_func3 func, tpfunc_temp tpfn, TSequence **result) |
| Return the timestamps at which a temporal point sequence and a point are within a distance (iterator function) More... | |
| static TSequenceSet * | tdwithin_tlinearseq_tlinearseq (const TSequence *seq1, const TSequence *seq2, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return the temporal dwithin relationship between two temporal point sequences. More... | |
| static int | tdwithin_tlinearseq_tlinearseq_iter (const TSequence *seq1, const TSequence *seq2, Datum dist, datum_func3 func, tpfunc_temp tpfn, TSequence **result) |
| Return the timestamps at which the segments of two temporal point sequences are within a distance (iterator function) More... | |
| static TSequenceSet * | tdwithin_tlinearseqset_base (const TSequenceSet *ss, Datum point, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return the timestamps at which a temporal point sequence set and a point are within a distance. More... | |
| static TSequenceSet * | tdwithin_tlinearseqset_tlinearseqset (const TSequenceSet *ss1, const TSequenceSet *ss2, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return the timestamps at which the segments of two temporal point sequence sets are within a distance. More... | |
| Temporal * | tdwithin_tspatial_spatial (const Temporal *temp, Datum base, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return a temporal Boolean that states whether a spatiotemporal value and a base value are within a distance. More... | |
| Temporal * | tdwithin_tspatial_tspatial (const Temporal *sync1, const Temporal *sync2, Datum dist, datum_func3 func, tpfunc_temp tpfn) |
| Return a temporal Boolean that states whether two temporal geos are within a distance. More... | |
| Temporal * | tinterrel_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool tinter) |
| Return a temporal Boolean that states whether a temporal geo and a geometry intersect or are disjoint. More... | |
| TSequenceSet * | tinterrel_tpointseq_linear_geo (const TSequence *seq, const GSERIALIZED *gs, const STBox *box, bool tinter, datum_func2 func) |
| Return a temporal Boolean that states whether a temporal point with linear interpolation and a geometry intersect or are disjoint. More... | |
| static TSequence ** | tinterrel_tpointseq_linear_geo_iter (const TSequence *seq, const GSERIALIZED *gs, const STBox *box, bool tinter, datum_func2 func, int *count) |
| Return an array of temporal Boolean sequences that state whether a temporal point sequence with linear interpolation and a geometry intersect or are disjoint (iterator function) More... | |
| static TSequence ** | tinterrel_tpointseq_simple_geo (const TSequence *seq, const GSERIALIZED *gs, const STBox *box, bool tinter, int *count) |
| Return an array of temporal Boolean sequences that state whether a temporal point sequence with linear interpolation that is simple and a geometry intersect or are disjoint. More... | |
| Temporal * | tinterrel_tspatial_base (const Temporal *temp, Datum base, bool tinter, datum_func2 func) |
| Return a temporal Boolean that states whether a spatialtemporal value and a base value intersect or are disjoint. More... | |
| Temporal * | tinterrel_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2, bool tinter) |
| Return a temporal Boolean that states whether two temporal geos intersect or are disjoint. More... | |
| TInstant * | tinterrel_tspatialinst_base (const TInstant *inst, Datum base, bool tinter, datum_func2 func) |
| Return a temporal Boolean that states whether a spatiotemporal instant and a base value intersect or are disjoint. More... | |
| TSequence * | tinterrel_tspatialseq_discstep_base (const TSequence *seq, Datum base, bool tinter, datum_func2 func) |
| Return a temporal Boolean that states whether a spatiotemporal sequence and a base value intersect or are disjoint. More... | |
| TSequenceSet * | tinterrel_tspatialseqset_base (const TSequenceSet *ss, Datum base, const STBox *box, bool tinter, datum_func2 func) |
| Return a temporal Boolean that states whether a spatiotemporal sequence set and a base value intersect or are disjoint. More... | |
| Temporal * | tintersects_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp) |
| Return a temporal Boolean that states whether a temporal geo and a geometry intersect. More... | |
| Temporal * | tintersects_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs) |
| Return a temporal Boolean that states whether a temporal geo and a geometry intersect. More... | |
| Temporal * | tintersects_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2) |
| Return a temporal Boolean that states whether two temporal geos intersect. More... | |
| Temporal * | tspatialrel_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, varfunc func, bool invert) |
| Return a temporal Boolean that states whether a temporal geometry and a geometry satisfy a spatial relationship. More... | |
| Temporal * | tspatialrel_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, varfunc func) |
| Return a temporal Boolean that states whether two temporal geometries satisfy a spatial relationship. More... | |
| Temporal * | tspatialrel_tspatial_base (const Temporal *temp, Datum base, Datum param, varfunc func, int numparam, bool invert) |
| Generic spatiotemporal relationship for a spatiotemporal value and a base value. More... | |
| Temporal * | tspatialrel_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2, Datum param, varfunc func, int numparam, bool invert) |
| Generic spatiotemporal relationship for two temporal geometries. More... | |
| Temporal * | ttouches_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp) |
| Return a temporal Boolean that states whether a geometry touches a temporal geo. More... | |
| Temporal * | ttouches_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs) |
| Return a temporal Boolean that states whether a temporal geo touches a geometry. More... | |
| Temporal * | ttouches_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2) |
| Return a temporal Boolean that states whether a temporal geometry touches another one. More... | |
Spatiotemporal relationships for temporal geos.
These relationships are applied at each instant and result in a temporal Boolean.
The following relationships are supported for a temporal geometry point and a geometry: tcontains, tdisjoint, tintersects, ttouches, and tdwithin.
The following relationships are supported for two temporal geometry points: tdwithin.
The following relationships are supported for two temporal geography points: tdisjoint, tintersects, tdwithin.