MobilityDB  1.0
Functions
tnpoint_static.h File Reference

Network-based static point/segments. More...

#include <postgres.h>
#include <catalog/pg_type.h>
#include "tnpoint.h"
Include dependency graph for tnpoint_static.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

ArrayType * int64arr_to_array (const int64 *int64arr, int count)
 Convert a C array of int64 values into a PostgreSQL array. More...
 
ArrayType * npointarr_to_array (npoint **npointarr, int count)
 
void npointarr_sort (npoint **points, int count)
 
ArrayType * nsegmentarr_to_array (nsegment **nsegmentarr, int count)
 Convert a C array of network segment values into a PostgreSQL array. More...
 
int32_t get_srid_ways ()
 Return the SRID of the routes in the ways table. More...
 
nsegment ** nsegmentarr_normalize (nsegment **segments, int *count)
 Normalize the array of temporal segments. More...
 
int npoint_remove_duplicates (npoint **values, int count)
 
Datum npoint_in (PG_FUNCTION_ARGS)
 Input function for network points Example of input: (1, 0.5) More...
 
Datum npoint_out (PG_FUNCTION_ARGS)
 Output function for network points. More...
 
Datum npoint_recv (PG_FUNCTION_ARGS)
 Receive function for network points. More...
 
Datum npoint_send (PG_FUNCTION_ARGS)
 Send function for network points. More...
 
Datum nsegment_in (PG_FUNCTION_ARGS)
 Input function for network segments Example of input: (1, 0.5, 0.6) More...
 
Datum nsegment_out (PG_FUNCTION_ARGS)
 Output function for network segments. More...
 
Datum nsegment_recv (PG_FUNCTION_ARGS)
 Receive function for network segments. More...
 
Datum nsegment_send (PG_FUNCTION_ARGS)
 Send function for network segments. More...
 
Datum npoint_constructor (PG_FUNCTION_ARGS)
 Construct an network point value from the arguments. More...
 
Datum nsegment_constructor (PG_FUNCTION_ARGS)
 Construct an network segment value from the arguments. More...
 
Datum nsegment_from_npoint (PG_FUNCTION_ARGS)
 Construct an network segment value from the network point. More...
 
Datum npoint_set_precision_internal (Datum npoint, Datum size)
 Set the precision of the position of a network point to the number of decimal places. More...
 
void npoint_set (npoint *np, int64 rid, double pos)
 
npointnpoint_make (int64 rid, double pos)
 Construct an network point value from the arguments. More...
 
void nsegment_set (nsegment *ns, int64 rid, double pos1, double pos2)
 
nsegmentnsegment_make (int64 rid, double pos1, double pos2)
 Construct an network segment value from the arguments. More...
 
Datum npoint_route (PG_FUNCTION_ARGS)
 Returns the route of the network point. More...
 
Datum npoint_position (PG_FUNCTION_ARGS)
 Returns the position of the network point. More...
 
Datum nsegment_route (PG_FUNCTION_ARGS)
 Returns the route of the network segment. More...
 
Datum nsegment_start_position (PG_FUNCTION_ARGS)
 Returns the start position of the network segment. More...
 
Datum nsegment_end_position (PG_FUNCTION_ARGS)
 Returns the end position of the network segment. More...
 
Datum npoint_eq (PG_FUNCTION_ARGS)
 Returns true if the first network point is equal to the second one. More...
 
Datum npoint_ne (PG_FUNCTION_ARGS)
 Returns true if the first network point is not equal to the second one. More...
 
Datum npoint_lt (PG_FUNCTION_ARGS)
 Returns true if the first network point is less than the second one. More...
 
Datum npoint_le (PG_FUNCTION_ARGS)
 Returns true if the first network point is less than or equal to the second one. More...
 
Datum npoint_gt (PG_FUNCTION_ARGS)
 Returns true if the first network point is greater than the second one. More...
 
Datum npoint_ge (PG_FUNCTION_ARGS)
 Returns true if the first network point is greater than or equal to the second one. More...
 
int npoint_cmp_internal (const npoint *np1, const npoint *np2)
 Returns -1, 0, or 1 depending on whether the first network point is less than, equal, or greater than the second one. More...
 
bool npoint_same_internal (const npoint *np1, const npoint *np2)
 Determines the spatial equality for network points. More...
 
bool npoint_eq_internal (const npoint *np1, const npoint *np2)
 Returns true if the first network point is equal to the second one. More...
 
bool npoint_ne_internal (const npoint *np1, const npoint *np2)
 Returns true if the first network point is not equal to the second one. More...
 
bool npoint_lt_internal (const npoint *np1, const npoint *np2)
 Returns true if the first network point is less than the second one. More...
 
bool npoint_le_internal (const npoint *np1, const npoint *np2)
 
bool npoint_gt_internal (const npoint *np1, const npoint *np2)
 
bool npoint_ge_internal (const npoint *np1, const npoint *np2)
 
Datum nsegment_eq (PG_FUNCTION_ARGS)
 Returns true if the first network segment is equal to the second one. More...
 
Datum nsegment_ne (PG_FUNCTION_ARGS)
 Returns true if the first network segment is not equal to the second one. More...
 
Datum nsegment_lt (PG_FUNCTION_ARGS)
 Returns true if the first network segment is less than the second one. More...
 
Datum nsegment_le (PG_FUNCTION_ARGS)
 Returns true if the first network segment is less than or equal to the second one. More...
 
Datum nsegment_gt (PG_FUNCTION_ARGS)
 Returns true if the first network segment is greater than the second one. More...
 
Datum nsegment_ge (PG_FUNCTION_ARGS)
 Returns true if the first network segment is greater than or equal to the second one. More...
 
int nsegment_cmp_internal (const nsegment *ns1, const nsegment *ns2)
 Returns -1, 0, or 1 depending on whether the first network segment is less than, equal, or greater than the second one. More...
 
bool nsegment_eq_internal (const nsegment *ns1, const nsegment *ns2)
 Returns true if the first network segment is equal to the second one. More...
 
bool nsegment_ne_internal (const nsegment *ns1, const nsegment *ns2)
 Returns true if the first network segment is not equal to the second one. More...
 
bool nsegment_lt_internal (const nsegment *ns1, const nsegment *ns2)
 
bool nsegment_le_internal (const nsegment *ns1, const nsegment *ns2)
 
bool nsegment_gt_internal (const nsegment *ns1, const nsegment *ns2)
 
bool nsegment_ge_internal (const nsegment *ns1, const nsegment *ns2)
 
bool route_exists (int64 rid)
 Returns true if the edge table contains a route with the route identifier. More...
 
double route_length (int64 rid)
 Access the edge table to return the route length from the corresponding route identifier. More...
 
Datum route_geom (int64 rid)
 Access the edge table to get the route geometry from corresponding route identifier. More...
 
int64 rid_from_geom (Datum geom)
 
int npoint_srid_internal (const npoint *np)
 Returns the SRID of the network point. More...
 
Datum npoint_as_geom (PG_FUNCTION_ARGS)
 Transforms the network point into a geometry. More...
 
Datum geom_as_npoint (PG_FUNCTION_ARGS)
 Transforms the geometry into a network point. More...
 
Datum nsegment_as_geom (PG_FUNCTION_ARGS)
 Transforms the network segment into a geometry. More...
 
Datum geom_as_nsegment (PG_FUNCTION_ARGS)
 Transforms the geometry into a network segment. More...
 
Datum npoint_as_geom_internal (const npoint *np)
 Transforms the network point into a geometry. More...
 
Datum nsegment_as_geom_internal (const nsegment *ns)
 Transforms the network segment into a geometry. More...
 
npointgeom_as_npoint_internal (Datum geom)
 Transforms the geometry into a network point. More...
 
nsegmentgeom_as_nsegment_internal (Datum line)
 Transforms the geometry into a network segment. More...
 
Datum npointarr_to_geom_internal (npoint **points, int count)
 Convert a network point array into a geometry. More...
 
Datum nsegmentarr_to_geom_internal (nsegment **segments, int count)
 Convert a network segment array into a geometry. More...
 

Detailed Description

Network-based static point/segments.