MobilityDB 1.1
Macros | Enumerations | Functions | Variables
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/pg_types.h"
#include "general/lifting.h"
#include "general/temporaltypes.h"
#include "general/tnumber_mathfuncs.h"
#include "general/type_util.h"
#include "point/pgis_call.h"
#include "point/tpoint_boxops.h"
#include "point/tpoint_spatialrels.h"
Include dependency graph for tpoint_spatialfuncs.c:

Macros

#define FLAGS_GET_EXTFLAGS(flags)   (((flags) & LWFLAG_EXTFLAGS)>>5)
 
#define FLAGS_GET_VERSBIT2(flags)   (((flags) & LWFLAG_VERSBIT2)>>7)
 
#define GS_POINT_PTR(gs)
 
#define LWFLAG_EXTFLAGS   0x20
 Spatial functions for temporal points. More...
 
#define LWFLAG_VERSBIT2   0x80
 

Enumerations

enum  { MOBDB_SEG_NO_INTERSECTION , MOBDB_SEG_OVERLAP , MOBDB_SEG_CROSS , MOBDB_SEG_TOUCH }
 

Functions

static double alpha (const POINT2D *p1, const POINT2D *p2)
 Normalize the bearing from -180° to + 180° (in radians) to 0° to 360° (in radians) More...
 
bool bearing_point_point (const GSERIALIZED *geo1, const GSERIALIZED *geo2, double *result)
 Return the temporal bearing between two geometry/geography points. More...
 
Temporalbearing_tpoint_point (const Temporal *temp, const GSERIALIZED *gs, bool invert)
 Return the temporal bearing between a temporal point and a geometry/geography point. More...
 
Temporalbearing_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2)
 Return the temporal bearing between two temporal points. More...
 
long double closest_point2d_on_segment_ratio (const POINT2D *p, const POINT2D *A, const POINT2D *B, POINT2D *closest)
 Return a long double between 0 and 1 representing the location of the closest point on the segment to the given point, as a fraction of total segment length (2D version) More...
 
long double closest_point3dz_on_segment_ratio (const POINT3DZ *p, const POINT3DZ *A, const POINT3DZ *B, POINT3DZ *closest)
 Return a float between 0 and 1 representing the location of the closest point on the segment to the given point, as a fraction of total segment length (3D version) More...
 
long double closest_point_on_segment_sphere (const POINT4D *p, const POINT4D *A, const POINT4D *B, POINT4D *closest, double *dist)
 Return a float between 0 and 1 representing the location of the closest point on the geography segment to the given point, as a fraction of total segment length. More...
 
Datum datum2_point_eq (Datum geopoint1, Datum geopoint2)
 Return true if the points are equal. More...
 
Datum datum2_point_ne (Datum geopoint1, Datum geopoint2)
 Return true if the points are equal. More...
 
POINT2D datum_point2d (Datum geom)
 Return a 2D point from the datum. More...
 
const POINT2Ddatum_point2d_p (Datum geom)
 Return a pointer to a 2D point from the datum. More...
 
POINT3DZ datum_point3dz (Datum geom)
 Return a 3DZ point from the datum. More...
 
const POINT3DZdatum_point3dz_p (Datum geom)
 Return a pointer to a 3DZ point from the datum. More...
 
void datum_point4d (Datum geom, POINT4D *p)
 Return a 4D point from the datum. More...
 
bool datum_point_eq (Datum geopoint1, Datum geopoint2)
 Return true if the points are equal. More...
 
datum_func2 distance_fn (int16 flags)
 Select the appropriate distance function. More...
 
void ensure_has_M_gs (const GSERIALIZED *gs)
 Ensure that the geometry/geography has M dimension. More...
 
void ensure_has_not_M_gs (const GSERIALIZED *gs)
 Ensure that the geometry/geography has not M dimension. More...
 
void ensure_has_not_Z (int16 flags)
 Ensure that a temporal point has not Z dimension. More...
 
void ensure_has_not_Z_gs (const GSERIALIZED *gs)
 Ensure that the geometry/geography has not Z dimension. More...
 
void ensure_has_Z (int16 flags)
 Ensure that a temporal point has Z dimension. More...
 
void ensure_has_Z_gs (const GSERIALIZED *gs)
 Ensure that the geometry/geography has not Z dimension. More...
 
void ensure_non_empty (const GSERIALIZED *gs)
 Ensure that the geometry/geography is not empty. More...
 
void ensure_not_geodetic (int16 flags)
 Ensure that the spatiotemporal argument has planar coordinates. More...
 
void ensure_point_type (const GSERIALIZED *gs)
 Ensure that the geometry/geography is a point. More...
 
void ensure_same_dimensionality (int16 flags1, int16 flags2)
 Ensure that two temporal points have the same dimensionality as given by their flags. More...
 
void ensure_same_dimensionality_gs (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Ensure that two geometries/geographies have the same dimensionality. More...
 
void ensure_same_dimensionality_tpoint_gs (const Temporal *temp, const GSERIALIZED *gs)
 Ensure that a temporal point and a geometry/geography have the same dimensionality. More...
 
void ensure_same_geodetic (int16 flags1, int16 flags2)
 Ensure that the spatiotemporal argument have the same type of coordinates, either planar or geodetic. More...
 
void ensure_same_spatial_dimensionality (int16 flags1, int16 flags2)
 Ensure that two temporal points have the same spatial dimensionality as given by their flags. More...
 
void ensure_same_spatial_dimensionality_stbox_gs (const STBox *box, const GSERIALIZED *gs)
 Ensure that the spatiotemporal boxes have the same spatial dimensionality. More...
 
void ensure_same_spatial_dimensionality_temp_box (int16 flags1, int16 flags2)
 Ensure that a temporal point and a spatiotemporal box have the same spatial dimensionality as given by their flags. More...
 
void ensure_same_srid (int32_t srid1, int32_t srid2)
 Ensure that the two spatial "objects" have the same SRID. More...
 
void ensure_same_srid_stbox (const STBox *box1, const STBox *box2)
 Ensure that the spatiotemporal boxes have the same SRID. More...
 
void ensure_same_srid_stbox_gs (const STBox *box, const GSERIALIZED *gs)
 Ensure that a temporal point and a geometry/geography have the same SRID. More...
 
void ensure_same_srid_tpoint_stbox (const Temporal *temp, const STBox *box)
 Ensure that a temporal point and a spatiotemporal boxes have the same SRID. More...
 
void ensure_spatial_validity (const Temporal *temp1, const Temporal *temp2)
 Ensure that the spatial constraints required for operating on two temporal geometries are satisfied. More...
 
GSERIALIZEDgeo_serialize (const LWGEOM *geom)
 Serialize a geometry/geography. More...
 
static Datum geog_azimuth (Datum geog1, Datum geog2)
 Return the azimuth the two geography points. More...
 
static Datum geog_bearing (Datum point1, Datum point2)
 Compute the bearing between two geographic points. More...
 
Datum geog_distance (Datum geog1, Datum geog2)
 Return the distance between the two geographies. More...
 
static Datum geom_azimuth (Datum geom1, Datum geom2)
 Return the azimuth of the two geometry points. More...
 
static Datum geom_bearing (Datum point1, Datum point2)
 Compute the bearing between two geometric points. More...
 
Datum geom_distance2d (Datum geom1, Datum geom2)
 Return the 2D distance between the two geometries. More...
 
Datum geom_distance3d (Datum geom1, Datum geom2)
 Return the 3D distance between the two geometries. More...
 
Datum geom_intersection2d (Datum geom1, Datum geom2)
 Return the 2D intersection between the two geometries. More...
 
bool geopoint_collinear (Datum value1, Datum value2, Datum value3, double ratio, bool hasz, bool geodetic)
 Return true if the three values are collinear. More...
 
Datum geosegm_interpolate_point (Datum start, Datum end, long double ratio)
 Return a point interpolated from the geometry/geography segment with respect to the fraction of its total length. More...
 
long double geosegm_locate_point (Datum start, Datum end, Datum point, double *dist)
 Return a float between 0 and 1 representing the location of the closest point on the geometry segment to the given point, as a fraction of total segment length. More...
 
static datum_func2 get_bearing_fn (int16 flags)
 Select the appropriate bearing function. More...
 
const POINT2Dgserialized_point2d_p (const GSERIALIZED *gs)
 Return a 2D point from the serialized geometry. More...
 
const POINT3DZgserialized_point3dz_p (const GSERIALIZED *gs)
 Return a 3DZ point from the serialized geometry. More...
 
static int gsinter_get_points (Datum *result, GSERIALIZED *gsinter)
 Get the intersection points. More...
 
GSERIALIZEDgspoint_make (double x, double y, double z, bool hasz, bool geodetic, int32 srid)
 Create a point. More...
 
void interpolate_point4d_sphere (const POINT3D *p1, const POINT3D *p2, const POINT4D *v1, const POINT4D *v2, double f, POINT4D *p)
 Find interpolation point p between geography points p1 and p2 so that the len(p1,p) == len(p1,p2) f and p falls on p1,p2 segment. More...
 
static bool lw_seg_interact (const POINT2D p1, const POINT2D p2, const POINT2D q1, const POINT2D q2)
 Function derived from PostGIS file lwalgorithm.c since it is declared static. More...
 
LWLINElwline_make (Datum value1, Datum value2)
 Compute the trajectory from two geometry points. More...
 
static int lwpoint_cmp (const LWPOINT *p, const LWPOINT *q)
 Return -1, 0, or 1 depending on whether the first LWPOINT is less than, equal, or greater than the second one. More...
 
static int lwpoint_sort_cmp (const LWPOINT **l, const LWPOINT **r)
 Comparator function for lwpoints. More...
 
LWGEOMlwpointarr_make_trajectory (LWGEOM **lwpoints, int count, interpType interp)
 Compute a trajectory from a set of points. More...
 
LWGEOM ** lwpointarr_remove_duplicates (LWGEOM **points, int count, int *newcount)
 Remove duplicates from an array of LWGEOM points. More...
 
void lwpointarr_sort (LWPOINT **points, int count)
 Sort function for lwpoints. More...
 
static int parseg2d_intersection (const POINT2D a, const POINT2D b, const POINT2D c, const POINT2D d, POINT2D *p)
 Find the UNIQUE point of intersection p between two closed collinear segments ab and cd. More...
 
static Datum point2D_add_z (Datum point, Datum z, Datum srid)
 Add a z value to a 2D point. More...
 
static Datum point2D_assemble (Datum x, Datum y, Datum srid, Datum geodetic)
 Assemble a 2D point for its x and y coordinates, srid, and geodetic flag. More...
 
static bool point2d_on_segment (const POINT2D *p, const POINT2D *A, const POINT2D *B)
 
static bool point3dz_on_segment (const POINT3DZ *p, const POINT3DZ *A, const POINT3DZ *B)
 
static Datum point_get_x (Datum point)
 Get the X coordinates of a temporal point. More...
 
static Datum point_get_y (Datum point)
 Get the Y coordinates of a temporal point. More...
 
static Datum point_get_z (Datum point)
 Get the Z coordinates of a temporal point. More...
 
static bool point_on_segment (Datum start, Datum end, Datum point)
 Determine if a point is in a segment. More...
 
static bool point_on_segment_sphere (const POINT4D *p, const POINT4D *A, const POINT4D *B)
 Return true if point p is in the segment defined by A and B (geodetic) More...
 
Datum pt_distance2d (Datum geom1, Datum geom2)
 Return the 2D distance between the two geometric points. More...
 
Datum pt_distance3d (Datum geom1, Datum geom2)
 Return the 3D distance between the two geometric points. More...
 
datum_func2 pt_distance_fn (int16 flags)
 Select the appropriate distance function. More...
 
static int seg2d_intersection (const POINT2D a, const POINT2D b, const POINT2D c, const POINT2D d, POINT2D *p)
 Find the UNIQUE point of intersection p between two closed segments ab and cd. More...
 
bool tgeogpoint_always_eq (const Temporal *temp, GSERIALIZED *gs)
 Return true if a temporal geographic point is always equal to a point. More...
 
bool tgeogpoint_ever_eq (const Temporal *temp, GSERIALIZED *gs)
 Return true if a temporal geographic point is ever equal to a point. More...
 
bool tgeogpointsegm_intersection (const TInstant *start1, const TInstant *end1, const TInstant *start2, const TInstant *end2, TimestampTz *t)
 Return true if two segments of twp temporal geographic points intersect at a timestamp. More...
 
bool tgeompoint_always_eq (const Temporal *temp, GSERIALIZED *gs)
 Return true if a temporal geometric point is always equal to a point. More...
 
bool tgeompoint_ever_eq (const Temporal *temp, GSERIALIZED *gs)
 Return true if a temporal geometric point is ever equal to a point. More...
 
Temporaltgeompoint_tgeogpoint (const Temporal *temp, bool oper)
 Convert a temporal point to a geometry/geography point. More...
 
TInstanttgeompointinst_tgeogpointinst (const TInstant *inst, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
bool tgeompointsegm_intersection (const TInstant *start1, const TInstant *end1, const TInstant *start2, const TInstant *end2, TimestampTz *t)
 Return true if two segments of a temporal geometric points intersect at a timestamp. More...
 
TSequencetgeompointseq_tgeogpointseq (const TSequence *seq, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
TSequenceSettgeompointseqset_tgeogpointseqset (const TSequenceSet *ss, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
static Temporaltpoint_add_z (Temporal *temp, Temporal *temp_z, int srid)
 Assemble a 2D temporal point for two temporal floats. More...
 
bool tpoint_always_eq (const Temporal *temp, Datum value)
 Return true if a temporal point is always equal to a point. More...
 
static Temporaltpoint_assemble_coords_xy (Temporal *temp_x, Temporal *temp_y, int srid, bool geodetic)
 Assemble a 2D temporal point for two temporal floats, srid, and geodetic flag. More...
 
Temporaltpoint_at_geometry (const Temporal *temp, const GSERIALIZED *gs)
 Restrict a temporal point to (the complement of) a geometry. More...
 
Temporaltpoint_at_stbox (const Temporal *temp, const STBox *box)
 Restrict a temporal point to a spatiotemporal box. More...
 
Temporaltpoint_at_stbox1 (const Temporal *temp, const STBox *box, bool upper_inc)
 Restrict a temporal point to a spatiotemporal box. More...
 
Temporaltpoint_azimuth (const Temporal *temp)
 Return the temporal azimuth of a temporal geometry point. More...
 
Temporaltpoint_cumulative_length (const Temporal *temp)
 Return the cumulative length traversed by a temporal point. More...
 
bool tpoint_ever_eq (const Temporal *temp, Datum value)
 Return true if a temporal point is ever equal to a point. More...
 
static bool tpoint_geo_min_bearing_at_timestamp (const TInstant *start, const TInstant *end, Datum point, meosType basetypid, Datum *value, TimestampTz *t)
 Return the value and timestamp at which the a temporal point segment and a point are at the minimum bearing. More...
 
Temporaltpoint_get_coord (const Temporal *temp, int coord)
 Get one of the coordinates of a temporal point as a temporal float. More...
 
bool tpoint_is_simple (const Temporal *temp)
 Return true if a temporal point does not self-intersect. More...
 
double tpoint_length (const Temporal *temp)
 Return the length traversed by a temporal sequence (set) point. More...
 
Temporal ** tpoint_make_simple (const Temporal *temp, int *count)
 Split a temporal point into an array of non self-intersecting fragments. More...
 
Temporaltpoint_minus_geometry (const Temporal *temp, const GSERIALIZED *gs)
 Restrict a temporal point to (the complement of) a geometry. More...
 
Temporaltpoint_minus_stbox (const Temporal *temp, const STBox *box)
 Restrict a temporal point to the complement of a spatiotemporal box. More...
 
static Temporaltpoint_minus_stbox1 (const Temporal *temp, const STBox *box)
 Restrict a temporal point to the complement of a spatiotemporal box. More...
 
Temporaltpoint_restrict_geometry (const Temporal *temp, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point to (the complement of) a geometry. More...
 
Temporaltpoint_restrict_stbox (const Temporal *temp, const STBox *box, bool atfunc)
 Restrict a temporal point to (the complement of) a spatiotemporal box. More...
 
Temporaltpoint_set_srid (const Temporal *temp, int32 srid)
 Set the SRID of a temporal point. More...
 
Temporaltpoint_speed (const Temporal *temp)
 Return the speed of a temporal point. More...
 
int tpoint_srid (const Temporal *temp)
 Return the SRID of a temporal point. More...
 
GSERIALIZEDtpoint_trajectory (const Temporal *temp)
 Return the trajectory of a temporal point. More...
 
GSERIALIZEDtpoint_twcentroid (const Temporal *temp)
 Return the time-weighed centroid of a temporal geometry point. More...
 
static TSequence ** tpointcontseq_split (const TSequence *seq, bool *splits, int count)
 Split a temporal point into an array of non self-intersecting fragments. More...
 
GSERIALIZEDtpointcontseq_trajectory (const TSequence *seq)
 Return the trajectory of a temporal sequence point. More...
 
TSequencetpointdiscseq_restrict_geometry (const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point discrete sequence to (the complement of) a geometry. More...
 
static TSequence ** tpointdiscseq_split (const TSequence *seq, bool *splits, int count)
 Split a temporal discrete sequence point into an array of non self-intersecting fragments. More...
 
GSERIALIZEDtpointdiscseq_trajectory (const TSequence *seq)
 Compute the trajectory of a temporal discrete sequence point. More...
 
bool tpointinst_always_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant point is always equal to a point. More...
 
bool tpointinst_ever_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant point is ever equal to a point. More...
 
TInstanttpointinst_restrict_geometry (const TInstant *inst, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point instant to (the complement of) a geometry. More...
 
TInstanttpointinst_set_srid (const TInstant *inst, int32 srid)
 Set the SRID of a temporal instant point. More...
 
int tpointinst_srid (const TInstant *inst)
 Return the SRID of a temporal instant point. More...
 
bool tpointsegm_intersection_value (const TInstant *inst1, const TInstant *inst2, Datum value, TimestampTz *t)
 Return true if a segment of a temporal point value intersects a point at the timestamp. More...
 
static bool tpointsegm_min_bearing_at_timestamp (const TInstant *start1, const TInstant *end1, const TInstant *start2, const TInstant *end2, Datum *value, TimestampTz *t)
 Return the value and timestamp at which the two temporal point segments are at the minimum bearing. More...
 
static bool tpointsegm_timestamp_at_value1 (const TInstant *inst1, const TInstant *inst2, Datum value, TimestampTz *t)
 Return the timestamp at which a segment of a temporal point takes a base value. More...
 
bool tpointseq_always_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence point is always equal to a point. More...
 
TSequence ** tpointseq_at_geometry (const TSequence *seq, const GSERIALIZED *gs, int *count)
 Restrict a temporal point to (the complement of) a geometry. More...
 
TSequenceSettpointseq_azimuth (const TSequence *seq)
 Return the temporal azimuth of a temporal geometry point. More...
 
static int tpointseq_azimuth1 (const TSequence *seq, TSequence **result)
 Return the temporal azimuth of a temporal geometry point. More...
 
TSequencetpointseq_cumulative_length (const TSequence *seq, double prevlength)
 Return the cumulative length traversed by a temporal point. More...
 
static bool * tpointseq_discstep_find_splits (const TSequence *seq, int *count)
 Split a temporal point sequence with discrete or step interpolation into an array of non self-intersecting fragments. More...
 
static bool tpointseq_discstep_is_simple (const TSequence *seq, int count)
 Return true if a temporal point does not self-intersect. More...
 
bool tpointseq_ever_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence point is ever equal to a point. More...
 
Span ** tpointseq_interperiods (const TSequence *seq, GSERIALIZED *gsinter, int *count)
 Get the periods at which a temporal sequence point with linear interpolation intersects a geometry. More...
 
bool tpointseq_is_simple (const TSequence *seq)
 Return true if a temporal point does not self-intersect. More...
 
double tpointseq_length (const TSequence *seq)
 Return the length traversed by a temporal sequence point. More...
 
static double tpointseq_length_2d (const TSequence *seq)
 Return the length traversed by a temporal sequence point with plannar coordinates. More...
 
static double tpointseq_length_3d (const TSequence *seq)
 Return the length traversed by a temporal sequence point with plannar coordinates. More...
 
static TSequence ** tpointseq_linear_at_geometry (const TSequence *seq, const GSERIALIZED *gs, int *count)
 Restrict a temporal sequence point with linear interpolation to a geometry. More...
 
static bool * tpointseq_linear_find_splits (const TSequence *seq, int *count)
 Split a temporal point sequence with linear interpolation into an array of non self-intersecting fragments. More...
 
TSequence ** tpointseq_make_simple (const TSequence *seq, int *count)
 Split a temporal sequence point into an array of non self-intersecting fragments. More...
 
static TSequence ** tpointseq_minus_geometry (const TSequence *seq, const GSERIALIZED *gs, int *count)
 Restrict a temporal sequence point to the complement of a geometry. More...
 
TSequenceSettpointseq_restrict_geometry (const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point sequence to (the complement of a) geometry. More...
 
TSequencetpointseq_set_srid (const TSequence *seq, int32 srid)
 Set the SRID of a temporal sequence point. More...
 
TSequencetpointseq_speed (const TSequence *seq)
 Return the speed of a temporal point. More...
 
int tpointseq_srid (const TSequence *seq)
 Return the SRID of a temporal sequence point. More...
 
static TSequence ** tpointseq_step_at_geometry (const TSequence *seq, const GSERIALIZED *gs, int *count)
 Restrict a temporal sequence point with step interpolation to a geometry. More...
 
static bool tpointseq_timestamp_at_value (const TSequence *seq, Datum value, TimestampTz *t)
 Return the timestamp at which a temporal point sequence is equal to a point. More...
 
GSERIALIZEDtpointseq_twcentroid (const TSequence *seq)
 Return the time-weighed centroid of a temporal geometry point. More...
 
void tpointseq_twcentroid1 (const TSequence *seq, bool hasz, interpType interp, TSequence **seqx, TSequence **seqy, TSequence **seqz)
 Split the temporal point sequence into temporal float sequences for each of its coordinates. More...
 
bool tpointseqset_always_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set point is always equal to a point. More...
 
TSequenceSettpointseqset_azimuth (const TSequenceSet *ss)
 Return the temporal azimuth of a temporal geometry point. More...
 
TSequenceSettpointseqset_cumulative_length (const TSequenceSet *ss)
 Return the cumulative length traversed by a temporal point. More...
 
bool tpointseqset_ever_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set point is ever equal to a point. More...
 
bool tpointseqset_is_simple (const TSequenceSet *ss)
 Return true if a temporal point does not self-intersect. More...
 
double tpointseqset_length (const TSequenceSet *ss)
 Return the length traversed by a temporal sequence set point. More...
 
TSequence ** tpointseqset_make_simple (const TSequenceSet *ss, int *count)
 Split a temporal sequence set point into an array of non self-intersecting fragments. More...
 
TSequenceSettpointseqset_restrict_geometry (const TSequenceSet *ss, const GSERIALIZED *gs, const STBox *box, bool atfunc)
 Restrict a temporal point sequence set to (the complement of) a geometry. More...
 
TSequenceSettpointseqset_set_srid (const TSequenceSet *ss, int32 srid)
 Set the SRID of a temporal sequence set point. More...
 
TSequenceSettpointseqset_speed (const TSequenceSet *ss)
 Return the speed of a temporal point. More...
 
int tpointseqset_srid (const TSequenceSet *ss)
 Return the SRID of a temporal sequence set point. More...
 
GSERIALIZEDtpointseqset_trajectory (const TSequenceSet *ss)
 Return the trajectory of a temporal point with sequence set type. More...
 
GSERIALIZEDtpointseqset_twcentroid (const TSequenceSet *ss)
 Return the time-weighed centroid of a temporal geometry point. More...
 

Variables

enum { ... }  MOBDB_SEG_INTER_TYPE