# ST_ToGeomColl function

The ST_ToGeomColl function takes a geometry as an input parameter and converts it to a geometry collection. The resulting geometry collection is represented in the spatial reference system of the given geometry.

If the specified geometry is empty, then it can be of any type. However, it is then converted to ST_Multipoint, ST_MultiLineString, or ST_MultiPolygon as appropriate.

If the specified geometry is not empty, then it must be of type ST_Point, ST_LineString, or ST_Polygon. These are then converted to ST_Multipoint, ST_MultiLineString, or ST_MultiPolygon respectively.

If the given geometry is null, then null is returned.

This function can also be called as a method.

## Syntax

## Parameter

- geometry
- A value of type ST_Geometry or one of its subtypes that represents the geometry that is converted to a geometry collection.

## Return type

db2gse.ST_GeomCollection

## Example

In the following example, the lines of results have been reformatted for readability. The spacing in your results will vary according to your online display

```
SET CURRENT FUNCTION PATH = CURRENT FUNCTION PATH, db2gse
CREATE TABLE sample_geometries (id INTEGER, geometry ST_Geometry)
INSERT INTO sample_geometries
VALUES (1, ST_Polygon ('polygon ((3 3, 4 6, 5 3, 3 3))', 1)),
(2, ST_Point ('point (1 2)', 1))
```

In the following SELECT statement, the ST_ToGeomColl function
is used to return geometries as their corresponding geometry collection
subtypes. ```
SELECT id, CAST( ST_AsText( ST_ToGeomColl(geometry) )
AS VARCHAR(120) ) GEOM_COLL
FROM sample_geometries
```

Results: ```
ID GEOM_COLL
----------- ------------------------------------------------------
1 MULTIPOLYGON ((( 3.00000000 3.00000000, 5.00000000
3.00000000, 4.00000000 6.00000000,
3.00000000 3.00000000)))
2 MULTIPOINT ( 1.00000000 2.00000000)
```