MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
tcbuffer_spatialrels.c File Reference

Ever and always spatial relationships for temporal circular buffers. More...

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

Functions

Datum Acontains_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry always contains a temporal circular buffer @sqlfn aContains() More...
 
Datum Acontains_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry always contains a temporal circular buffer @sqlfn aContains() More...
 
Datum Acontains_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer always contains a geometry @sqlfn aContains() More...
 
Datum Acontains_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer always contains a geometry @sqlfn aContains() More...
 
Datum Acovers_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry always covers a temporal circular buffer @sqlfn aCovers() More...
 
Datum Acovers_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry always covers a temporal circular buffer @sqlfn aCovers() More...
 
Datum Acovers_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer always covers a geometry @sqlfn aCovers() More...
 
Datum Acovers_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer always covers a geometry @sqlfn aCovers() More...
 
Datum Acovers_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer always touch @sqlfn aTouches() More...
 
Datum Adisjoint_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry are always disjoint @sqlfn aDisjoint() More...
 
Datum Adisjoint_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers are ever disjoint @sqlfn aDisjoint() More...
 
Datum Adwithin_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer are always within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer are always within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer are always within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry are always within a distance @sqlfn aDwithin() More...
 
Datum Adwithin_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers are always within a distance @sqlfn aDwithin() More...
 
Datum Aintersects_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer always intersect @sqlfn aIntersects() More...
 
Datum Aintersects_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer ever intersect @sqlfn aIntersects() More...
 
Datum Aintersects_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer always intersect @sqlfn aIntersects() More...
 
Datum Aintersects_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry always intersect @sqlfn aIntersects() More...
 
Datum Aintersects_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers ever intersect @sqlfn aIntersects() More...
 
Datum Atouches_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer always touch @sqlfn aTouches() More...
 
Datum Atouches_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer ever touch @sqlfn aTouches() More...
 
Datum Atouches_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer always touch @sqlfn aTouches() More...
 
Datum Atouches_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry always touch @sqlfn aTouches() More...
 
Datum Atouches_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer always touch @sqlfn aTouches() More...
 
static Datum EA_dwithin_cbuffer_tcbuffer (FunctionCallInfo fcinfo, bool ever)
 Return true if a circular buffer and a temporal circular buffer are ever/always within a distance @sqlfn eDwithin() More...
 
static Datum EA_dwithin_geo_tcbuffer (FunctionCallInfo fcinfo, bool ever)
 Return true if a geometry and a temporal circular buffer are ever/always within a distance @sqlfn eDwithin() More...
 
Datum EA_dwithin_tcbuffer_cbuffer (FunctionCallInfo fcinfo, bool ever)
 Return true if a temporal circular buffer and a circular buffer are ever/always within a distance @sqlfn eDwithin() More...
 
static Datum EA_dwithin_tcbuffer_geo (FunctionCallInfo fcinfo, bool ever)
 Return true if a temporal circular buffer and a geometry are ever/always within a distance @sqlfn eDwithin() More...
 
static Datum EA_dwithin_tcbuffer_tcbuffer (FunctionCallInfo fcinfo, bool ever)
 Return true if two temporal circular buffers are even/always within a distance @sqlfn eDwithin(), aDwithin() More...
 
Datum EA_spatialrel_cbuffer_tcbuffer (FunctionCallInfo fcinfo, int(*func)(const Cbuffer *, const Temporal *, bool), bool ever)
 Return true if a circular buffer and a temporal circular buffer ever/always satisfy a spatial relationship. More...
 
Datum EA_spatialrel_tcbuffer_cbuffer (FunctionCallInfo fcinfo, int(*func)(const Temporal *, const Cbuffer *, bool), bool ever)
 Return true if a geometry and a spatiotemporal value ever/always satisfy a spatial relationship. More...
 
Datum Econtains_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry ever contains a temporal circular buffer @sqlfn eContains() More...
 
Datum Econtains_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer ever contains a geometry @sqlfn eContains() More...
 
Datum Econtains_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer ever contains a geometry @sqlfn eContains() More...
 
Datum Ecovers_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry ever covers a temporal circular buffer @sqlfn eCovers() More...
 
Datum Ecovers_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer ever covers a geometry @sqlfn eCovers() More...
 
Datum Ecovers_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer ever covers a geometry @sqlfn eCovers() More...
 
Datum Ecovers_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer ever touch @sqlfn eTouches() More...
 
Datum Edisjoint_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edisjoint_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers are ever disjoint @sqlfn eDisjoint() More...
 
Datum Edwithin_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry are ever within a distance @sqlfn eDwithin() More...
 
Datum Edwithin_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers are ever within a distance @sqlfn eDwithin() More...
 
Datum Eintersects_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry ever intersect @sqlfn eIntersects() More...
 
Datum Eintersects_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if two temporal circular buffers ever intersect @sqlfn eIntersects() More...
 
Datum Etouches_cbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a circular buffer and a temporal circular buffer ever touch @sqlfn eTouches() More...
 
Datum Etouches_geo_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a geometry and a temporal circular buffer ever touch @sqlfn eTouches() More...
 
Datum Etouches_tcbuffer_cbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer ever touch @sqlfn eTouches() More...
 
Datum Etouches_tcbuffer_geo (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a geometry ever touch @sqlfn eTouches() More...
 
Datum Etouches_tcbuffer_tcbuffer (PG_FUNCTION_ARGS)
 Return true if a temporal circular buffer and a circular buffer ever touch @sqlfn eTouches() More...
 

Detailed Description

Ever and always spatial relationships for temporal circular buffers.

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: eContains, aContains, eCovers, aCovers, eDisjoint, aDisjoint, eIntersects, aIntersects, eTouches, aTouches, eDwithin, and aDwithin.

Most of these relationships support the following combination of arguments ({geo, cbuffer, tcbuffer}, {geo, cbuffer, tcbuffer}). One exception is for the non-symmetric relationships eContains and eCovers since there is no efficient algorithm for enabling the combination of arguments (geo, tcbuffer). Another exception is that only eDisjoint, aDisjoint, eIntersects, aIntersects, eDwithin, and aDwithin support the following arguments (tcbuffer, tcbuffer).