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

Distance functions for temporal geos. More...

#include "geo/tgeo_distance.h"
#include <assert.h>
#include <lwgeodetic_tree.h>
#include <measures.h>
#include <measures3d.h>
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "temporal/lifting.h"
#include "temporal/tinstant.h"
#include "temporal/tsequence.h"
#include "geo/postgis_funcs.h"
#include "geo/tgeo.h"
#include "geo/tgeo_spatialfuncs.h"

Functions

double circ_tree_distance_tree_internal (const CIRC_NODE *n1, const CIRC_NODE *n2, double threshold, double *min_dist, double *max_dist, GEOGRAPHIC_POINT *closest1, GEOGRAPHIC_POINT *closest2)
 
Temporaldistance_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the temporal distance between a temporal geo and a geometry/geography. More...
 
Temporaldistance_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return the temporal distance between two temporal geos. More...
 
GSERIALIZEDgeography_shortestline_internal (const GSERIALIZED *gs1, const GSERIALIZED *gs2, bool use_spheroid)
 Return the point in first input geography that is closest to the second input geography in 2D. More...
 
static double lw_distance_fraction (const LWGEOM *geom1, const LWGEOM *geom2, int mode, double *fraction)
 Return the distance between two geometries. More...
 
double nad_stbox_geo (const STBox *box, const GSERIALIZED *gs)
 Return the nearest approach distance between a spatiotemporal box and a geometry/geography. More...
 
double nad_stbox_stbox (const STBox *box1, const STBox *box2)
 Return the nearest approach distance between two spatiotemporal boxes. More...
 
double nad_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the nearest approach distance between a temporal geo and a geometry/geography. More...
 
double nad_tgeo_stbox (const Temporal *temp, const STBox *box)
 Return the nearest approach distance between a temporal geo and a spatiotemporal box. More...
 
double nad_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return the nearest approach distance between two temporal geos. More...
 
TInstantnai_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the nearest approach instant between a temporal geo and a geometry/geography. More...
 
TInstantnai_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return the nearest approach instant between two temporal geos. More...
 
static TInstantnai_tgeoseq_discstep_geo (const TSequence *seq, const LWGEOM *geo)
 Return the nearest approach instant between a temporal sequence point with step interpolation and a geometry/geography. More...
 
static double nai_tgeoseq_discstep_geo_iter (const TSequence *seq, const LWGEOM *geo, double mindist, const TInstant **result)
 Return the new current nearest approach instant between a temporal point sequence with step interpolation and a geometry/geography (iterator function) More...
 
static TInstantnai_tgeoseqset_step_geo (const TSequenceSet *ss, const LWGEOM *geo)
 Return the nearest approach instant between a temporal sequence set point with step interpolation and a geometry/geography. More...
 
static double nai_tpointsegm_linear_geo1 (const TInstant *inst1, const TInstant *inst2, const LWGEOM *geo, TimestampTz *t)
 Return the distance and the timestamp of the nearest approach instant between a temporal point sequence with linear interpolation and a geometry/geography. More...
 
static TInstantnai_tpointseq_linear_geo (const TSequence *seq, const LWGEOM *geo)
 Return the nearest approach instant between a temporal sequence point with linear interpolation and a geometry (iterator function) More...
 
static double nai_tpointseq_linear_geo_iter (const TSequence *seq, const LWGEOM *geo, double mindist, TimestampTz *t)
 Return the distance and the timestamp of the nearest approach instant between a temporal point sequence with linear interpolation and a geometry/geography (iterator function) More...
 
static TInstantnai_tpointseqset_linear_geo (const TSequenceSet *ss, const LWGEOM *geo)
 Return the nearest approach instant between a temporal sequence set point with linear interpolation and a geometry. More...
 
static bool point2d_min_dist (const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, const POINT2D *p4, double *fraction)
 Compute d/dx (Euclidean distance) = 0 for two 2D segments. More...
 
bool point3d_min_dist (const POINT3DZ *p1, const POINT3DZ *p2, const POINT3DZ *p3, const POINT3DZ *p4, double *fraction)
 Compute d/dx (Euclidean distance) = 0 for two 3D segments. More...
 
GSERIALIZEDshortestline_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the line connecting the nearest approach point between a temporal geo and a geometry/geography. More...
 
GSERIALIZEDshortestline_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return the line connecting the nearest approach point between two temporal geos. More...
 
int tgeogpointsegm_distance_turnpt (Datum start1, Datum end1, Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return 1 if the single timestamp at which the two temporal geography point segments are at the minimum distance. More...
 
int tgeompointsegm_distance_turnpt (Datum start1, Datum end1, Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return 1 the timestamp at which two temporal geometry point segments are at the minimum distance. More...
 
static int tpoint_geo_distance_turnpt (Datum start, Datum end, Datum point, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return the distance and timestamp at which a temporal geo segment and a point are at the minimum distance. More...
 
int tpointsegm_distance_turnpt (Datum start1, Datum end1, Datum start2, Datum end2, Datum param, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2)
 Return the value and timestamp at which the two temporal geo segments are at the minimum distance. More...
 

Detailed Description

Distance functions for temporal geos.