MobilityDB 1.3
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Functions
tgeo_spatialrels.c File Reference

Ever and always spatial relationships for temporal geometries. More...

#include "geo/tgeo_spatialrels.h"
#include <meos.h>
#include <meos_internal.h>
#include <meos_geo.h>
#include "temporal/temporal.h"
#include "geo/tgeo_spatialfuncs.h"
#include "pg_geo/postgis.h"
#include "pg_geo/tspatial.h"

Functions

Datum Acontains_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry always contains a temporal geometry @sqlfn aContains() More...
 
Datum Acontains_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry always contains a geometry @sqlfn aContains() More...
 
Datum Acontains_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry always contains another one @sqlfn aContains() More...
 
Datum Acovers_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry always covers a temporal geometry @sqlfn aCovers() More...
 
Datum Acovers_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry always covers a geometry @sqlfn aCovers() More...
 
Datum Acovers_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry always covers another one @sqlfn eCovers() More...
 
Datum Adisjoint_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometrys are ever disjoint @sqlfn aDisjoint() More...
 
Datum Adwithin_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry are always within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography are ever within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometries are always within a distance @sqlfn aDwithin() More...
 
Datum Aintersects_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry ever intersect @sqlfn aIntersects() More...
 
Datum Aintersects_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography always intersect @sqlfn aIntersects() More...
 
Datum Aintersects_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometrys ever intersect @sqlfn aIntersects() More...
 
Datum Atouches_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal geometry ever touch @sqlfn aTouches() More...
 
Datum Atouches_geo_tpoint (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal point ever touch each other @sqlfn aTouches() More...
 
Datum Atouches_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry always touch @sqlfn aTouches() More...
 
Datum Atouches_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometries always touch each other @sqlfn aTouches() More...
 
Datum Atouches_tpoint_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry always touch @sqlfn aTouches() More...
 
Datum EA_dwithin_geo_tspatial (FunctionCallInfo fcinfo, int(*func)(const Temporal *, const GSERIALIZED *, double dist, bool), bool ever)
 Return true if a geometry and a spatiotemporal value are ever/always within a distance. More...
 
static Datum EA_dwithin_tgeo_tgeo (FunctionCallInfo fcinfo, bool ever)
 Return true if two temporal geometries are even/always within a distance @sqlfn eDwithin(), aDwithin() More...
 
Datum EA_dwithin_tspatial_geo (FunctionCallInfo fcinfo, int(*func)(const Temporal *, const GSERIALIZED *, double dist, bool), bool ever)
 Return true if a spatiotemporal value and a geometry are ever/always within a distance. More...
 
Datum EA_spatialrel_geo_tspatial (FunctionCallInfo fcinfo, int(*func)(const GSERIALIZED *, const Temporal *, bool), bool ever)
 Return true if a geometry and a spatiotemporal value ever/always satisfy a spatial relationship. More...
 
Datum EA_spatialrel_tspatial_geo (FunctionCallInfo fcinfo, int(*func)(const Temporal *, const GSERIALIZED *, bool), bool ever)
 Return true if a spatiotemporal value and a geometry ever/always satisfy a spatial relationship. More...
 
Datum EA_spatialrel_tspatial_tspatial (FunctionCallInfo fcinfo, int(*func)(const Temporal *, const Temporal *, bool), bool ever)
 Return true if two spatiotemporal values ever/always satisfy the spatial relationship. More...
 
Datum EA_touches_geo_tgeo (FunctionCallInfo fcinfo, bool ever, bool tpoint)
 Return true if a geometry and a temporal geometry ever/always touch @sqlfn eTouches(), aTouches() More...
 
Datum EA_touches_tgeo_geo (FunctionCallInfo fcinfo, bool ever, bool tpoint)
 Return true if a temporal geometry and a geometry ever/always touch @sqlfn eTouches(), aTouches() More...
 
Datum Econtains_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry ever contains a temporal geometry @sqlfn eContains() More...
 
Datum Econtains_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry ever contains a geometry @sqlfn eContains() More...
 
Datum Econtains_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry ever contains another one @sqlfn eContains() More...
 
Datum Ecovers_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry ever covers a temporal geometry @sqlfn eCovers() More...
 
Datum Ecovers_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry ever covers a geometry @sqlfn eCovers() More...
 
Datum Ecovers_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry ever covers another one @sqlfn eCovers() More...
 
Datum Edisjoint_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometrys are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edwithin_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometries are ever within a distance @sqlfn eDwithin() More...
 
Datum Eintersects_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry/geography and a temporal geometry ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry/geography ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometrys ever intersect @sqlfn eIntersects() More...
 
Datum Etouches_geo_tgeo (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal geometry ever touch @sqlfn eTouches() More...
 
Datum Etouches_geo_tpoint (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal point ever touch each other @sqlfn eTouches() More...
 
Datum Etouches_tgeo_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry ever touch @sqlfn eTouches() More...
 
Datum Etouches_tgeo_tgeo (PG_FUNCTION_ARGS)
 Return true if two temporal geometries ever touch each other @sqlfn eTouches() More...
 
Datum Etouches_tpoint_geo (PG_FUNCTION_ARGS)
 Return true if a temporal geometry and a geometry ever touch @sqlfn eTouches() More...
 

Detailed Description

Ever and always spatial relationships for temporal geometries.

These relationships compute the ever/always spatial relationship between the arguments and return a Boolean. These functions may be used for filtering purposes before applying the corresponding spatiotemporal relationship.

The following relationships are supported for geometries: eContains, aContains, eDisjoint, aDisjoint, eIntersects, aIntersects, eTouches, aTouches,eDwithin, andaDwithin`.

The following relationships are supported for geographies: eDisjoint, aDisjoint, eIntersects, aIntersects, eDwithin, and aDwithin.

Only eDisjoint, eDwithin, and eIntersects are supported for 3D geometries.