82 for ( i = 0; i < col->
ngeoms; i++ )
150 else if ( ntypes == 1 )
154 if ( outcol->
ngeoms == 1 )
156 outgeom = outcol->
geoms[0];
166 else if ( ntypes > 1 )
270 lwerror(
"lwgeom_homogenize: Geometry Type not supported (%i)",
GBOX * gbox_copy(const GBOX *box)
Return a copy of the GBOX, based on dimensionality of flags.
LWGEOM * lwcollection_as_lwgeom(const LWCOLLECTION *obj)
uint32_t lwtype_get_collectiontype(uint8_t type)
Given an lwtype number, what homogeneous collection can hold it?
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int srid, char hasz, char hasm)
int lwgeom_has_z(const LWGEOM *geom)
Return LW_TRUE if geometry has Z ordinates.
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
#define FLAGS_GET_Z(flags)
Macros for manipulating the 'flags' byte.
int lwgeom_is_collection(const LWGEOM *lwgeom)
Determine whether a LWGEOM can contain sub-geometries or not.
#define POLYHEDRALSURFACETYPE
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
#define FLAGS_GET_M(flags)
void lwcollection_free(LWCOLLECTION *col)
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members)
LWGEOM * lwgeom_clone(const LWGEOM *lwgeom)
Clone LWGEOM object.
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
LWCOLLECTION * lwgeom_as_lwcollection(const LWGEOM *lwgeom)
int lwgeom_has_m(const LWGEOM *geom)
Return LW_TRUE if geometry has M ordinates.
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
static void lwcollection_build_buffer(const LWCOLLECTION *col, HomogenizeBuffer *buffer)
LWGEOM * lwgeom_homogenize(const LWGEOM *geom)
static LWGEOM * lwcollection_homogenize(const LWCOLLECTION *col)
static void init_homogenizebuffer(HomogenizeBuffer *buffer)
Datum buffer(PG_FUNCTION_ARGS)