Definition at line 260 of file lwgeom_ogc.c.
269 POSTGIS_DEBUG(2,
"LWGEOM_geometryn_collection called.");
273 idx = PG_GETARG_INT32(1);
281 if ( idx == 0 ) PG_RETURN_POINTER(geom);
287 if ( idx < 0 ) PG_RETURN_NULL();
288 if ( idx >= (
int32) coll->
ngeoms ) PG_RETURN_NULL();
290 subgeom = coll->
geoms[idx];
296 result = geometry_serialize(subgeom);
299 PG_FREE_IF_COPY(geom, 0);
301 PG_RETURN_POINTER(
result);
char result[OUT_DOUBLE_BUFFER_SIZE]
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
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(), 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.