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

Functions for rounding the float coordinates of geometries. More...

#include <assert.h>
#include <postgres.h>
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "geo/postgis_funcs.h"
#include "geo/tgeo_spatialfuncs.h"

Functions

Datum datum_geo_round (Datum value, Datum size)
 Return a geometry with the precision of the coordinates set to a number of decimal places. 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...
 
GSERIALIZEDpoint_round (const GSERIALIZED *gs, int maxdd)
 Return a point with the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_circularstring (const GSERIALIZED *gs, int maxdd)
 Return a circular string with the precision of the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_compoundcurve (const GSERIALIZED *gs, int maxdd)
 Set the precision of the coordinates of a geometry collection to a number of decimal places. More...
 
static GSERIALIZEDround_curvepolygon (const GSERIALIZED *gs, int maxdd)
 Return a curve polygon with the precision of the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_geometrycollection (const GSERIALIZED *gs, int maxdd)
 Set the precision of the coordinates of a geometry collection to a number of decimal places. More...
 
static GSERIALIZEDround_linestring (const GSERIALIZED *gs, int maxdd)
 Return a line with the coordinates set to a number of decimal places. More...
 
static void round_lwcircstring (LWCIRCSTRING *circstring, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a circular string to a number of decimal places. More...
 
static void round_lwcompound (LWCOMPOUND *comp, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a compound curve to a number of decimal places. More...
 
static void round_lwcurvepoly (LWCURVEPOLY *cpoly, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a curve polygon to a number of decimal places. More...
 
static void round_lwline (LWLINE *line, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a line to a number of decimal places. More...
 
static void round_lwmcurve (LWMCURVE *mcurve, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a compound curve to a number of decimal places. More...
 
static void round_lwmline (LWMLINE *mline, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a multilinestring to a number of decimal places. More...
 
static void round_lwmpoint (LWMPOINT *mpoint, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a multipoint to a number of decimal places. More...
 
static void round_lwmpoly (LWMPOLY *mpoly, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a multipolygon to a number of decimal places. More...
 
static void round_lwpoly (LWPOLY *poly, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a polygon to a number of decimal places. More...
 
static void round_lwtriangle (LWTRIANGLE *triangle, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of a triangle to a number of decimal places. More...
 
static GSERIALIZEDround_multicurve (const GSERIALIZED *gs, int maxdd)
 Set the precision of the coordinates of a geometry collection to a number of decimal places. More...
 
static GSERIALIZEDround_multilinestring (const GSERIALIZED *gs, int maxdd)
 Return a multilinestring with the precision of the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_multipoint (const GSERIALIZED *gs, int maxdd)
 Return a multipoint with the precision of the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_multipolygon (const GSERIALIZED *gs, int maxdd)
 Return a multipolygon with the precision of the coordinates set to a number of decimal places. More...
 
static void round_point_n (POINTARRAY *points, uint32_t n, int maxdd, bool hasz, bool hasm)
 Set the precision of the coordinates of the n-th point in a point array to a number of decimal places. More...
 
static GSERIALIZEDround_polygon (const GSERIALIZED *gs, int maxdd)
 Return a polygon with the precision of the coordinates set to a number of decimal places. More...
 
static GSERIALIZEDround_triangle (const GSERIALIZED *gs, int maxdd)
 Return a triangle with the precision of the coordinates set to a number of decimal places. More...
 

Detailed Description

Functions for rounding the float coordinates of geometries.