These functions are aggregates and therefore may require GROUP BY. They are the equivalent of AVG(), SUM() ...

1 geo.aggrUnion

Returns the geometry that is the topological union of the specified geometric objects. When using Oracle, you have to keep in mind that the tolerance value can affect the topology of the geometry obtained:

<geo.aggrUnion
    ora_isline='y|n'
    ora_tol='ora_tol'
    pg_collect='y'
>
    <geometry_column /> *
</geo.aggrUnion>
Example
Copy
<select>
    <columns>
       <geo.aggrUnion pg_collect='y'>a.type, a.geometry_col</geo.aggrUnion>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <group>a.type</group>
</select>

2 geo.aggrMbr

Returns the smallest rectangle that contains the specified geometries.

<geo.aggrMbr>
    <geometry_column /> *
</geo.aggrMbr>
Example
Copy
<select>
    <columns>
       <geo.aggrMbr>a.type, a.geometry_col</geo.aggrMbr>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <group>a.type</group>
</select>

3 geo.aggrConvexHull

Returns the minimum convex geometry that contains all the geometries passed as a parameter. It can be thought of as the geometry that is obtained when an elastic band is put around the set of geometries.

<geo.aggrConvexHull>
    <geometry_column /> *
</geo.aggrConvexHull>
Example
Copy
<select>
    <columns>
       <geo.aggrConvexHull tol='0.005'>geometry_col</geo.aggrConvexHull>
    </columns>
    <from table='buildings' alias='a' >
    </from>
    <where>
        a.name = 'MACBA'
    </where>
</select>