Definition at line 260 of file lwgeom_ogc.c.
269 POSTGIS_DEBUG(2,
"LWGEOM_geometryn_collection called.");
273 idx = PG_GETARG_INT32(1);
286 if ( idx == 0 ) PG_RETURN_POINTER(geom);
292 if ( idx < 0 ) PG_RETURN_NULL();
293 if ( idx >= (
int32) coll->
ngeoms ) PG_RETURN_NULL();
295 subgeom = coll->
geoms[idx];
301 result = geometry_serialize(subgeom);
304 PG_FREE_IF_COPY(geom, 0);
306 PG_RETURN_POINTER(
result);
char result[OUT_DOUBLE_BUFFER_SIZE]
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
int gserialized_is_empty(const GSERIALIZED *g)
Check if a GSERIALIZED is empty without deserializing first.
uint32_t gserialized_get_type(const GSERIALIZED *g)
Extract the geometry type from the serialized form (it hides in the anonymous data area,...
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
void lwcollection_free(LWCOLLECTION *col)
LWCOLLECTION * lwgeom_as_lwcollection(const LWGEOM *lwgeom)
void lwgeom_add_bbox(LWGEOM *lwgeom)
Compute a bbox if not already computed.
References LWCOLLECTION::bbox, CIRCSTRINGTYPE, COMPOUNDTYPE, CURVEPOLYTYPE, LWCOLLECTION::geoms, gserialized_get_type(), gserialized_is_empty(), LINETYPE, lwcollection_free(), lwgeom_add_bbox(), lwgeom_as_lwcollection(), lwgeom_from_gserialized(), LWCOLLECTION::ngeoms, POINTTYPE, POLYGONTYPE, result, LWGEOM::srid, LWCOLLECTION::srid, TRIANGLETYPE, and ovdump::type.