PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ lwgeom_make_geos_friendly()

static LWGEOM * lwgeom_make_geos_friendly ( LWGEOM geom)
static

Definition at line 79 of file liblwgeom/lwgeom_geos_clean.c.

80{
81 LWDEBUGF(2, "lwgeom_make_geos_friendly enter (type %d)", geom->type);
82 switch (geom->type)
83 {
84 case POINTTYPE:
86 return geom;
87
88 case LINETYPE:
89 /* lines need at least 2 points */
90 return lwline_make_geos_friendly((LWLINE*)geom);
91 break;
92
93 case POLYGONTYPE:
94 /* polygons need all rings closed and with npoints > 3 */
95 return lwpoly_make_geos_friendly((LWPOLY*)geom);
96 break;
97
98 case MULTILINETYPE:
100 case COLLECTIONTYPE:
101 case MULTIPOINTTYPE:
103 break;
104
105 case CIRCSTRINGTYPE:
106 case COMPOUNDTYPE:
107 case CURVEPOLYTYPE:
108 case MULTISURFACETYPE:
109 case MULTICURVETYPE:
110 default:
111 lwerror("lwgeom_make_geos_friendly: unsupported input geometry type: %s (%d)",
112 lwtype_name(geom->type),
113 geom->type);
114 break;
115 }
116 return 0;
117}
LWGEOM * lwline_make_geos_friendly(LWLINE *line)
LWGEOM * lwpoly_make_geos_friendly(LWPOLY *poly)
LWGEOM * lwcollection_make_geos_friendly(LWCOLLECTION *g)
static void ptarray_strip_nan_coords_in_place(POINTARRAY *pa)
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition lwutil.c:216
#define COLLECTIONTYPE
Definition liblwgeom.h:108
#define COMPOUNDTYPE
Definition liblwgeom.h:110
#define CURVEPOLYTYPE
Definition liblwgeom.h:111
#define MULTILINETYPE
Definition liblwgeom.h:106
#define MULTISURFACETYPE
Definition liblwgeom.h:113
#define LINETYPE
Definition liblwgeom.h:103
#define MULTIPOINTTYPE
Definition liblwgeom.h:105
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition liblwgeom.h:102
#define MULTIPOLYGONTYPE
Definition liblwgeom.h:107
#define POLYGONTYPE
Definition liblwgeom.h:104
#define CIRCSTRINGTYPE
Definition liblwgeom.h:109
#define MULTICURVETYPE
Definition liblwgeom.h:112
#define LWDEBUGF(level, msg,...)
Definition lwgeom_log.h:106
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
uint8_t type
Definition liblwgeom.h:462

References CIRCSTRINGTYPE, COLLECTIONTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, LINETYPE, lwcollection_make_geos_friendly(), LWDEBUGF, lwerror(), lwline_make_geos_friendly(), lwpoly_make_geos_friendly(), lwtype_name(), MULTICURVETYPE, MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, MULTISURFACETYPE, POINTTYPE, POLYGONTYPE, ptarray_strip_nan_coords_in_place(), LWGEOM::type, and LWPOINT::type.

Referenced by lwcollection_make_geos_friendly(), and lwgeom_make_valid_params().

Here is the call graph for this function:
Here is the caller graph for this function: