PostGIS  2.4.9dev-r@@SVN_REVISION@@
liblwgeom/lwgeom_geos.c File Reference
#include "lwgeom_geos.h"
#include "liblwgeom.h"
#include "liblwgeom_internal.h"
#include "lwgeom_log.h"
#include <stdlib.h>
#include <time.h>
Include dependency graph for liblwgeom/lwgeom_geos.c:

Go to the source code of this file.

Data Structures

struct  Face_t




typedef struct Face_t Face


LWTINlwtin_from_geos (const GEOSGeometry *geom, int want3d)
void lwgeom_geos_error (const char *fmt,...)
POINTARRAYptarray_from_GEOSCoordSeq (const GEOSCoordSequence *cs, char want3d)
LWGEOMGEOS2LWGEOM (const GEOSGeometry *geom, char want3d)
GEOSCoordSeq ptarray_to_GEOSCoordSeq (const POINTARRAY *, int fix_ring)
static GEOSGeometry * ptarray_to_GEOSLinearRing (const POINTARRAY *pa, int autofix)
GEOSGeometry * GBOX2GEOS (const GBOX *box)
GEOSGeometry * LWGEOM2GEOS (const LWGEOM *lwgeom, int autofix)
GEOSGeometry * make_geos_point (double x, double y)
GEOSGeometry * make_geos_segment (double x1, double y1, double x2, double y2)
const char * lwgeom_geos_version ()
 Return GEOS version string (not to be freed) More...
LWGEOMlwgeom_normalize (const LWGEOM *geom1)
LWGEOMlwgeom_intersection (const LWGEOM *geom1, const LWGEOM *geom2)
LWGEOMlwgeom_linemerge (const LWGEOM *geom1)
LWGEOMlwgeom_unaryunion (const LWGEOM *geom1)
LWGEOMlwgeom_difference (const LWGEOM *geom1, const LWGEOM *geom2)
LWGEOMlwgeom_symdifference (const LWGEOM *geom1, const LWGEOM *geom2)
LWGEOMlwgeom_centroid (const LWGEOM *geom)
LWGEOMlwgeom_union (const LWGEOM *geom1, const LWGEOM *geom2)
LWGEOMlwgeom_clip_by_rect (const LWGEOM *geom1, double x0, double y0, double x1, double y1)
static FacenewFace (const GEOSGeometry *g)
static void delFace (Face *f)
static unsigned int countParens (const Face *f)
static void findFaceHoles (Face **faces, int nfaces)
static int compare_by_envarea (const void *g1, const void *g2)
static GEOSGeometry * collectFacesWithEvenAncestors (Face **faces, int nfaces)
GEOSGeometry * LWGEOM_GEOS_buildArea (const GEOSGeometry *geom_in)
LWGEOMlwgeom_buildarea (const LWGEOM *geom)
 Take a geometry and return an areal geometry (Polygon or MultiPolygon). More...
int lwgeom_is_simple (const LWGEOM *geom)
LWGEOMlwgeom_geos_noop (const LWGEOM *geom_in)
 Convert an LWGEOM to a GEOS Geometry and convert back – for debug only. More...
LWGEOMlwgeom_snap (const LWGEOM *geom1, const LWGEOM *geom2, double tolerance)
 Snap vertices and segments of a geometry to another using a given tolerance. More...
LWGEOMlwgeom_sharedpaths (const LWGEOM *geom1, const LWGEOM *geom2)
LWGEOMlwgeom_offsetcurve (const LWLINE *lwline, double size, int quadsegs, int joinStyle, double mitreLimit)
LWMPOINTlwpoly_to_points (const LWPOLY *lwpoly, int npoints)
LWMPOINTlwmpoly_to_points (const LWMPOLY *lwmpoly, int npoints)
LWMPOINTlwgeom_to_points (const LWGEOM *lwgeom, int npoints)
LWGEOMlwgeom_delaunay_triangulation (const LWGEOM *lwgeom_in, double tolerance, int output)
 Take vertices of a geometry and build a delaunay triangulation on them. More...
static GEOSCoordSequence * lwgeom_get_geos_coordseq_2d (const LWGEOM *g, uint32_t num_points)
LWGEOMlwgeom_voronoi_diagram (const LWGEOM *g, const GBOX *env, double tolerance, int output_edges)
 Take vertices of a geometry and build the Voronoi diagram. More...


char lwgeom_geos_errmsg [LWGEOM_GEOS_ERRMSG_MAXSIZE]