# MobilityDB Reference

## MobilityDB Types

MobilityDB defines four template types that act as type constructors over base types. These template types are `set`, `span`, `spanset`, and `temporal`. templatetypes shows the types defined over these template types. Furthermore, MobilityDB defines two bounding box types, namely, `tbox` and `stbox`.

## MobilityDB current instantiations of template types

Base Types | Template Types
`set` | `span` | `spanset` | `temporal`
`bool` | `` | `` | `` | `tbool`
`text` | `textset` | `` | `` | `ttext`
`integer` | `intset` | `intspan` | `intspanset` | `tint`
`bigint` | `bigintset` | `bigintspan` | `bigintspanset` | ``
`float` | `floatset` | `floatspan` | `floatspanset` | `tfloat`
`date` | `dateset` | `datespan` | `datespanset` | ``
`timestamptz` | `tstzset` | `tstzspan` | `tstzspanset` | ``
`geometry` | `geomset` | `` | `` | `tgeompoint`, `tgeometry`
`geography` | `geogset` | `` | `` | `tgeogpoint`, `tgeography`
`pose` | `poseset` | `` | `` | `tpose`
`npoint` | `npointset` | `` | `` | `tnpoint`
`cbuffer` | `cbufferset` | `` | `` | `tcbuffer`

## Set and Span Types

### Input and Output

- `asText`: Return the Well-Known Text (WKT) representation

- `asBinary`: Return the Well-Known Binary (WKB) or the Hexadecimal Well-Known Binary (HexWKB) representation

- `settypeFromBinary`, `spantypeFromBinary`, `spansettypeFromBinary`: Input from the Well-Known Binary (WKB) representation

- `settypeFromHexWKB`, `spantypeFromHexWKB`, `spansettypeFromHexWKB`: Input from the Hexadecimal Well-Known Binary (HexWKB) representation

### Constructors

- `set`: Constructor for set values

- `span`: Constructor for span values

- `spanset`: Constructor for span set values

### Conversions

- `::`, `set(base)`, `span(base)`, `spanset(base)`: Convert a base value to a set, span, or span set value

- `::`, `spanset(set)`: Convert a set value to a span set value

- `::`, `spanset(span)`: Convert a span value to a span set value

- `::`, `range(span)`, `span(range)`: Convert a span value to and from a PostgreSQL range value

- `::`, `multirange(spanset)`, `spanset(multirange)`: Convert a span set value to and from a PostgreSQL multirange value

### Accessors

- `memSize`: Return the memory size in bytes

- `lower`, `upper`: Return the lower or upper bound

- `lowerInc`, `upperInc`: Is the lower or upper bound inclusive?

- `width`: Return the width of the span as a float

- `duration`: Return the duration

- `span`: Return the bounding span of the set or span set ignoring the potential time gaps

- `numValues`, `getValues`: Return the (number of) values

- `startValue`, `endValue`, `valueN`: Return the start, end, or n-th value

- `numSpans`, `spans`: Return (the number of) composing spans

- `startSpan`, `endSpan`, `spanN`: Return the start, end, or n-th span

- `numDates`, `dates`: Return the (number of) different dates

- `startDate`, `endDate`, `dateN`: Return the start, end, or n-th date

- `numTimestamps`, `timestamps`: Return the (number of) different timestamps

- `startTimestamp`, `endTimestamp`, `timestampN`: Return the start, end, or n-th timestamp

### Transformations

- `expand`: Expand or shrink the bounds by a value or an interval

- `shift`, `scale`, `shiftScale`: Shift and/or scale by a value or an interval

- `floor`, `ceil`: Round down or up to the lowest integer

- `round`: Round to a number of decimal places

- `degrees`, `radians`: Transform to degrees or radians

- `lower`, `upper`, `initcap`: Transform to lowercase, uppercase, or initcap

- `||`: Text concatenation

- `tprecision`: Set the temporal precision to the interval with respect to the origin

### Spatial Reference System

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

### Set Operations

- `+`, `-`, `*`: Union, difference, and intersection of sets or spans

### Bounding Box Operations

#### Topological Operations

- `&&`: Do the sets or spans overlap (have values in common)?

- `@>`: Does the first set or span contain the second one?

- `<@`: Is the first set or span contained by the second one?

- `-|-`: Is the first set or span adjacent to the second one?

#### Position Operations

- `<<`, `<<#`: Is the first set or span scritly to the left of the second one?

- `>>`, `#>>`: Is the first set or span strictly to the right of the second one?

- `&<`, `&<#`: Is the first set or span not to the right of the second one?

- `&>`, `#&>`: Is the first set or span not to the left of the second one?

#### Splitting Operations

- `splitNSpans`: Return an array of N spans obtained by merging the elements of a set or the spans of a spanset

- `splitEachNSpans`: Return an array of spans obtained by merging N consecutive elements of a set or N consecutive spans of a spanset

### Distance Operations

- `<->`: Return the smallest distance ever

### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=`, `set_cmp`, `span_cmp`, and `spanset_cmp`: Traditional comparisons

### Aggregations

- `tCount`: Temporal count

- `extent`: Bounding span

- `setUnion`, `spanUnion`: Aggregate union

## Box Types

### Input and Output

- `asText`: Return the Well-Known Text (WKT) representation

- `asBinary`, `asHexWKB`: Return the Well-Known Binary (WKB) or the Hexadecimal Well-Known Binary (HexWKB) representation as text

- `boxFromBinary`, `boxFromHexWKB`: Input from the Well-Known Binary (WKB) or from the Hexadecimal Well-Known Binary (HexWKB) representation

### Constructors

- `tbox`: Constructor for `tbox`

- `stboxX, stboxZ, stboxT, stboxXT, stboxZT, geodstboxZ, geodstboxT, geodstboxZT`: Constructor for `stbox`

### Conversions

- `tbox::type`: Convert a `tbox` to another type

- `type::tbox`: Convert another type to a `tbox`

- `stbox::type`: Convert an `stbox` to another type

- `type::stbox`: Convert another type to an `stbox`

### Accessors

- `hasX`, `hasZ`, `hasT`: Has X/Z/T dimension?

- `isGeodetic`: Is geodetic?

- `xMin`, `yMin`, `zMin`, `tMin`: Return the minimum X/Y/Z/T value

- `xMax`, `yMax`, `zMax`, `tMax`: Return the maximum X/Y/Z/T value

- `xMinInc`, `tMinInc`: Is the minimum X/T value inclusive?

- `xMaxInc`, `tMaxInc`: Is the maximum X/T value inclusive?

- `area`, `volume`, `perimeter`: Area, volume, perimeter

### Transformations

- `shiftValue`, `scaleValue`, `shiftScaleValue`: Shift and/or scale the span of a bounding box by a value

- `shiftTime`, `scaleTime`, `shiftScaleTime`: Shift and/or scale the period of a bounding box by an interval

- `getSpace`: Return the spatial dimension of a bounding box, removing the temporal dimension if any

- `expandValue`, `expandSpace`, `expandTime`: Expand the numeric, spatial, or temporal dimension of a bounding box by a value or an interval

- `round`: Round the values or the coordinates of a bounding box to a number of decimal places

### Spatial Reference System

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

### Splitting Operations

- `quadSplit`: Split a bounding box in quadrants or octants

### Set Operations

- `+`, `*`: Union and intersection of bounding boxes

### Bounding Box Operations

#### Topological Operations

- `&&`: Do the bounding boxes overlap?

- `@>`: Does the first bounding box contain the second one?

- `<@`: Is the first bounding box contained in the second one?

- `~=`: Are the bounding boxes equal in their common dimensions?

- `-|-`: Are the bounding boxes adjacent?

#### Position Operations

- `<<`, `<<|`, `<</`, `<<#`: Are the X/Y/Z/T values of the first bounding box strictly less than those of the second one?

- `>>`,`|>>`, `/>>`, `#>>`: Are the X/Y/Z/T values of the first bounding box strictly greater than those of the second one?

- `&<`, `&<|`, `&</`, `&<#`: Are the X/Y/Z/T values of the first bounding box not greater than those of the second one?

- `&>`, `|&>`, `/&>`, `#&>`: Are the X/Y/Z/T values of the first bounding box not less than those of the second one?

### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=``tbox_cmp`, : Traditional comparisons

### Aggregations

- `extent`: Bounding box extent

## Temporal Types

### Input and Output

- `asText`: Return the Well-Known Text (WKT) representation

- `asMFJSON`: Return the Moving Features JSON (MF-JSON) representation

- `asBinary`, `asHexWKB`: Return the Well-Known Binary (WKB) or the Hexadecimal Well-Known Binary (HexWKB) representation

- `ttypeFromMFJSON`: Input from a Moving Features JSON (MF-JSON) representation

- `ttypeFromBinary`, `ttypeFromHexWKB`: Input from the Well-Known Binary (WKB) or from the Hexadecimal Well-Known Binary (HexWKB) representation

### Constructors

- `ttype`: Constructor for temporal types from a base value and a time value

- `ttypeSeq`: Constructor for temporal types of sequence subtype

- `ttypeSeqSet`, `ttypeSeqSetGaps`: Constructor for temporal types of sequence set subtype

### Conversions

- `ttype::tstzspan`: Convert a temporal value to a timestamptz span

### Accessors

- `memSize`: Return the memory size in bytes

- `tempSubtype`: Return the temporal subtype

- `interp`: Return the interpolation

- `getValue`, `getTimestamp`: Return the value or the timestamp of an instant

- `getValues`, `getTime`: Return the values or the time on which the temporal value is defined

- `startValue`, `endValue`, `valueN`: Return the start, end, or n-th value

- `valueAtTimestamp`: Return the value at a timestamp

- `duration`: Return the duration

- `lowerInc`, `upperInc`: Is the start/end instant inclusive?

- `numInstants`, `instants`: Return the (number of) different instants

- `startInstant`, `endInstant`, `instantN`: Return the start, end, or n-th instant

- `numTimestamps`, `timestamps`: Return the (number of different) timestamps

- `startTimestamp`, `endTimestamp`, `timestampN`: Return the start, end, or n-th timestamp

- `numSequences`, `sequences`: Return the (number of) sequences

- `startSequence`, `endSequence`, `sequenceN`: Return the start, end, or n-th sequence

- `segments`: Return the segments

### Transformations

- `ttypeInst, ttypeSeq, ttypeSeqSet`: Transform a temporal value to another subtype

- `setInterp`: Transform a temporal value to another interpolation

- `shiftTime`, `scaleTime`, `shiftScaleTime`: Shift and/or scale the time span of a temporal value by one or two interval

- `unnest`: Transform a nonlinear temporal value into a set of rows, each one containing a base value and a period set during which the temporal value has the base value

### Modifications

- `insert`: Insert a temporal value into another one

- `update`: Update a temporal value with another one

- `deleteTime`: Delete the instants of a temporal value that intersect a time value

- `beforeTimestamp`, `afterTimestamp`: Keep the instants of a temporal value that are before/after or equal a timestamp

- `appendInstant`: Append a temporal instant to a temporal value

- `appendSequence`: Append a temporal sequence to a temporal value

- `merge`: Merge temporal values

### Restrictions

- `atValues`, `minusValues`: Restrict to (the complement of) a set of values

- `atTime`, `minusTime`: Restrict to (the complement of) a time value

### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=`, `ttype_cmp`: Traditional comparisons

- `?=`, `%=`, `?<>`, `%<>`, `?<`, `%<`, `?>`, `%>`, `?<=`, `%<=`, `?>=`, `%>=`: Ever and always comparisons

- `#=`, `#<>`, `#<`, `#>`, `#<=`, `#>=`: Temporal comparisons

### Miscellaneous

- `mobilitydb_version`: Return the version of the MobilityDB extension

- `mobilitydb_full_version`: Return the versions of the MobilityDB extension and its dependencies

## Temporal Alphanumeric Types

### Conversions

- `tnumber::{span,tbox}`, `valueSpan(tnumber)`, `timeSpan(tnumber)`, `tbox(tnumber)`: Convert a temporal number to a span or to a temporal box

- `tbool::tint`, `tint(tbool)`: Convert between a temporal boolean and a temporal integer

- `tint::tfloat`, `tfloat::tint`, `tfloat(tint)`, `tint(tfloat)`: Convert between a temporal integer and a temporal float

### Accessors

- `valueSet`: Return the set of values of a temporal number

- `minValue`, `maxValue`, `avgValue`: Return the minimum, maximum or average value

- `minInstant`, `maxInstant`: Return the instant with the minimum or maximum value

### Transformations

- `shiftValue`, `scaleValue`, `shiftScaleValue`: Shift and/or scale the value span of a temporal number by one or two values

- `stops`: Extract from a temporal float with linear interpolation the subsequences where the values stay within an span of a given width for at least a given duration

### Restrictions

- `atMin`, `atMax`, `minusMin`, `minusMax`: Restrict to (the complement of) the minimum or maximum value

- `atTbox`, `minusTbox`: Restrict to (the complement of) a `tbox`

### Boolean Operations

- `&`, `|`: Temporal and, temporal or

- `~`: Temporal not

- `whenTrue`: Return the time when a temporal Boolean takes the value true

### Mathematical Operations

- `+`, `-`, `*`, `/`: Temporal addition, subtraction, multiplication, and division

- `abs`: Return the absolute value of a temporal number

- `floor`, `ceil`: Round down or up to the nearest integer

- `round`: Round to a number of decimal places

- `degrees`, `radians`: Convert to degrees or radians

- `deltaValue`: Return the value difference between consecutive instants of a temporal number

- `trend`: Return the trend of a temporal float with linear interpolation, which states whether its value is increasing, constant, or decreasing, represented, respectively, by 1, 0, and -1.

- `derivative`: Return the derivative over time of a temporal float in units per second

- `integral`: Return the area under the curve

- `twAvg`: Return the time-weighted average

- `ln`, `log10`: Return the natural and base 10 logarithm of a temporal float

- `exp`: Return the exponential (e raised to the given power) of a temporal float

### Text Operations

- `||`: Text concatenation

- `lower`, `upper`, `initcap`: Transform in lowercase, uppercase, or initcap

## Temporal Geometry Types

### Input and Output

- `asText`, `asEWKT`: Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation

- `asMFJSON`: Return the Moving Features JSON (MF-JSON) representation

- `asBinary`, `asEWKB`, `asHexEWKB`: Return the Well-Known Binary (WKB), the Extended Well-Known Binary (EWKB), or the Hexadecimal Extended Well-Known Binary (EWKB) representation

- `tspatialFromText`, `tspatialFromEWKT`: Input from the Well-Known Text (WKT) or from the Extended Well-Known Text (EWKT) representation

- `tspatialFromMFJSON`: Input from the Moving Features JSON (MF-JSON) representation

- `tspatialFromBinary`, `tspatialFromEWKB`, `tspatialFromHexEWKB`: Input from the Well-Known Binary (WKB), from the Extended Well-Known Binary (EWKB), or from the Hexadecimal Extended Well-Known Binary (EWKB) representation

### Conversions

- `::`, `stbox(tspatial)`: Convert a spatiotemporal value to a spatiotemporal box

- `tgeometry::tgeography`, `tgeography::tgeometry`, `tgeompoint::tgeogpoint`, `tgeogpoint::tgeompoint`: Convert between a temporal geometry and a temporal geography

- `tgeompoint::geometry, tgeogpoint::geography`, `geometry::tgeompoint, geography::tgeogpoint`: Convert between a temporal point and a PostGIS trajectory

### Spatial Reference System

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

### Accessors

- `trajectory`, `traversedArea`: Return the trajectory or the traversed area

- `twCentroid`: Return the time-weighted centroid

- `getX`, `getY`, `getZ`: Return the X/Y/Z/T coordinate values as a temporal float

- `isSimple`: Return true if the temporal point does not spatially self-intersect

- `length`: Return the length traversed by the temporal point

- `cumulativeLength`: Return the cumulative length traversed by the temporal point

- `speed`: Return the speed of the temporal point in units per second

- `direction`: Return the direction

- `azimuth`: Return the temporal azimuth

- `angularDifference`: Return the temporal angular difference

- `bearing`: Return the temporal bearing

### Transformations

- `round`: Round the coordinate values to a number of decimal places

- `makeSimple`: Return an array of fragments of the temporal point which are simple

- `geoMeasure`: Construct a geometry/geography with M measure from a temporal point and a temporal float

- `affine`: Return the 3D affine transform of a temporal point to do things like translate, rotate, scale in one step

- `rotate`: Return a temporal point rotated counter-clockwise about the origin point

- `scale`: Return a temporal point scaled by given factors

- `asMVTGeom`: Transform a temporal geometric point into the coordinate space of a Mapbox Vector Tile

- `stops`: Extract from a temporal point with linear interpolation the subsequences where the point stays within an area with a specified maximum size for at least the given duration

### Restrictions

- `atGeometry`, `minusGeometry`: Restrict to (the complement of) a geometry, a span in Z and/or a period

- `atStbox`, `minuStbox`: Restrict to (the complement of) an `stbox`

### Distance Operations

- `|=|`: Return the smallest distance ever

- `nearestApproachInstant`: Return the instant of the first temporal point at which the two arguments are at the nearest distance

- `shortestLine`: Return the line connecting the nearest approach point

- `<->`: Return the temporal distance

### Spatial Relationships

#### Ever or Always Spatial Relationships

- `eContains`, `aContains`: Ever or always contains

- `eDisjoint`, `aDisjoint`: Is ever or always disjoint

- `eDwithin`, `aDwithin`: Is ever or always at distance within

- `eIntersects`, `aIntersects`: Ever or always intersects

- `eTouches`, `aTouches`: Ever or always touches

#### Spatiotemporal Relationships

- `tContains`: Temporal contains

- `tDisjoint`: Temporal disjoint

- `tDwithin`: Temporal distance within

- `tIntersects`: Temporal intersects

- `tTouches`: Temporal touches

## Operations for Temporal Types: Analytics Operations

### Simplification

- `minDistSimplify`, `minTimeDeltaSimplify`: Return a temporal float or a temporal point simplified ensuring that consecutive values are at least a certain distance or time interval apart

- `maxDistSimplify`, `douglasPeuckerSimplify`: Return a temporal float or a temporal point simplified using the Douglas-Peucker algorithm

### Reduction

- `tsample`: Sample a temporal value with respect to an interval

- `tprecision`: Reduce the temporal precision of a temporal value with respect to an interval computing the time-weighted average/centroid in each time bin

### Similarity

- `hausdorffDistance`, `frechetDistance`, `dynTimeWarpDistance`: Return the discrete Hausdorff distance, the discrete Fréchet distance, or the Dynamic Time Warp distance between two temporal values

- `frechetDistancePath`, `dynTimeWarpPath`: Return the correspondence pairs between two temporal values with respect to the discrete Fréchet distance or the Dynamic Time Warp distance

### Splitting Operations

- `splitNSpans`: Return an array of N time spans obtained by merging the instants or segments of a temporal value

- `splitEachNSpans`: Return an array of time spans obtained by merging N consecutive instants or segments of a temporal value

- `splitNTboxes`: Return an array of N temporal boxes obtained by merging the instants or segments of a temporal number

- `splitEachNTboxes`: Return an array of temporal boxes obtained by merging N consecutive instants or segments of a temporal number

- `splitNStboxes`: Return either an array of N spatial boxes obtained by merging the segments of a (multi)line or an array of N spatiotemporal boxes obtained by merging the instants or segments of a temporal point

- `splitEachNStboxes`: Return either an array of spatial boxes obtained by merging N consecutive segments of a (multi)line or an array of spatiotemporal boxes obtained by merging N consecutive instants or segments of a temporal point

### Multidimensional Tiling

#### Bin Operations

- `bins`: Return a set of bins that cover a value or time span with bins of the same width or duration

- `getBin`: Return the bin that contains a number or a timestamp

#### Tile Operations

- `valueTiles`, `timeTiles`, `valueTimeTiles`: Return the set of tiles that cover a temporal box with tiles of the same size and/or duration

- `spaceTiles`, `timeTiles`, `spaceTimeTiles`: Return the set of tiles that cover a spatiotemporal box with tiles of the same size and/or duration

- `getValueTile`, `getTboxTimeTile`, `getValueTimeTile`: Return the temporal tile that covers a value and/or a timestamp

- `getSpaceTile`, `getStboxTimeTile`, `getSpaceTimeTile`: Return the spatiotemporal tile that covers a point and/or a timestamp

#### Bounding Box Operations

- `valueBins`, `timeBins`: Return an array of value or times spans obtained from the instants or segments of a temporal number with respect to a value or time grid

- `valueBoxes`, `timeBoxes`, `valueTimeBoxes`: Return an array of temporal boxes obtained from the instants or segments of a temporal number with respect to a value and/or time grid

- `spaceBoxes`, `timeBoxes`, `spaceTimeBoxes`: Return an array of spatiotemporal boxes obtained from the instants or segments of a temporal point with respect to a space and/or time grid

#### Splitting Operations

- `valueSplit`, `timeSplit`, `valueTimeSplit`: Split a temporal number with respect to value and/or time bins

- `spaceSplit`, `spaceTimeSplit`: Split a temporal point with respect to a spatial or spatiotemporal grid

### Aggregations

- `tCount`: Temporal count

- `extent`: Bounding box extent

- `tAnd`, `tOr`: Temporal and, temporal or

- `tMin`, `tMax`, `tSum`, `tAvg`: Temporal minimum, maximum, sum, and average

- `wCount`: Window count

- `wMin`, `wMax`, `wSum`, `wAvg`: Window minimum, maximum, sum, and average

- `tCentroid`: Temporal centroid

## Temporal Poses

### Static Poses

#### Input and Output

- `asText`, `asEWKT`: Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation

- `asBinary`, `asEWKB`, `asHexEWKB`: Return the Well-Known Binary (WKB), the Extended Well-Known Binary (EWKB), or the Hexadecimal Extended Well-Known Binary (HexEWKB) representation

- `poseFromText`, `poseFromEWKT`: Input from the Well-Known Text (WKT) or from the Extended Well-Known Text (EWKT) representation

- `poseFromBinary`, `poseFromEWKB`, `poseFromHexEWKB`: Input from the Well-Known Binary (WKB), from the Extended Well-Known Binary (EWKB), or from the Hexadecimal Extended Well-Known Binary (HexEWKB) representation

#### Constructors

- `pose`: Constructors for poses

#### Conversions

- `pose::stbox`, `stbox(pose)`: Convert a pose and, optionally, a timestamp or a period, into a spatiotemporal box

- `pose::geometry`: Convert a pose into a geometry point

#### Accessors

- `point`: Return the point

- `rotation`: Return the rotation

- `orientation`: Return the orientation

#### Transformations

- `round`: Round the point and the orientation of the pose to the number of decimal places

#### Spatial Reference System

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

- `same`: Spatial similarity

#### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Traditional comparisons

### Temporal Poses

#### Input and Output

- `asText`, `asEWKT`: Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation

- `asMFJSON`: Return the Moving Features JSON (MF-JSON) representation

- `asBinary`, `asEWKB`, `asHexEWKB`: Return the Well-Known Binary (WKB), the Extended Well-Known Binary (EWKB), or the Hexadecimal Extended Well-Known Binary (HexEWKB) representation

- `tposeFromText`, `tposeFromEWKT`: Input from the Well-Known Text (WKT) or from the Extended Well-Known Text (EWKT) representation

- `tposeFromMFJSON`: Input from the Moving Features JSON (MF-JSON) representation

- `tposeFromBinary`, `tposeFromEWKB` , `tposeFromHexEWKB`: Input from the Well-Known Binary (WKB), from the Extended Well-Known Binary (EWKB), or from the Hexadecimal Extended Well-Known Binary (HexEWKB) representation

#### Constructors

- `tpose`: Constructor for temporal poses from a base value and a time value

- `tposeSeq`: Constructors for temporal poses of sequence subtype

- `tposeSeqSet`, `tposeSeqSetGaps`: Constructor for temporal poses of sequence set subtype

- `tpose`: Construct a 2D temporal pose from a temporal geometry point and a temporal float

#### Conversions

- `tpose::tgeompoint`: Convert a temporal pose into a temporal geometry point

#### Accessors

- `getValues`: Return the values

- `points`: Return the points

- `rotation`: Return the rotation

- `valueAtTimestamp`: Return the value at a timestamp

#### Transformations

- `tposeInst`, `tposeSeq` , `tposeSeqSet`: Transform to another subtype

- `setInterp`: Transform to another interpolation

- `round`: Round the points and the orientations of the temporal pose to the number of decimal places

#### Modifications

- `appendInstant`, `appendSequence`: Append a temporal instant or a temporal sequence

- `merge`: Merge the temporal poses

#### Restrictions

- `atValues`, `minusValues`: Restrict to (the complement of) a set of values

- `atGeometry`, `minusGeometry`: Restrict to (the complement of) a geometry

#### Spatial Reference System

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

#### Bounding Box Operations

- `&&, <@, @>, ~=, -|-`: Topological operators

- `<<, &<, >>, &>, <<|, &<|, |>>, |&>, <<#, &<#, #>>, |&>`: Position operators

#### Distance Operations

- `|=|`: Return the smallest distance ever

- `nearestApproachInstant`: Return the instant of the first temporal pose at which the two arguments are at the nearest distance

- `shortestLine`: Return the line connecting the nearest approach point

- `<->`: Return the temporal distance

#### Comparisons

- `=, <>, <, >, <=, >=`: Traditional comparisons

- `?=, &=`: Ever and always comparisons

- `#=, #<>`: Temporal comparisons

#### Aggregations

- `tCount`: Temporal count

- `wCount`: Window count

## Temporal Network Points

### Static Network Types

#### Constructors

- `npoint`, `nsegment`: Constructors for network points and network segments

#### Conversions

- `npoint::geometry`, `nsegment::geometry`, `geometry::npoint`, `geometry::nsegment`: Convert between a network point or segment and a geometry

#### Accessors

- `route`: Return the route identifier

- `getPosition`: Return the position fraction

- `startPosition`, `endPosition`: Return the start or end position

#### Transformations

- `round`: Round the position(s) of the network point or the network segment to the number of decimal places

#### Spatial Operations

- `SRID`: Return the spatial reference identifier

- `equals`: Spatial similarity

#### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Traditional comparisons

### Temporal Network Points

#### Constructors

- `tnpoint`: Constructor for temporal network points from a base value and a time value

- `tnpointSeq`: Constructors for temporal network points of sequence subtype

- `tnpointSeqSet`, `tnpointSeqSetGaps`: Constructor for temporal network points of sequence set subtype

#### Conversions

- `tnpoint::tgeompoint`, `tgeompoint::tnpoint`: Convert between a temporal network point and a temporal geometry point

#### Accessors

- `getValues`: Return the values

- `routes`: Return the road identifiers

- `valueAtTimestamp`: Return the value at a timestamp

- `length`: Return the length traversed by the temporal network point

- `cumulativeLength`: Return the cumulative length traversed by the temporal network point

- `speed`: Return the speed of the temporal network point in units per second

#### Transformations

- `tnpointInst`, `tnpointSeq`, `tnpointSeqSet`: Transform a temporal network point to another subtype

- `setInterp`: Transform a temporal network point to another interpolation

- `round`: Round the fraction of the temporal network point to the number of decimal places

#### Restrictions

- `atValues`, `minusValues`: Restrict to (the complement of) a set of values

- `atGeometry`, `minusGeometry`: Restrict to (the complement of) a geometry

#### Bounding Box Operations

- `&&, <@, @>, ~=, -|-`: Topological operators

- `<<, &<, >>, &>, <<|, &<|, |>>, |&>, <<#, &<#, #>>, |&>`: Position operators

#### Distance Operations

- `|=|`: Return the smallest distance ever

- `nearestApproachInstant`: Return the instant of the first temporal network point at which the two arguments are at the nearest distance

- `shortestLine`: Return the line connecting the nearest approach point between the two arguments

- `<->`: Return the temporal distance

#### Spatial Operations

- `twCentroid`: Return the time-weighted centroid

#### Comparisons

- `=, <>, <, >, <=, >=`: Traditional comparisons

- `?=, &=`: Ever and always comparisons

- `#=, #<>`: Temporal comparisons

#### Aggregations

- `tCount`: Temporal count

- `wCount`: Window count

- `tCentroid`: Temporal centroid

## Temporal Circular Buffers

### Static Circular Buffers

#### Constructors

- `cbuffer`: Constructor for circular buffers

#### Conversions

- `cbuffer::geometry`, `geometry::cbuffer`: Convert between a circular buffer and a geometry point

- `stbox`: Convert a circular buffer and, optionally, a timestamp or a period, into a spatiotemporal box

#### Accessors

- `point`: Return the point

- `radius`: Return the radius

#### Transformations

- `round`: Round the point and the radius of the circular buffer to the number of decimal places

#### Spatial Operations

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

#### Comparisons

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Traditional comparisons

### Temporal Circular Buffers

#### Input and Output

- `asText`, `asEWKT`: Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation

- `asBinary`, `asEWKB`: Return the Well-Known Binary (WKB), the Extended Well-Known Binary (EWKB), or the Hexadecimal Extended Well-Known Binary (HexEWKB) representation as text

- `tcbufferFromText`, `tcbufferFromEWKT`: Input from the Well-Known Text (WKT) or from the Extended Well-Known Text (EWKT) representation

- `tcbufferFromBinary`, `tcbufferFromEWKB`, `tcbufferFromHexEWKB`: Input from the Well-Known Binary (WKB), from the Extended Well-Known Binary (EWKB), or from the Hexadecimal Extended Well-Known Binary (HexEWKB) representation

#### Constructors

- `tcbuffer`: Constructor for temporal circular buffers having a constant value

- `tcbufferSeq`: Constructors for temporal circular buffers of sequence subtype

- `tcbufferSeqSet`, `tcbufferSeqSetGaps`: Constructor for temporal circular buffers of sequence set subtype

- `tcbuffer`: Construct a temporal circular buffer from a temporal geometry point and a temporal float

#### Conversions

- `tcbuffer::tgeompoint`: Convert a temporal circular buffer to a temporal geometry point

- `tcbuffer::tfloat`: Convert a temporal circular buffer to a temporal float

#### Accessors

- `getValues`: Return the values

- `points`, `radius`: Return the points or the radii

- `valueAtTimestamp`: Return the value at a timestamp

#### Transformations

- `tcbufferInst`, `tcbufferSeq`, `tcbufferSeqSet`: Transform a temporal circular buffer to another subtype

- `setInterp`: Transform a temporal circular buffer to another interpolation

- `round`: Round the points and the radii of the temporal circular buffer to the number of decimal places

#### Restrictions

- `atValues`, `minusValue`: Restrict to (the complement of) a set of values

- `atGeometry`, `minusGeometry`: Restrict to (the complement of) a geometry

#### Distance Operations

- `|=|`: Return the smallest distance ever between the two arguments

- `nearestApproachInstant`: Return the instant of the first temporal circular buffer at which the two arguments are at the nearest distance

- `shortestLine`: Return the line connecting the nearest approach point between the two arguments

- `<->`: Return the temporal distance

#### Spatial Operations

- `SRID`, `setSRID`: Return or set the spatial reference identifier

- `transform`, `transformPipeline`: Transform to a spatial reference identifier

- `traversedArea`: Return the area traversed by the temporal circular buffer

#### Bounding Box Operations

- `&&, <@, @>, ~=, -|-`: Topological operators

- `<<, &<, >>, &>, <<|, &<|, |>>, |&>, <<#, &<#, #>>, |&>`: Position operators

#### Spatial Relationships

- `eContains, eDisjoint, eIntersects, eTouches, eDwithin`: Possible spatial relationships

- `tContains, tDisjoint, tIntersects, tTouches, tDwithin`: Spatiotemporal relationships

#### Comparisons

- `=, <>, <, >, <=, >=`: Traditional comparisons

- `?=, &=`: Ever and always comparisons

- `#=, #<>`: Temporal comparisons

#### Aggregations

- `tCount`: Temporal count

- `wCount`: Window count

- `tCentroid`: Temporal centroid

## Temporal JSONB

### Input and Output

- `asText`: Return the Well-Known Text (WKT) representation

- `asBinary`, `asWKB`: Return the Well-Known Binary (WKB) or the Hexadecimal Well-Known Binary (HexEWKB) representation as text

- `asMFJSON`: Return the Moving Features JSON (MF-JSON) representation as text

- `tjsonbFromText`, `tjsonbFromWKT`: Input from the Well-Known Text (WKT) representation

- `tjsonbFromBinary`, `tjsonbFromHexWKB`: Input from the Well-Known Binary (WKB) or from the Hexadecimal Well-Known Binary (HexEWKB) representation

- `tjsonbFromMFJSON`: Input from the Moving Features JSON (MF-JSON) representation

### Constructors

- `tjsonb`: Constructor for temporal JSONB having a constant value

- `tjsonbSeq`: Constructors for temporal JSONB of sequence subtype

- `tjsonbSeqSet`, `tjsonbSeqSetGaps`: Constructor for temporal JSONB of sequence set subtype

### Conversions

- `tjsonb::tstzspan`: Convert a temporal JSONB to a temporal geometry point

- `tjsonb::ttext`: Convert a temporal JSONB to a temporal text

### Accessors

- `getValues`: Return the values

- `valueAtTimestamp`: Return the value at a timestamp

### Transformations

- `tjsonbInst`, `tjsonbSeq`, `tjsonbSeqSet`: Transform a temporal JSONB to another subtype

- `setInterp`: Transform a temporal JSONB to another interpolation

### Temporal JSON operations

- `->`, `->>`: Extract a field from a temporal JSON value specified by a key

- `#>`, `#>>`: Extract a field from a temporal JSON value specified by a path

- `tjson_array_element`, `tjsonb_array_element`, `tjsonb_array_element_text`: Extract an element from temporal JSON array

- `||`: Temporal JSONB concatenation

- `-`, `#-`: Temporal JSONB deletion

- `tjsonb_set`, `tjsonb_set_lax`: Temporal JSONB set

- `?`, `?|`, `?&`: Temporal JSONB exists

- `@>`, `<@`: Temporal JSONB contains/contained

- `tbool`, `tint`, `tfloat`, `ttext`: Extract a temporal alphanumeric value from a temporal JSONB value given by a key

- `tjson_strip_nulls`, `tjsonb_strip_nulls`: Return a temporal JSON value without nulls

### Restrictions

- `atValues`, `minusValue`: Restrict to (the complement of) a set of values

### Bounding Box Operations

- `&&, <@, @>, ~=, -|-`: Topological operators

- `<<#, &<#, #>>, |&>`: Position operators

### Comparisons

- `=, <>, <, >, <=, >=`: Traditional comparisons

- `?=, &=`: Ever and always comparisons

- `#=, #<>`: Temporal comparisons

### Aggregations

- `tCount`: Temporal count

- `wCount`: Window count