# PostGIS Special Functions Index

## PostGIS Aggregate Functions

The functions below are spatial aggregate functions that are used in the same way as SQL aggregate function such as `sum` and `average`.

&list_aggregates;

## PostGIS Window Functions

The functions below are spatial window functions that are used in the same way as SQL window functions such as `row_number()`, `lead()`, and `lag()`. They must be followed by an `OVER()` clause.

&list_window_functions;

## PostGIS SQL-MM Compliant Functions

The functions given below are PostGIS functions that conform to the SQL/MM 3 standard

&list_sqlmm_functions;

## PostGIS Geography Support Functions

The functions and operators given below are PostGIS functions/operators that take as input or return as output a geography data type object.

Functions with a (T) are not native geodetic functions, and use a ST_Transform call to and from geometry to do the operation. As a result, they may not behave as expected when going over dateline, poles, and for large geometries or geometry pairs that cover more than one UTM zone. Basic transform - (favoring UTM, Lambert Azimuthal (North/South), and falling back on mercator in worst case scenario)

&list_geography_functions;

## PostGIS Raster Support Functions

The functions and operators given below are PostGIS functions/operators that take as input or return as output a data type object. Listed in alphabetical order.

&list_raster_functions;

## PostGIS Geometry / Geography / Raster Dump Functions

The functions given below are PostGIS functions that take as input or return as output a set of or single geometry_dump or geomval data type object.

&list_dump_functions;

## PostGIS Box Functions

The functions given below are PostGIS functions that take as input or return as output the box* family of PostGIS spatial types. The box family of types consists of box2d, and box3d

&list_box_functions;

## PostGIS Functions that support 3D

The functions given below are PostGIS functions that do not throw away the Z-Index.

&list_3d_functions;

## PostGIS Curved Geometry Support Functions

The functions given below are PostGIS functions that can use CIRCULARSTRING, CURVEPOLYGON, and other curved geometry types

&list_curved_geometry_functions;

## PostGIS Polyhedral Surface Support Functions

The functions given below are PostGIS functions that can use POLYHEDRALSURFACE, POLYHEDRALSURFACEM geometries

&list_polyhedral_geometry_functions;

## PostGIS Function Support Matrix

Below is an alphabetical listing of spatial specific functions in PostGIS and the kinds of spatial types they work with or OGC/SQL compliance they try to conform to.

- A means the function works with the type or subtype natively.

- A means it works but with a transform cast built-in using cast to geometry, transform to a "best srid" spatial ref and then cast back. Results may not be as expected for large areas or areas at poles and may accumulate floating point junk.

- A means the function works with the type because of a auto-cast to another such as to box3d rather than direct type support.

- A means the function only available if PostGIS compiled with SFCGAL support.

- geom - Basic 2D geometry support (x,y).

- geog - Basic 2D geography support (x,y).

- 2.5D - basic 2D geometries in 3 D/4D space (has Z or M coord).

- PS - Polyhedral surfaces

- T - Triangles and Triangulated Irregular Network surfaces (TIN)

Function | geom | geog | 2.5D | Curves | SQL MM | PS | T
--- | --- | --- | --- | --- | --- | --- | ---
&table_body_function_support_matrix;

## New, Enhanced or changed PostGIS Functions

&list_new_functions;