MobilityDB 1.1
Functions
tpoint_spatialfuncs.c File Reference
#include "point/tpoint_spatialfuncs.h"
#include <assert.h>
#include <utils/float.h>
#include <liblwgeom.h>
#include <liblwgeom_internal.h>
#include <lwgeodetic.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/lifting.h"
#include "general/set.h"
#include "general/type_util.h"
#include "pg_general/temporal.h"
#include "pg_general/tnumber_mathfuncs.h"
#include "pg_general/type_util.h"
#include "pg_point/postgis.h"
Include dependency graph for tpoint_spatialfuncs.c:

Functions

PGDLLEXPORT Datum Bearing_geo_tpoint (PG_FUNCTION_ARGS)
 Return the temporal bearing between a geometry/geography point and a temporal point. More...
 
PGDLLEXPORT Datum Bearing_point_point (PG_FUNCTION_ARGS)
 Return the temporal bearing between two geometry/geography points. More...
 
PGDLLEXPORT Datum Bearing_tpoint_point (PG_FUNCTION_ARGS)
 Return the temporal bearing between a temporal point and a geometry/geography point. More...
 
PGDLLEXPORT Datum Bearing_tpoint_tpoint (PG_FUNCTION_ARGS)
 Return the temporal bearing between two temporal points. More...
 
static Datum datum_round_circularstring (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
Datum datum_round_geo (Datum value, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_geometrycollection (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_linestring (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_multilinestring (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_multipoint (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_multipolygon (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_point (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_polygon (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
static Datum datum_round_triangle (GSERIALIZED *gs, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
Datum datum_transform (Datum value, Datum srid)
 Call the PostGIS transform function. More...
 
PGDLLEXPORT Datum Geo_round (PG_FUNCTION_ARGS)
 Sets the precision of the coordinates of the geometry. More...
 
Setgeoset_round (const Set *s, Datum prec)
 Set the precision of the coordinates to the number of decimal places. More...
 
PGDLLEXPORT Datum Geoset_round (PG_FUNCTION_ARGS)
 Sets the precision of the coordinates of the geometry set. More...
 
static void round_circularstring (LWCIRCSTRING *lwcircstring, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_linestring (LWLINE *lwline, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_multilinestring (LWMLINE *lwmline, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_multipoint (LWMPOINT *lwmpoint, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_multipolygon (LWMPOLY *lwmpoly, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_point (POINTARRAY *points, uint32_t i, int prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_polygon (LWPOLY *lwpoly, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
static void round_triangle (LWTRIANGLE *lwtriangle, Datum prec, bool hasz, bool hasm)
 Set the precision of the coordinates to the number of decimal places. More...
 
PGDLLEXPORT Datum Tgeogpoint_to_tgeompoint (PG_FUNCTION_ARGS)
 Convert a temporal geography point to a temporal geometry point. More...
 
PGDLLEXPORT Datum Tgeompoint_to_tgeogpoint (PG_FUNCTION_ARGS)
 Convert a temporal geometry point to a temporal geography point. More...
 
PGDLLEXPORT Datum Tpoint_always_eq (PG_FUNCTION_ARGS)
 Return true if a temporal point is always equal to a point. More...
 
PGDLLEXPORT Datum Tpoint_always_ne (PG_FUNCTION_ARGS)
 Return true if a temporal point is always different from a point. More...
 
PGDLLEXPORT Datum Tpoint_at_geometry (PG_FUNCTION_ARGS)
 Restrict a temporal point to a geometry. More...
 
PGDLLEXPORT Datum Tpoint_at_stbox (PG_FUNCTION_ARGS)
 Restrict a temporal point to a spatiotemporal box. More...
 
PGDLLEXPORT Datum Tpoint_azimuth (PG_FUNCTION_ARGS)
 Return the temporal azimuth of a temporal geometry point. More...
 
PGDLLEXPORT Datum Tpoint_cumulative_length (PG_FUNCTION_ARGS)
 Return the cumulative length traversed by a temporal point. More...
 
static Datum tpoint_ev_al_comp_ext (FunctionCallInfo fcinfo, bool(*func)(const Temporal *, Datum))
 Spatial functions for temporal points. More...
 
PGDLLEXPORT Datum Tpoint_ever_eq (PG_FUNCTION_ARGS)
 Return true if a temporal point is ever equal to a point. More...
 
PGDLLEXPORT Datum Tpoint_ever_ne (PG_FUNCTION_ARGS)
 Return true if a temporal point is ever different from a point. More...
 
PGDLLEXPORT Datum Tpoint_get_srid (PG_FUNCTION_ARGS)
 Return the SRID of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_get_x (PG_FUNCTION_ARGS)
 Get the X coordinates of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_get_y (PG_FUNCTION_ARGS)
 Get the Y coordinates of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_get_z (PG_FUNCTION_ARGS)
 Get the Z coordinates of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_is_simple (PG_FUNCTION_ARGS)
 Return true if a temporal point does not self-intersect. More...
 
PGDLLEXPORT Datum Tpoint_length (PG_FUNCTION_ARGS)
 Return the length traversed by a temporal sequence (set) point. More...
 
PGDLLEXPORT Datum Tpoint_make_simple (PG_FUNCTION_ARGS)
 Split a temporal point into an array of non self-intersecting pieces. More...
 
PGDLLEXPORT Datum Tpoint_minus_geometry (PG_FUNCTION_ARGS)
 Restrict a temporal point to the complement of a geometry. More...
 
PGDLLEXPORT Datum Tpoint_minus_stbox (PG_FUNCTION_ARGS)
 Restrict a temporal point to the complement of a spatiotemporal box. More...
 
static Datum tpoint_restrict_geometry_ext (FunctionCallInfo fcinfo, bool atfunc)
 Restrict a temporal point to (the complement of) a geometry. More...
 
Temporaltpoint_round (const Temporal *temp, int prec)
 Set the precision of the coordinates of a temporal point to a number of decimal places. More...
 
PGDLLEXPORT Datum Tpoint_round (PG_FUNCTION_ARGS)
 Set the precision of the coordinates of a temporal point to a number of decimal places. More...
 
PGDLLEXPORT Datum Tpoint_set_srid (PG_FUNCTION_ARGS)
 Set the SRID of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_speed (PG_FUNCTION_ARGS)
 Return the speed of a temporal point. More...
 
PGDLLEXPORT Datum Tpoint_trajectory (PG_FUNCTION_ARGS)
 Return the trajectory of a temporal point. More...
 
Temporaltpoint_transform (const Temporal *temp, int srid)
 Transform a temporal point into another spatial reference system. More...
 
PGDLLEXPORT Datum Tpoint_transform (PG_FUNCTION_ARGS)
 Transform a temporal point into another spatial reference system. More...
 
PGDLLEXPORT Datum Tpoint_twcentroid (PG_FUNCTION_ARGS)
 Return the time-weighed centroid of a temporal geometry point. More...
 
TInstanttpointinst_transform (const TInstant *inst, int srid)
 Transform a temporal point into another spatial reference system. More...
 
TSequencetpointseq_transform (const TSequence *seq, int srid)
 Transform a temporal point into another spatial reference system. More...
 
TSequenceSettpointseqset_transform (const TSequenceSet *ss, int srid)
 Transform a temporal point into another spatial reference system. More...