Definition at line 1603 of file lwgeom.c.
1629 for (i = 0; i < g->
nrings; i++)
1651 static uint32_t out_stack_size = 32;
1652 double tolsq = tolerance*tolerance;
1656 LWPOINT *out_stack[out_stack_size];
1657 int use_heap = (mpt->
ngeoms > out_stack_size);
1660 if (mpt->
ngeoms == 0)
return;
1671 for (i = 0; i < mpt->
ngeoms; i++)
1676 for (j = 0; j < n; j++)
1698 if (use_heap)
lwfree(out);
1720 for (i = 0; i < col->
ngeoms; i++)
1731 col->
geoms[j++] = g;
void lwpoint_free(LWPOINT *pt)
double distance2d_sqr_pt_pt(const POINT2D *p1, const POINT2D *p2)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
void ptarray_free(POINTARRAY *pa)
void * lwalloc(size_t size)
const POINT2D * getPoint2d_cp(const POINTARRAY *pa, uint32_t n)
Returns a POINT2D pointer into the POINTARRAY serialized_ptlist, suitable for reading from.
void ptarray_remove_repeated_points_in_place(POINTARRAY *pa, double tolerance, uint32_t min_points)
void ptarray_copy_point(POINTARRAY *pa, uint32_t from, uint32_t to)
void lwgeom_remove_repeated_points_in_place(LWGEOM *geom, double tolerance)
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
void lwgeom_free(LWGEOM *lwgeom)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
References CIRCSTRINGTYPE, COLLECTIONTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, distance2d_sqr_pt_pt(), LWMPOINT::geoms, LWCOLLECTION::geoms, getPoint2d_cp(), LINETYPE, lwalloc(), lwerror(), lwfree(), lwgeom_free(), lwgeom_is_empty(), lwgeom_remove_repeated_points_in_place(), lwpoint_free(), lwtype_name(), POINTARRAY::maxpoints, MULTICURVETYPE, MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, MULTISURFACETYPE, LWMPOINT::ngeoms, LWCOLLECTION::ngeoms, POINTARRAY::npoints, LWPOLY::nrings, LWPOINT::point, LWLINE::points, POINTTYPE, POLYGONTYPE, ptarray_copy_point(), ptarray_free(), ptarray_remove_repeated_points_in_place(), LWPOLY::rings, TINTYPE, TRIANGLETYPE, and LWGEOM::type.
Referenced by lwgeom_remove_repeated_points(), lwgeom_remove_repeated_points_in_place(), mvt_geom(), and test_lwgeom_remove_repeated_points().