MobilityDB 1.3
Loading...
Searching...
No Matches
Macros | Enumerations | Functions
meos_geo.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <meos.h>
#include <liblwgeom.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...
 
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...
 
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...
 
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...
 
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_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...
 
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...
 
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)
 Return the speed of a temporal point. More...
 
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...
 
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...