MobilityDB 1.3
Loading...
Searching...
No Matches
Macros | Enumerations | Functions
meos_geo.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <liblwgeom.h>
#include <meos.h>

Go to the source code of this file.

Macros

#define VALIDATE_GEOGSET(set, ret)
 Macro ensuring that a set is a geography set. More...
 
#define VALIDATE_GEOMSET(set, ret)
 Macro ensuring that a set is a geometry set. More...
 
#define VALIDATE_GEOSET(set, ret)
 Macro ensuring that a set is of a geometry or geography set. More...
 
#define VALIDATE_SPATIALSET(set, ret)
 Macro ensuring that a set is of a spatial set. More...
 
#define VALIDATE_TGEO(temp, ret)
 Macro ensuring that a temporal value is a temporal geometry or geography. More...
 
#define VALIDATE_TGEOG(temp, ret)
 Macro ensuring that a temporal value is of a temporal geography. More...
 
#define VALIDATE_TGEOGPOINT(temp, ret)
 Macro ensuring that a temporal value is a temporal geography point. More...
 
#define VALIDATE_TGEOGRAPHY(temp, ret)
 Macro ensuring that a temporal value is a temporal geography. More...
 
#define VALIDATE_TGEOM(temp, ret)
 Macro ensuring that a temporal value is a temporal geometry. More...
 
#define VALIDATE_TGEOMETRY(temp, ret)
 Macro ensuring that a temporal value is a temporal geometry. More...
 
#define VALIDATE_TGEOMPOINT(temp, ret)
 Macro ensuring that a temporal value is a temporal geometry point. More...
 
#define VALIDATE_TPOINT(temp, ret)
 Macro ensuring that a temporal value is of a temporal geometry/geography point. More...
 
#define VALIDATE_TSPATIAL(temp, ret)
 Macro ensuring that a temporal value is of a spatiotemporal type. More...
 

Enumerations

enum  spatialRel { INTERSECTS = 0 , CONTAINS = 1 , TOUCHES = 2 , COVERS = 3 }
 API of the Mobility Engine Open Source (MEOS) library. More...
 

Functions

bool above_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is above the second one. More...
 
bool above_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is above a spatiotemporal value. More...
 
bool above_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is above a spatiotemporal box. More...
 
bool above_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is above the second one. More...
 
int acontains_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return 1 if a geometry always contains a temporal geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int acontains_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a geometry always contains a temporal geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int acontains_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if a temporal geometry ever contains another one, 0 if not, and -1 on error. More...
 
int adisjoint_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry and a geometry are always disjoint, 0 if not, and -1 on error or if the geometry is empty. More...
 
int adisjoint_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if the temporal geos are always disjoint, 0 if not, and -1 on error or if the temporal geos do not intersect in time. More...
 
bool adjacent_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the spatiotemporal boxes are adjacent. More...
 
bool adjacent_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box and the spatiotemporal box of a spatiotemporal value are adjacent. More...
 
bool adjacent_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if the spatiotemporal box of a spatiotemporal value and a spatiotemporal box are adjacent. More...
 
bool adjacent_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the spatiotemporal boxes of two spatiotemporal values are adjacent. More...
 
int adwithin_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, double dist)
 Return 1 if a geometry and a temporal geo are always within a distance, 0 if not, -1 on error or if the geometry is empty. More...
 
int adwithin_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, double dist)
 Return 1 if two temporal geos are always within a distance, 0 if not, -1 on error or if they do not intersect on time. More...
 
bool after_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is after the second one. More...
 
bool after_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is after a spatiotemporal value. More...
 
bool after_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is after a spatiotemporal box. More...
 
bool after_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is after the second one. More...
 
int aintersects_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry always intersects a temporal geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
int aintersects_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if the temporal geos always intersect, 0 if not, and -1 on error or if the temporal geos do not intersect in time. More...
 
int always_eq_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return true if a geo is always equal to a temporal geo. More...
 
int always_eq_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return true if a temporal geo is always equal to a geo. More...
 
int always_eq_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal geos are always equal. More...
 
int always_ne_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return true if a geo is always different from a temporal geo. More...
 
int always_ne_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return true if a temporal geo is always different from a geo. More...
 
int always_ne_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal geos are always different. More...
 
int atouches_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry always touches a geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
int atouches_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if a temporal geometry always touches another one, 0 if not, and -1 on error. More...
 
int atouches_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal point always touches a geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
bool back_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is at the back of the second one. More...
 
bool back_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is at the back of a temporal point. More...
 
bool back_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is at the back of a spatiotemporal box. More...
 
bool back_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is at the back of the second one. More...
 
bool bearing_point_point (const GSERIALIZED *gs1, const GSERIALIZED *gs2, 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 point. More...
 
Temporalbearing_tpoint_tpoint (const Temporal *temp1, const Temporal *temp2)
 Return the temporal bearing between two temporal points. More...
 
bool before_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is before the second one. More...
 
bool before_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is before a spatiotemporal value. More...
 
bool before_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is before a spatiotemporal box. More...
 
bool before_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is before the second one. More...
 
bool below_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is below the second one. More...
 
bool below_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is below a spatiotemporal value. More...
 
bool below_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is below a spatiotemporal box. More...
 
bool below_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is below the second one. More...
 
STBoxbox3d_to_stbox (const BOX3D *box)
 Convert a BOX3D into a spatiotemporal box. More...
 
bool contained_geo_set (const GSERIALIZED *gs, const Set *s)
 Return true if a geometry/geography is contained in a set. More...
 
bool contained_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is contained in the second one. More...
 
bool contained_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is contained in the spatiotemporal box of a spatiotemporal value. More...
 
bool contained_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if the spatiotemporal box of a spatiotemporal value is contained in the spatiotemporal box. More...
 
bool contained_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the spatiotemporal box of the first spatiotemporal value is contained in the one of the second spatiotemporal value. More...
 
bool contains_set_geo (const Set *s, GSERIALIZED *gs)
 Return true if a set contains a geometry/geography. More...
 
bool contains_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box contains the second one. More...
 
bool contains_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box contains the one of a temporal point. More...
 
bool contains_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if the spatiotemporal box of a spatiotemporal value contains a spatiotemporal box. More...
 
bool contains_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the spatiotemporal box of the first spatiotemporal value contains the one of the second spatiotemporal value. More...
 
int econtains_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return 1 if a geometry ever contains a temporal geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int econtains_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry ever contains a geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int econtains_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if a temporal geometry ever contains another one, 0 if not, and -1 on error. More...
 
int ecovers_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return 1 if a geometry ever covers a temporal geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int ecovers_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry ever covers a geo, 0 if not, and -1 on error or if the geometry is empty. More...
 
int ecovers_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if a temporal geometry ever covers another one, 0 if not, and -1 on error. More...
 
int edisjoint_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry and a geometry are ever disjoint, 0 if not, and -1 on error or if the geometry is empty. More...
 
int edisjoint_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if the temporal geos are ever disjoint, 0 if not, and -1 on error or if the temporal geos do not intersect in time. More...
 
int edwithin_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, double dist)
 Return 1 if a geometry and a temporal geo are ever within the given distance, 0 if not, -1 on error or if the geometry is empty. More...
 
int edwithin_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, double dist)
 Return 1 if two temporal geos are ever within a distance, 0 if not, -1 on error or if they do not intersect on time. More...
 
int eintersects_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry ever intersects a temporal geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
int eintersects_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if the temporal geos ever intersect, 0 if not, and -1 on error or if the temporal geos do not intersect in time. More...
 
int etouches_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal geometry ever touches a geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
int etouches_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return 1 if a temporal geometry ever touches another one, 0 if not, and -1 on error. More...
 
int etouches_tpoint_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return 1 if a temporal point ever touches a geometry, 0 if not, and -1 on error or if the geometry is empty. More...
 
int ever_eq_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return true if a geo is ever equal to a temporal geo. More...
 
int ever_eq_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return true if a temporal geo is ever equal to a geo. More...
 
int ever_eq_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal geos are ever equal. More...
 
int ever_ne_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return true if a geo is ever different from a temporal geo. More...
 
int ever_ne_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return true if a temporal geo is ever different from a geo. More...
 
int ever_ne_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return true if two temporal geos are ever different. More...
 
bool front_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is in front of the the second one. More...
 
bool front_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is in front of a spatiotemporal value. More...
 
bool front_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is in front of a spatiotemporal box. More...
 
bool front_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is in front of the second one. More...
 
STBoxgbox_to_stbox (const GBOX *box)
 Convert a GBOX into a spatiotemporal box. More...
 
uint8_t * geo_as_ewkb (const GSERIALIZED *gs, const char *endian, size_t *size)
 Return the Extended Well-Known Binary (EWKB) representation of a geometry/geography. More...
 
char * geo_as_ewkt (const GSERIALIZED *gs, int precision)
 Return the Extended Well-Known Text (EWKT) representation of a geometry/geography. More...
 
char * geo_as_geojson (const GSERIALIZED *gs, int option, int precision, const char *srs)
 Return the GeoJSON representation of a geometry/geography. More...
 
char * geo_as_hexewkb (const GSERIALIZED *gs, const char *endian)
 Return the ASCII hex-encoded Well-Known Binary (HexWKB) representation of a geometry/geography. More...
 
char * geo_as_text (const GSERIALIZED *gs, int precision)
 Return the Well-Known Text (WKT) representation of a geometry/geography. More...
 
uint32_t * geo_cluster_dbscan (const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int minpoints)
 Return an array of integers specifying the cluster number assigned to the input geometries using the DBSCAN algorithm contains a geometry. More...
 
GSERIALIZED ** geo_cluster_intersecting (const GSERIALIZED **geoms, uint32_t ngeoms, int *count)
 Return an array of GeometryCollections partitioning the input geometries into connected clusters that are disjoint. More...
 
int * geo_cluster_kmeans (const GSERIALIZED **geoms, uint32_t ngeoms, uint32_t k)
 Return an array of integers specifying the cluster number assigned to the input geometries using the k-means algorithm contains a geometry. More...
 
GSERIALIZED ** geo_cluster_within (const GSERIALIZED **geoms, uint32_t ngeoms, double tolerance, int *count)
 Return an array of GeometryCollections partitioning the input geometries into clusters in which each geometry is within the specified distance of at least one other geometry in the same cluster. More...
 
GSERIALIZEDgeo_collect_garray (GSERIALIZED **gsarr, int count)
 Collect the array of geometries/geographies into a geo collection. More...
 
GSERIALIZEDgeo_copy (const GSERIALIZED *g)
 Return a copy of a geometry. More...
 
int geo_equals (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the geometries/geographies are equal, false otherwise. More...
 
STBoxgeo_expand_space (const GSERIALIZED *gs, double d)
 
GSERIALIZEDgeo_from_ewkb (const uint8_t *wkb, size_t wkb_size, int32 srid)
 Return a geometry/geography from its EWKB representation. More...
 
GSERIALIZEDgeo_from_geojson (const char *geojson)
 Return a geometry/geography from its GeoJSON representation. More...
 
GSERIALIZEDgeo_from_text (const char *wkt, int32_t srid)
 Return a geometry/geography from its WKT representation (and optionally a SRID) More...
 
GSERIALIZEDgeo_geoN (const GSERIALIZED *geom, int n)
 Return a copy of the n-th composing geometry of a geometry. More...
 
bool geo_is_empty (const GSERIALIZED *g)
 Get the SRID of a geometry/geography. More...
 
bool geo_is_unitary (const GSERIALIZED *gs)
 
GSERIALIZEDgeo_makeline_garray (GSERIALIZED **gsarr, int count)
 Return a line from an array of geometries/geographies. More...
 
int geo_ngeos (const GSERIALIZED *gs)
 Return the number of composing geometries of a geometry. More...
 
int geo_npoints (const GSERIALIZED *gs)
 Return the number of points of a geometry. More...
 
char * geo_out (const GSERIALIZED *gs)
 Return the ASCII hex-encoded Well-Known Binary (HexWKB) representation of a geometry/geography. More...
 
GSERIALIZED ** geo_pointarr (const GSERIALIZED *gs, int *count)
 
GSERIALIZEDgeo_points (const GSERIALIZED *gs)
 
GSERIALIZEDgeo_reverse (const GSERIALIZED *gs)
 Reverse vertex order of a geometry. More...
 
GSERIALIZEDgeo_round (const GSERIALIZED *gs, int maxdd)
 Return a geometry with the precision of the coordinates set to a number of decimal places. More...
 
bool geo_same (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the geometries/geographies are the same. More...
 
GSERIALIZEDgeo_set_srid (const GSERIALIZED *gs, int32_t srid)
 Set the SRID of a geometry/geography. More...
 
STBoxgeo_split_each_n_stboxes (const GSERIALIZED *gs, int elem_count, int *count)
 Return an array of spatial boxes from the segments of a (multi)linestring @csqlfn Geo_split_each_n_stboxes() More...
 
STBoxgeo_split_n_stboxes (const GSERIALIZED *gs, int box_count, int *count)
 Return an array of N spatial boxes from the segments of a (multi)linestring @sqlfn splitNStboxes() More...
 
int32_t geo_srid (const GSERIALIZED *gs)
 Get the SRID of a geometry/geography. More...
 
STBoxgeo_stboxes (const GSERIALIZED *gs, int *count)
 Return an array of spatial boxes from the segments of a (mult)linestring. More...
 
STBoxgeo_timestamptz_to_stbox (const GSERIALIZED *gs, TimestampTz t)
 Return a spatiotemporal box from a geometry/geography and a timestamptz. More...
 
Setgeo_to_set (const GSERIALIZED *gs)
 Convert a geometry/geography into a geo set. More...
 
STBoxgeo_to_stbox (const GSERIALIZED *gs)
 Convert a geometry/geography into a spatiotemporal box. More...
 
GSERIALIZEDgeo_transform (GSERIALIZED *geom, int32_t srid_to)
 Returns the geometry/geography transformed to an SRID. More...
 
GSERIALIZEDgeo_transform_pipeline (const GSERIALIZED *gs, char *pipeline, int32_t srid_to, bool is_forward)
 Return a geometry/geography transformed to another SRID using a pipeline. More...
 
STBoxgeo_tstzspan_to_stbox (const GSERIALIZED *gs, const Span *s)
 Return a spatiotemporal box from a geometry/geography and a timestamptz span. More...
 
const char * geo_typename (int type)
 Return a string representation of a geometry's type. More...
 
Setgeo_union_transfn (Set *state, const GSERIALIZED *gs)
 Transition function for set union aggregate of geometries/geographies. More...
 
double geog_area (const GSERIALIZED *g, bool use_spheroid)
 Returns the area of a geography in square meters. More...
 
GSERIALIZEDgeog_centroid (const GSERIALIZED *g, bool use_spheroid)
 Return the centroid of a geometry. More...
 
double geog_distance (const GSERIALIZED *g1, const GSERIALIZED *g2)
 Return the distance between two geographies. More...
 
bool geog_dwithin (const GSERIALIZED *g1, const GSERIALIZED *g2, double tolerance, bool use_spheroid)
 Return true if two geographies are within a distance. More...
 
GSERIALIZEDgeog_from_binary (const char *wkb_bytea)
 Return a geography from its binary representation. More...
 
GSERIALIZEDgeog_from_hexewkb (const char *wkt)
 Return a geography from its ASCII hex-encoded Well-Known Binary (HexEWKB) representation. More...
 
GSERIALIZEDgeog_in (const char *str, int32 typmod)
 Return a geography from its Well-Known Text or Binary (WKT or Binary) representation. More...
 
bool geog_intersects (const GSERIALIZED *gs1, const GSERIALIZED *gs2, bool use_spheroid)
 Return true if the geographies intersect. More...
 
double geog_length (const GSERIALIZED *g, bool use_spheroid)
 Return double length in meters. More...
 
double geog_perimeter (const GSERIALIZED *g, bool use_spheroid)
 Returns the perimeter of a geography in meters. More...
 
GSERIALIZEDgeog_to_geom (const GSERIALIZED *geog)
 Return a geometry from a geography. More...
 
GSERIALIZEDgeogpoint_make2d (int32_t srid, double x, double y)
 Return a 2D geography point constructed from the arguments. More...
 
GSERIALIZEDgeogpoint_make3dz (int32_t srid, double x, double y, double z)
 Return a 3DZ geography point constructed from the arguments. More...
 
Setgeogset_in (const char *str)
 Return a set from its Well-Known Text (WKT) representation. More...
 
GSERIALIZEDgeom_array_union (GSERIALIZED **gsarr, int count)
 Return the union of an array of geometries. More...
 
bool geom_azimuth (const GSERIALIZED *gs1, const GSERIALIZED *gs2, double *result)
 Return in the last argument the azimuth of a segment defined by two points. More...
 
GSERIALIZEDgeom_boundary (const GSERIALIZED *gs)
 Return the boundary of a geometry. More...
 
GSERIALIZEDgeom_buffer (const GSERIALIZED *gs, double size, char *params)
 Return a POLYGON or a MULTIPOLYGON that represents all points whose distance from a geometry/geography is less than or equal to a given distance. More...
 
GSERIALIZEDgeom_centroid (const GSERIALIZED *gs)
 Return the centroid of a geometry. More...
 
bool geom_contains (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the first geometry contains the second one. More...
 
GSERIALIZEDgeom_convex_hull (const GSERIALIZED *gs)
 Return the convex hull of the geometry. More...
 
bool geom_covers (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the first geometry covers the second one. More...
 
GSERIALIZEDgeom_difference2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return the difference of two geometries. More...
 
bool geom_disjoint2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if two geometries are disjoint in 2D. More...
 
double geom_distance2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return the distance between two geometries. More...
 
double geom_distance3d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return the 3D distance between two geometries. More...
 
bool geom_dwithin2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance)
 Return true if two geometries are within a distance. More...
 
bool geom_dwithin3d (const GSERIALIZED *gs1, const GSERIALIZED *gs2, double tolerance)
 Return true if two geometries are within a distance. More...
 
GSERIALIZEDgeom_from_hexewkb (const char *wkt)
 Return a geometry from its ASCII hex-encoded Well-Known Binary (HexEWKB) representation. More...
 
GSERIALIZEDgeom_in (const char *str, int32 typmod)
 Return a geometry from its Well-Known Text (WKT), Well-Known Binary (WKB) or GeoJSON representation. More...
 
GSERIALIZEDgeom_intersection2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return the intersection of two geometries. More...
 
GSERIALIZEDgeom_intersection2d_coll (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 
bool geom_intersects2d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if two geometries intersects. More...
 
bool geom_intersects3d (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the 3D geometries intersect. More...
 
double geom_length (const GSERIALIZED *gs)
 Return the length of a geometry. More...
 
GSERIALIZEDgeom_min_bounding_radius (const GSERIALIZED *geom, double *radius)
 
double geom_perimeter (const GSERIALIZED *gs)
 Return the perimeter of a geometry. More...
 
bool geom_relate_pattern (const GSERIALIZED *gs1, const GSERIALIZED *gs2, char *patt)
 Return true if two geometries satisfy a spatial relationship given by a pattern. More...
 
GSERIALIZEDgeom_shortestline2d (const GSERIALIZED *gs1, const GSERIALIZED *s2)
 Return the shortest 2D line between two geometries. More...
 
GSERIALIZEDgeom_shortestline3d (const GSERIALIZED *gs1, const GSERIALIZED *s2)
 Return the shortest line between two 3D geometries. More...
 
GSERIALIZEDgeom_to_geog (const GSERIALIZED *geom)
 Return a geography from a geometry. More...
 
bool geom_touches (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Return true if the two geometries intersect on a border. More...
 
GSERIALIZEDgeom_unary_union (GSERIALIZED *gs, double prec)
 Return the unary union of a geometry. More...
 
Temporalgeomeas_to_tpoint (const GSERIALIZED *gs)
 Return a geometry/geography with M measure encoding timestamps transformed to a temporal point. More...
 
GSERIALIZEDgeompoint_make2d (int32_t srid, double x, double y)
 Return a 2D geometry point constructed from the arguments. More...
 
GSERIALIZEDgeompoint_make3dz (int32_t srid, double x, double y, double z)
 Return a 3DZ geometry point constructed from the arguments. More...
 
Setgeomset_in (const char *str)
 Return a set from its Well-Known Text (WKT) representation. More...
 
GSERIALIZEDgeoset_end_value (const Set *s)
 Return a copy of the end value of a geo set. More...
 
Setgeoset_make (const GSERIALIZED **values, int count)
 Return a geo set from an array of values. More...
 
GSERIALIZEDgeoset_start_value (const Set *s)
 Return a copy of the start value of a geo set. More...
 
bool geoset_value_n (const Set *s, int n, GSERIALIZED **result)
 Return in the last argument a copy of the n-th value of a geo set. More...
 
GSERIALIZED ** geoset_values (const Set *s)
 Return an array of copies of the values of a geo set. More...
 
Setintersection_geo_set (const GSERIALIZED *gs, const Set *s)
 Return the intersection of a geometry/geography and a set. More...
 
Setintersection_set_geo (const Set *s, const GSERIALIZED *gs)
 Return the intersection of a set and a geometry/geography. More...
 
STBoxintersection_stbox_stbox (const STBox *box1, const STBox *box2)
 Return the intersection of the spatiotemporal boxes. More...
 
bool left_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is to the left of the second one. More...
 
bool left_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is to the left of a temporal point. More...
 
bool left_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is to the left of a spatiotemporal box. More...
 
bool left_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is to the left of the second one. More...
 
GSERIALIZEDline_interpolate_point (GSERIALIZED *gs, double distance_fraction, bool repeat)
 Interpolate one or several points from a line. More...
 
double line_locate_point (const GSERIALIZED *gs1, const GSERIALIZED *gs2)
 Locate a point into a line. More...
 
int line_numpoints (const GSERIALIZED *gs)
 Return the number of points of a line. More...
 
GSERIALIZEDline_point_n (const GSERIALIZED *geom, int n)
 Return the n-th point of a line. More...
 
GSERIALIZEDline_substring (const GSERIALIZED *gs, double from, double to)
 Return a subline from a line. More...
 
Setminus_geo_set (const GSERIALIZED *gs, const Set *s)
 Return the difference of a geometry/geography and a set. More...
 
Setminus_set_geo (const Set *s, const GSERIALIZED *gs)
 Return the difference of a set and a geometry/geography. 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...
 
bool overabove_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend below the second one. More...
 
bool overabove_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend below a temporal point. More...
 
bool overabove_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend below a spatiotemporal box. More...
 
bool overabove_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend below the second one. More...
 
bool overafter_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is not before the second one. More...
 
bool overafter_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is not before a spatiotemporal value. More...
 
bool overafter_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is not before a spatiotemporal box. More...
 
bool overafter_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is not before the second one. More...
 
bool overback_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend to the front of the second one. More...
 
bool overback_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend to the front of a spatiotemporal value. More...
 
bool overback_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend to the front of a spatiotemporal box. More...
 
bool overback_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend to the front of the second one. More...
 
bool overbefore_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is not after the second one. More...
 
bool overbefore_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is not after a spatiotemporal value. More...
 
bool overbefore_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is not after a spatiotemporal box. More...
 
bool overbefore_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is not after the second one. More...
 
bool overbelow_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend above the second one. More...
 
bool overbelow_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend above a temporal point. More...
 
bool overbelow_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend above a spatiotemporal box. More...
 
bool overbelow_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend above the second one. More...
 
bool overfront_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend to the back of the second one. More...
 
bool overfront_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend to the back of a spatiotemporal value. More...
 
bool overfront_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend to the back of a spatiotemporal box. More...
 
bool overfront_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend to the back of the second one. More...
 
bool overlaps_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the spatiotemporal boxes overlap @csqlfn Overlaps_stbox_stbox() More...
 
bool overlaps_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box and the spatiotemporal box of a spatiotemporal value overlap. More...
 
bool overlaps_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if the spatiotemporal box of a spatiotemporal value and a spatiotemporal box overlap. More...
 
bool overlaps_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the spatiotemporal boxes of two spatiotemporal values overlap. More...
 
bool overleft_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend to the right of the second one. More...
 
bool overleft_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend to the right of a spatiotemporal value. More...
 
bool overleft_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend to the right of a spatiotemporal box. More...
 
bool overleft_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend to the right of the second one. More...
 
bool overright_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box does not extend to the left of the second one. More...
 
bool overright_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box does not extend to the left of a spatiotemporal value. More...
 
bool overright_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value does not extend to the left of a spatiotemporal box. More...
 
bool overright_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value does not extend to the left of the second one. More...
 
bool right_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is to the right of the second one. More...
 
bool right_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box is to the right of a temporal point. More...
 
bool right_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if a spatiotemporal value is to the right of a spatiotemporal box. More...
 
bool right_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the first spatiotemporal value is to the right of the second one. More...
 
RTreertree_create_stbox ()
 Creates an RTree index for STBoxes. More...
 
void rtree_free (RTree *rtree)
 Frees the RTree. More...
 
void rtree_insert (RTree *rtree, STBox *box, int64 id)
 Insert an STBox into the RTree index. More...
 
int * rtree_search (const RTree *rtree, const STBox *query, int *count)
 Queries an RTree with an STBox. More...
 
bool same_stbox_stbox (const STBox *box1, const STBox *box2)
 Return true if the spatiotemporal boxes are equal in the common dimensions. More...
 
bool same_stbox_tspatial (const STBox *box, const Temporal *temp)
 Return true if a spatiotemporal box and the spatiotemporal box of a spatiotemporal value are equal in the common dimensions. More...
 
bool same_tspatial_stbox (const Temporal *temp, const STBox *box)
 Return true if the spatiotemporal box of a spatiotemporal value and a spatiotemporal box are equal in the common dimensions. More...
 
bool same_tspatial_tspatial (const Temporal *temp1, const Temporal *temp2)
 Return true if the spatiotemporal boxes of two spatiotemporal values are equal in the common dimensions. 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...
 
char * spatialset_as_ewkt (const Set *set, int maxdd)
 Return the Extended Well-Known Text (EWKT) representation of a geo set. More...
 
char * spatialset_as_text (const Set *set, int maxdd)
 Return the Well-Known Text (WKT) representation of a spatial set @csqlfn Spatialset_as_text() More...
 
Setspatialset_set_srid (const Set *s, int32_t srid)
 Return a spatial set with the coordinates set to an SRID. More...
 
int32_t spatialset_srid (const Set *s)
 Return the SRID of a spatial set. More...
 
STBoxspatialset_to_stbox (const Set *s)
 Convert a spatiotemporal set into a spatiotemporal box. More...
 
Setspatialset_transform (const Set *s, int32_t srid)
 Return a spatial set transformed to another SRID. More...
 
Setspatialset_transform_pipeline (const Set *s, const char *pipelinestr, int32_t srid, bool is_forward)
 Return a spatial set transformed to another SRID using a pipeline. More...
 
double stbox_area (const STBox *box, bool spheroid)
 Return the area of a spatiotemporal box. More...
 
char * stbox_as_hexwkb (const STBox *box, uint8_t variant, size_t *size)
 Return the ASCII hex-encoded Well-Known Binary (HexWKB) representation of a spatiotemporal box. More...
 
uint8_t * stbox_as_wkb (const STBox *box, uint8_t variant, size_t *size_out)
 Return the Well-Known Binary (WKB) representation of a spatiotemporal box. More...
 
int stbox_cmp (const STBox *box1, const STBox *box2)
 Return -1, 0, or 1 depending on whether the first spatiotemporal box is less than, equal to, or greater than the second one. More...
 
STBoxstbox_copy (const STBox *box)
 Return a copy of a spatiotemporal box. More...
 
bool stbox_eq (const STBox *box1, const STBox *box2)
 Return true if the spatiotemporal boxes are equal. More...
 
STBoxstbox_expand_space (const STBox *box, double d)
 Return a spatiotemporal box with the space bounds expanded/decreased by a double. More...
 
STBoxstbox_expand_time (const STBox *box, const Interval *interv)
 Return a spatiotemporal box with the time span expanded/decreased by an interval. More...
 
STBoxstbox_from_hexwkb (const char *hexwkb)
 Return a spatiotemporal box from its ASCII hex-encoded Well-Known Binary (WKB) representation. More...
 
STBoxstbox_from_wkb (const uint8_t *wkb, size_t size)
 Return a spatiotemporal box from its Well-Known Binary (WKB) representation. More...
 
bool stbox_ge (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is greater than or equal to the second one. More...
 
STBoxstbox_get_space (const STBox *box)
 Return a spatiotemporal box with only the space dimension @csqlfn Stbox_get_space() More...
 
STBoxstbox_get_space_tile (const GSERIALIZED *point, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin)
 Return a tile in the spatial grid of a spatiotemporal box. More...
 
STBoxstbox_get_space_time_tile (const GSERIALIZED *point, TimestampTz t, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin)
 Return a tile in the spatiotemporal grid of a spatiotemporal box. More...
 
STBoxstbox_get_time_tile (TimestampTz t, const Interval *duration, TimestampTz torigin)
 Return a tile in the temporal grid of a spatiotemporal box. More...
 
bool stbox_gt (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is greater than the second one. More...
 
bool stbox_hast (const STBox *box)
 Return true if a spatiotemporal box has time dimension. More...
 
bool stbox_hasx (const STBox *box)
 Return true if a spatiotemporal box has value dimension. More...
 
bool stbox_hasz (const STBox *box)
 Return true if a spatiotemporal box has Z dimension. More...
 
STBoxstbox_in (const char *str)
 Return a spatiotemporal box from its Well-Known Text (WKT) representation. More...
 
bool stbox_isgeodetic (const STBox *box)
 Return true if a spatiotemporal box is geodetic. More...
 
bool stbox_le (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is less than or equal to the second one. More...
 
bool stbox_lt (const STBox *box1, const STBox *box2)
 Return true if the first spatiotemporal box is less than the second one. More...
 
STBoxstbox_make (bool hasx, bool hasz, bool geodetic, int32 srid, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const Span *s)
 Return a spatiotemporal box from the arguments. More...
 
bool stbox_ne (const STBox *box1, const STBox *box2)
 Return true if the spatiotemporal boxes are different. More...
 
char * stbox_out (const STBox *box, int maxdd)
 Return the Well-Known Text (WKT) representation of a spatiotemporal box. More...
 
double stbox_perimeter (const STBox *box, bool spheroid)
 Return the permieter of the spatiotemporal box. More...
 
STBoxstbox_quad_split (const STBox *box, int *count)
 Return a spatiotemporal box split with respect to its space bounds in four quadrants (2D) or eight octants (3D) More...
 
STBoxstbox_round (const STBox *box, int maxdd)
 Return a spatiotemporal box with the precision of the coordinates set to a number of decimal places. More...
 
STBoxstbox_set_srid (const STBox *box, int32_t srid)
 Return a spatiotemporal box with the coordinates set to an SRID. More...
 
STBoxstbox_shift_scale_time (const STBox *box, const Interval *shift, const Interval *duration)
 Return a spatiotemporal box with the time span expanded and/or scaled by two intervals. More...
 
STBoxstbox_space_tiles (const STBox *bounds, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool border_inc, int *count)
 Return the spatial grid of a spatiotemporal box. More...
 
STBoxstbox_space_time_tiles (const STBox *bounds, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool border_inc, int *count)
 Return the spatiotemporal grid of a spatiotemporal box. More...
 
int32_t stbox_srid (const STBox *box)
 Return the SRID of a spatiotemporal box. More...
 
STBoxstbox_time_tiles (const STBox *bounds, const Interval *duration, TimestampTz torigin, bool border_inc, int *count)
 Return the spatiotemporal grid of a spatiotemporal box. More...
 
bool stbox_tmax (const STBox *box, TimestampTz *result)
 Return in the last argument the maximum T value of a spatiotemporal box. More...
 
bool stbox_tmax_inc (const STBox *box, bool *result)
 Return in the last argument whether the maximum T value of a spatiotemporal box is inclusive. More...
 
bool stbox_tmin (const STBox *box, TimestampTz *result)
 Return in the last argument the minimum T value of a spatiotemporal box. More...
 
bool stbox_tmin_inc (const STBox *box, bool *result)
 Return in the last argument whether the maximum T value of a spatiotemporal box is inclusive. More...
 
BOX3Dstbox_to_box3d (const STBox *box)
 Convert a spatiotemporal box into a BOX3D More...
 
GBOXstbox_to_gbox (const STBox *box)
 Convert a spatiotemporal box into a GBOX More...
 
GSERIALIZEDstbox_to_geo (const STBox *box)
 Return a spatiotemporal box converted as a geometry/geography. More...
 
Spanstbox_to_tstzspan (const STBox *box)
 Convert a spatiotemporal box into a timestamptz span. More...
 
STBoxstbox_transform (const STBox *box, int32_t srid)
 Return a spatiotemporal box transformed to another SRID. More...
 
STBoxstbox_transform_pipeline (const STBox *box, const char *pipelinestr, int32_t srid, bool is_forward)
 Return a spatiotemporal box transformed to another SRID using a pipeline. More...
 
double stbox_volume (const STBox *box)
 Return the volume of a 3D spatiotemporal box. More...
 
bool stbox_xmax (const STBox *box, double *result)
 Return in the last argument the maximum X value of a spatiotemporal box. More...
 
bool stbox_xmin (const STBox *box, double *result)
 Return in the last argument the minimum X value of a spatiotemporal box. More...
 
bool stbox_ymax (const STBox *box, double *result)
 Return in the last argument the maximum Y value of a spatiotemporal box. More...
 
bool stbox_ymin (const STBox *box, double *result)
 Return in the last argument the minimum Y value of a spatiotemporal box. More...
 
bool stbox_zmax (const STBox *box, double *result)
 Return in the last argument the maximum Z value of a spatiotemporal box. More...
 
bool stbox_zmin (const STBox *box, double *result)
 Return in the last argument the minimum Z value of a spatiotemporal box. More...
 
STBoxstboxarr_round (const STBox *boxarr, int count, int maxdd)
 Return an array of spatiotemporal boxes with the precision of the coordinates set to a number of decimal places. More...
 
Temporaltcontains_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a geometry contains a temporal geometry. More...
 
Temporaltcontains_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geometry contains a geometry. More...
 
Temporaltcontains_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geometry contains another one. More...
 
Temporaltcovers_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a geometry covers a temporal geometry. More...
 
Temporaltcovers_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geometry covers a geometry. More...
 
Temporaltcovers_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a spatiotemporal value covers another one. More...
 
Temporaltdisjoint_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo and a geometry are disjoint. More...
 
Temporaltdisjoint_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo and a geometry are disjoint. More...
 
Temporaltdisjoint_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
 Return a temporal Boolean that states whether two temporal geos are disjoint. More...
 
Temporaltdistance_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the temporal distance between a temporal geo and a geometry/geography. More...
 
Temporaltdistance_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2)
 Return the temporal distance between two temporal geos. More...
 
Temporaltdwithin_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, double dist, bool restr, bool atvalue)
 
Temporaltdwithin_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, double dist, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo and a geometry are within a distance. More...
 
Temporaltdwithin_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, double dist, bool restr, bool atvalue)
 Return a temporal Boolean that states whether two temporal geos are within a distance. More...
 
Temporalteq_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return the temporal equality of a geo and a temporal geo. More...
 
Temporalteq_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the temporal equality of a temporal geo and a geo. More...
 
Temporaltgeo_affine (const Temporal *temp, const AFFINE *a)
 Return the 3D affine transform of a temporal geo to do things like translate, rotate, scale in one step. More...
 
Temporaltgeo_at_geom (const Temporal *temp, const GSERIALIZED *gs)
 Return a temporal geo restricted to a geometry. More...
 
Temporaltgeo_at_stbox (const Temporal *temp, const STBox *box, bool border_inc)
 Return a temporal geo restricted to a spatiotemporal box. More...
 
Temporaltgeo_at_value (const Temporal *temp, GSERIALIZED *gs)
 Return a temporal geo restricted to a geometry/geography. More...
 
Temporaltgeo_centroid (const Temporal *temp)
 Return the centroid of a temporal geo as a temporal point. More...
 
GSERIALIZEDtgeo_convex_hull (const Temporal *temp)
 Return the convex hull of a temporal geo. More...
 
GSERIALIZEDtgeo_end_value (const Temporal *temp)
 Return a copy of the end value of a temporal geo. More...
 
Temporaltgeo_from_base_temp (const GSERIALIZED *gs, const Temporal *temp)
 Return a temporal geo from a geometry/geography and the time frame of another temporal value. More...
 
Temporaltgeo_minus_geom (const Temporal *temp, const GSERIALIZED *gs)
 Return a temporal geo restricted to the complement of a geometry. More...
 
Temporaltgeo_minus_stbox (const Temporal *temp, const STBox *box, bool border_inc)
 Return a temporal geo restricted to the complement of a spatiotemporal box. More...
 
Temporaltgeo_minus_value (const Temporal *temp, GSERIALIZED *gs)
 Return a temporal geo restricted to the complement of a geo. More...
 
char * tgeo_out (const Temporal *temp, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal geo. More...
 
Temporaltgeo_scale (const Temporal *temp, const GSERIALIZED *scale, const GSERIALIZED *sorigin)
 Scale a temporal geo by given factors. More...
 
STBoxtgeo_space_boxes (const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, int *count)
 Return the spatiotemporal boxes of a temporal geo split with respect to a space grid. More...
 
Temporal ** tgeo_space_split (const Temporal *temp, double xsize, double ysize, double zsize, const GSERIALIZED *sorigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, int *count)
 Return the fragments a temporal geo split according to a space and possibly a time grid. More...
 
STBoxtgeo_space_time_boxes (const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, int *count)
 Return the spatiotemporal boxes of a temporal point split with respect to a space and possibly a time grid. More...
 
Temporal ** tgeo_space_time_split (const Temporal *temp, double xsize, double ysize, double zsize, const Interval *duration, const GSERIALIZED *sorigin, TimestampTz torigin, bool bitmatrix, bool border_inc, GSERIALIZED ***space_bins, TimestampTz **time_bins, int *count)
 Return the fragments a temporal geo split according to a space and possibly a time grid. More...
 
STBoxtgeo_split_each_n_stboxes (const Temporal *temp, int elem_count, int *count)
 Return an array of spatiotemporal boxes obtained by merging consecutive instants or segments of a temporal geo, where the choice between instants or segments depends, respectively, on whether the interpolation is discrete or continuous. More...
 
STBoxtgeo_split_n_stboxes (const Temporal *temp, int box_count, int *count)
 Return an array of N spatiotemporal boxes obtained by merging consecutive instants or segments of a temporal geo, where the choice between instants or segments depends, respectively, on whether the interpolation is discrete or continuous. More...
 
GSERIALIZEDtgeo_start_value (const Temporal *temp)
 Return a copy of the start value of a temporal geo. More...
 
STBoxtgeo_stboxes (const Temporal *temp, int *count)
 Return an array of spatiotemporal boxes from the instants or segments of a temporal geo, where the choice between instants or segments depends, respectively, on whether the interpolation is discrete or continuous. More...
 
GSERIALIZEDtgeo_traversed_area (const Temporal *temp)
 Return the traversed area of a temporal geo or the trajectory for a temporal point with discrete or step interpolation. More...
 
bool tgeo_value_at_timestamptz (const Temporal *temp, TimestampTz t, bool strict, GSERIALIZED **value)
 Return the value of a temporal geo at a timestamptz. More...
 
bool tgeo_value_n (const Temporal *temp, int n, GSERIALIZED **result)
 Return a copy of the n-th value of a temporal geo. More...
 
GSERIALIZED ** tgeo_values (const Temporal *temp, int *count)
 Return the array of copies of base values of a temporal geo. More...
 
Temporaltgeogpoint_from_mfjson (const char *str)
 Return a temporal geography point from its MF-JSON representation. More...
 
Temporaltgeogpoint_in (const char *str)
 Return a temporal geography point from its Well-Known Text (WKT) representation. More...
 
Temporaltgeogpoint_to_tgeography (const Temporal *temp)
 Return a temporal geography from a temporal geography point. More...
 
Temporaltgeography_from_mfjson (const char *mfjson)
 Return a temporal geography from its MF-JSON representation. More...
 
Temporaltgeography_in (const char *str)
 Return a temporal geography from its Well-Known Text (WKT) representation. More...
 
Temporaltgeography_to_tgeogpoint (const Temporal *temp)
 Return a temporal geography point from a temporal geography. More...
 
Temporaltgeography_to_tgeometry (const Temporal *temp)
 Return a temporal geometry from to a temporal geography. More...
 
TInstanttgeoinst_make (const GSERIALIZED *gs, TimestampTz t)
 Return a temporal instant geo from a geometry and a timestamptz. More...
 
Temporaltgeometry_from_mfjson (const char *str)
 Return a temporal geometry from its MF-JSON representation. More...
 
Temporaltgeometry_in (const char *str)
 Return a temporal geometry from its Well-Known Text (WKT) representation. More...
 
Temporaltgeometry_to_tgeography (const Temporal *temp)
 Return a temporal geography from a temporal geometry. More...
 
Temporaltgeometry_to_tgeompoint (const Temporal *temp)
 Return a temporal geometry point from a temporal geometry. More...
 
Temporaltgeompoint_from_mfjson (const char *str)
 Return a temporal geometry point from its MF-JSON representation. More...
 
Temporaltgeompoint_in (const char *str)
 Return a temporal geometry point from its Well-Known Text (WKT) representation. More...
 
Temporaltgeompoint_to_tgeometry (const Temporal *temp)
 Return a temporal geometry from a temporal geometry point. More...
 
TSequencetgeoseq_from_base_tstzset (const GSERIALIZED *gs, const Set *s)
 Return a temporal geo discrete sequence from a geometry/geography and a timestamptz set. More...
 
TSequencetgeoseq_from_base_tstzspan (const GSERIALIZED *gs, const Span *s, interpType interp)
 Return a temporal geo sequence from a geometry/geography and a timestamptz span. More...
 
TSequenceSettgeoseqset_from_base_tstzspanset (const GSERIALIZED *gs, const SpanSet *ss, interpType interp)
 Return a temporal geo sequence set from a point and a timestamptz span set. More...
 
STBoxtimestamptz_to_stbox (TimestampTz t)
 Convert a timestamptz into a spatiotemporal box. More...
 
Temporaltintersects_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo and a geometry intersect. More...
 
Temporaltintersects_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo and a geometry intersect. More...
 
Temporaltintersects_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
 Return a temporal Boolean that states whether two temporal geos intersect. More...
 
Temporaltne_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp)
 Return the temporal inequality of a geo and a temporal geo. More...
 
Temporaltne_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs)
 Return the temporal inequality of a temporal geo and a geo. More...
 
Temporaltpoint_angular_difference (const Temporal *temp)
 Return the temporal angular difference of a temporal geometry point. More...
 
bool tpoint_as_mvtgeom (const Temporal *temp, const STBox *bounds, int32_t extent, int32_t buffer, bool clip_geom, GSERIALIZED **gsarr, int64 **timesarr, int *count)
 Return a temporal point transformed to Mapbox Vector Tile format. More...
 
Temporaltpoint_at_geom (const Temporal *temp, const GSERIALIZED *gs, const Span *zspan)
 Return a temporal point restricted to a geometry. More...
 
Temporaltpoint_at_value (const Temporal *temp, GSERIALIZED *gs)
 Return a temporal point restricted to a point. 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_direction (const Temporal *temp, double *result)
 Return the direction of a temporal point. More...
 
Temporaltpoint_from_base_temp (const GSERIALIZED *gs, const Temporal *temp)
 Return a temporal point from a point and the time frame of another temporal value. More...
 
Temporaltpoint_get_x (const Temporal *temp)
 Return the X coordinates of a temporal point as a temporal float. More...
 
Temporaltpoint_get_y (const Temporal *temp)
 Return the Y coordinates of a temporal point as a temporal float. More...
 
Temporaltpoint_get_z (const Temporal *temp)
 Return the Z 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 point sequence (set) More...
 
Temporal ** tpoint_make_simple (const Temporal *temp, int *count)
 Return a temporal point split into an array of non self-intersecting fragments. More...
 
Temporaltpoint_minus_geom (const Temporal *temp, const GSERIALIZED *gs, const Span *zspan)
 Return a temporal point restricted to the complement of a geometry. More...
 
Temporaltpoint_minus_value (const Temporal *temp, GSERIALIZED *gs)
 Return a temporal point restricted to the complement of a point. More...
 
Temporaltpoint_speed (const Temporal *temp)
 
Temporaltpoint_tcentroid_finalfn (SkipList *state)
 Final function for temporal centroid aggregation of temporal points. More...
 
SkipListtpoint_tcentroid_transfn (SkipList *state, Temporal *temp)
 Transition function for temporal centroid aggregation of temporal points. More...
 
bool tpoint_tfloat_to_geomeas (const Temporal *tpoint, const Temporal *measure, bool segmentize, GSERIALIZED **result)
 Return a geometry/geography with M measure from a temporal point and optionally a temporal float. 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...
 
TInstanttpointinst_make (const GSERIALIZED *gs, TimestampTz t)
 Return a temporal point instant from a point and a timestamptz. More...
 
TSequencetpointseq_from_base_tstzset (const GSERIALIZED *gs, const Set *s)
 Return a temporal geometry point discrete sequence from a point and a timestamptz set. More...
 
TSequencetpointseq_from_base_tstzspan (const GSERIALIZED *gs, const Span *s, interpType interp)
 Return a temporal point sequence from a point and a timestamptz span. More...
 
TSequencetpointseq_make_coords (const double *xcoords, const double *ycoords, const double *zcoords, const TimestampTz *times, int count, int32 srid, bool geodetic, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Return a temporal sequence from arrays of coordinates, one per dimension, and timestamps. More...
 
TSequenceSettpointseqset_from_base_tstzspanset (const GSERIALIZED *gs, const SpanSet *ss, interpType interp)
 Return a temporal point sequence set from a point and a timestamptz span set. More...
 
char * tspatial_as_ewkt (const Temporal *temp, int maxdd)
 Return the Extended Well-Known Text (EWKT) representation of a spatiotemporal value. More...
 
char * tspatial_as_text (const Temporal *temp, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal spatial value. More...
 
STBoxtspatial_expand_space (const Temporal *temp, double d)
 
STBoxtspatial_extent_transfn (STBox *box, const Temporal *temp)
 Transition function for temporal extent aggregation of spatiotemporal values. More...
 
Temporaltspatial_set_srid (const Temporal *temp, int32_t srid)
 Return a spatiotemporal value with the coordinates set to an SRID. More...
 
int32_t tspatial_srid (const Temporal *temp)
 Return the SRID of a spatiotemporal value. More...
 
STBoxtspatial_to_stbox (const Temporal *temp)
 Convert a spatiotemporal value into a spatiotemporal box. More...
 
Temporaltspatial_transform (const Temporal *temp, int32_t srid)
 Return a spatiotemporal value transformed to another SRID. More...
 
Temporaltspatial_transform_pipeline (const Temporal *temp, const char *pipelinestr, int32_t srid, bool is_forward)
 Return a spatiotemporal value transformed to another SRID using a pipeline. More...
 
STBoxtstzset_to_stbox (const Set *s)
 Convert a timestamptz set into a spatiotemporal box. More...
 
STBoxtstzspan_to_stbox (const Span *s)
 Convert a timestamptz span into a spatiotemporal box. More...
 
STBoxtstzspanset_to_stbox (const SpanSet *ss)
 Convert a timestamptz span set into a spatiotemporal box. More...
 
Temporalttouches_geo_tgeo (const GSERIALIZED *gs, const Temporal *temp, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a geometry touches a temporal geo. More...
 
Temporalttouches_tgeo_geo (const Temporal *temp, const GSERIALIZED *gs, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geo touches a geometry. More...
 
Temporalttouches_tgeo_tgeo (const Temporal *temp1, const Temporal *temp2, bool restr, bool atvalue)
 Return a temporal Boolean that states whether a temporal geometry touches another one. More...
 
Setunion_geo_set (const GSERIALIZED *gs, const Set *s)
 Return the union of a geometry/geography and a set. More...
 
Setunion_set_geo (const Set *s, const GSERIALIZED *gs)
 Return the union of a set and a geometry/geography. More...
 
STBoxunion_stbox_stbox (const STBox *box1, const STBox *box2, bool strict)
 Return the union of the spatiotemporal boxes. More...