MobilityDB 1.1
Functions
tpoint_spatialrels.c File Reference
#include "point/tpoint_spatialrels.h"
#include <assert.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/lifting.h"
#include "general/type_util.h"
#include "point/pgis_call.h"
#include "point/tpoint_spatialfuncs.h"
#include "point/tpoint_tempspatialrels.h"
Include dependency graph for tpoint_spatialrels.c:

Functions

static Datum econtains_geo_geo (Datum geom1, Datum geom2)
 Call the PostGIS function ST_Relate twice to compute the ever contains relationship between the trajectory of a temporal point and a geometry. More...
 
int econtains_geo_tpoint (const GSERIALIZED *geo, const Temporal *temp)
 Return 1 if a geometry ever contains a temporal point, 0 if not, and -1 if the geometry is empty. More...
 
int edisjoint_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal point and a geometry are ever disjoint, 0 if not, and -1 if the geometry is empty. More...
 
bool edisjoint_tpointinst_geo (const TInstant *inst, Datum geo, Datum(*func)(Datum,...))
 Return true if a temporal instant point and a geometry are ever disjoint. More...
 
bool edisjoint_tpointseq_geo (const TSequence *seq, Datum geo, Datum(*func)(Datum,...))
 Return true if a temporal sequence point and a geometry are ever disjoint. More...
 
bool edisjoint_tpointseqset_geo (const TSequenceSet *ss, Datum geo, Datum(*func)(Datum,...))
 Return true if a temporal sequence set point and a geometry are ever disjoint. More...
 
int edwithin_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs, double dist)
 Return 1 if a geometry and a temporal point are ever within the given distance, 0 if not, -1 if a geometry is empty. More...
 
int edwithin_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2, double dist)
 Return 1 if the temporal points are ever within the given distance, 0 if not, -1 if the temporal points do not intersect on time. More...
 
int edwithin_tpoint_tpoint1 (const Temporal *sync1, const Temporal *sync2, double dist)
 Return 1 if the temporal points are ever within the given distance, 0 if not, -1 if the temporal points do not intersect on time. More...
 
static bool edwithin_tpointdiscseq_tpointdiscseq (const TSequence *seq1, const TSequence *seq2, double dist, datum_func3 func)
 Return true if the temporal points are ever within the given distance. More...
 
static bool edwithin_tpointinst_tpointinst (const TInstant *inst1, const TInstant *inst2, double dist, datum_func3 func)
 Return true if the temporal points are ever within the given distance. More...
 
static bool edwithin_tpointseq_tpointseq (const TSequence *seq1, const TSequence *seq2, double dist, datum_func3 func)
 Return true if the temporal points are ever within the given distance. More...
 
static bool edwithin_tpointseqset_tpointseqset (const TSequenceSet *ss1, const TSequenceSet *ss2, double dist, datum_func3 func)
 Return true if the temporal points are ever within the given distance. More...
 
int eintersects_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a geometry and a temporal point ever intersect, 0 if not, and -1 if the geometry is empty. More...
 
bool espatialrel_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs, Datum param, Datum(*func)(Datum,...), int numparam, bool invert)
 Generic ever spatial relationship for a temporal point and a geometry. More...
 
int espatialrel_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2, Datum(*func)(Datum, Datum))
 Return true if the temporal points ever satisfy the spatial relationship. More...
 
int etouches_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal point and a geometry ever touch, 0 if not, and -1 if the geometry is empty. More...
 
Datum geog_disjoint (Datum geog1, Datum geog2)
 Call the PostGIS function ST_Intersects for geographies with the 2 arguments. More...
 
Datum geog_dwithin (Datum geog1, Datum geog2, Datum dist)
 Call the PostGIS function ST_DWithin for geographies with the 3 arguments. More...
 
Datum geog_intersects (Datum geog1, Datum geog2)
 Call the PostGIS function ST_Intersects for geographies with the 2 arguments. More...
 
Datum geom_contains (Datum geom1, Datum geom2)
 Ever spatial relationships for temporal points. More...
 
Datum geom_disjoint2d (Datum geom1, Datum geom2)
 Call the PostGIS function ST_Intersects with the 2 arguments and negate the result. More...
 
Datum geom_disjoint3d (Datum geom1, Datum geom2)
 Call the PostGIS function ST_Intersects3D with the 2 arguments and negates the result. More...
 
Datum geom_dwithin2d (Datum geom1, Datum geom2, Datum dist)
 Call the PostGIS function ST_DWithin with the 3 arguments. More...
 
Datum geom_dwithin3d (Datum geom1, Datum geom2, Datum dist)
 Call the PostGIS function ST_3DDWithin with the 3 arguments. More...
 
Datum geom_intersects2d (Datum geom1, Datum geom2)
 Call the PostGIS function ST_Intersects with the 2 arguments. More...
 
Datum geom_intersects3d (Datum geom1, Datum geom2)
 Call the PostGIS function ST_3DIntersects with the 2 arguments. More...
 
Datum geom_touches (Datum geom1, Datum geom2)
 Call the PostGIS function ST_Touches with the 2 arguments. More...
 
static datum_func2 get_disjoint_fn_gs (int16 flags1, uint8_t flags2)
 Select the appropriate disjoint function for a MobilityDB type and a GSERIALIZED. More...
 
datum_func3 get_dwithin_fn (int16 flags1, int16 flags2)
 Select the appropriate dwithin function for two MobilityDB types. More...
 
static datum_func3 get_dwithin_fn_gs (int16 flags1, uint8_t flags2)
 Select the appropriate dwithin function for a MobilityDB type and a GSERIALIZED. More...
 
static datum_func2 get_intersects_fn_gs (int16 flags1, uint8_t flags2)
 Select the appropriate intersect function for a MobilityDB type and a GSERIALIZED. More...