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

◆ lwgeom_split()

LWGEOM * lwgeom_split ( const LWGEOM lwgeom_in,
const LWGEOM blade_in 
)

Definition at line 569 of file lwgeom_geos_split.c.

570{
571 switch (lwgeom_in->type)
572 {
573 case LINETYPE:
574 return lwline_split((const LWLINE*)lwgeom_in, blade_in);
575
576 case POLYGONTYPE:
577 return lwpoly_split((const LWPOLY*)lwgeom_in, blade_in);
578
579 case MULTIPOLYGONTYPE:
580 case MULTILINETYPE:
581 case COLLECTIONTYPE:
582 return lwcollection_split((const LWCOLLECTION*)lwgeom_in, blade_in);
583
584 default:
585 lwerror("Splitting of %s geometries is unsupported",
586 lwtype_name(lwgeom_in->type));
587 return NULL;
588 }
589
590}
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 MULTILINETYPE
Definition liblwgeom.h:106
#define LINETYPE
Definition liblwgeom.h:103
#define MULTIPOLYGONTYPE
Definition liblwgeom.h:107
#define POLYGONTYPE
Definition liblwgeom.h:104
static LWGEOM * lwline_split(const LWLINE *lwgeom_in, const LWGEOM *blade_in)
static LWGEOM * lwpoly_split(const LWPOLY *lwpoly_in, const LWGEOM *blade_in)
static LWGEOM * lwcollection_split(const LWCOLLECTION *lwcoll_in, const LWGEOM *blade_in)
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 COLLECTIONTYPE, LINETYPE, lwcollection_split(), lwerror(), lwline_split(), lwpoly_split(), lwtype_name(), MULTILINETYPE, MULTIPOLYGONTYPE, POLYGONTYPE, LWGEOM::type, and LWLINE::type.

Referenced by _lwt_EdgeSplit(), _lwt_SnapEdgeToExistingNode(), _lwt_split_by_nodes(), lwcollection_split(), lwgeom_split_wrapx(), ST_Split(), and test_lwgeom_split().

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