# Referencia de MobilityDB

## Tipos de MobilityDB

MobilityDB define cuatro tipos de plantilla (o template types) que actúan como constructores de tipos sobre tipos de base. Estos tipos de plantilla son `set`, `span`, `spanset` y `temporal`. templatetypes muestra los tipos definidos sobre estos tipos de plantilla. Además, MobilityDB define dos tipos de cuadros delimitadores, a saber, `tbox` y `stbox`.

## Instancias actuales de los tipos de plantilla en MobilityDB

Tipos de base | Tipos de plantilla
`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`
`geography` | `geogset` | `` | `` | `tgeogpoint`
`npoint` | `npointset` | `` | `` | `tnpoint`

## Tipos de conjunto y de rango

### Entrada y salida

- `asText`: Devuelve la representación textual conocida (Well-Known Text o WKT)

- `asBinary`, `asHexWKB`: Devuelve la representación binaria conocida (Well-Known Binary o WKB) o la representación hexadecimal binaria conocida (HexWKB)

- `settypeFromBinary`, `spantypeFromBinary`, `spansettypeFromBinary`, `settypeFromHexWKB`, `spantypeFromHexWKB`, `spansettypeFromHexWKB`: Entrar a partir de la representación binaria conocida (WKB) o a partir de la representación hexadecimal binaria conocida (HexWKB)

### Constructores

- `set`: Constructor para valores de conjunto

- `span`: Constructores para valores de rango

- `spanset`: Constructores para valores de conjunto de rangos

### Conversión de tipos

- `::`, `set(base)`, `span(base)`, `spanset(base)`: Convertir un valor de base en un valor de conjunto, de rango o de conjunto de rangos

- `::`, `spanset(set)`: Convertir un valor de conjunto en un valor de conjunto de rangos

- `::`, `spanset(span)`: Convertir un rango a un conjunto de rangos

- `::`, `span(range)`, `range(span)`: Convertir un rango de MobilityDB hacia y desde un rango PostgreSQL

- `::`, `multirange(spanset)`, `spanset(multirange)`: Convertir un rango PostgreSQL a un rango MobilityDB

### Accesores

- `memSize`: Devuelve el tamaño de la memoria en bytes

- `lower`, `upper`: Devuelve el límite inferior o superior

- `lowerInc`, `upperInc`: ¿Es el límite inferior o superior inclusivo?

- `width`: Devuelve el ancho del rango como un número de punto flotante

- `duration`: Devuelve el intervalo de tiempo

- `span`: Devuelve el lapso de tiempo delimitador ignorando las posibles brechas de tiempo

- `numValues`, `getValues`: Devuelve el número de valores o los valores

- `startValue`, `endValue`, `valueN`: Devuelve el valor inicial, final o enésimo

- `numSpans`, `spans`: Devuelve el número de rangos o los rangos

- `startSpan`, `endSpan`, `spanN`: Devuelve el rango inicial, final o enésimo

- `numDates`, `dates`: Devuelve el número de fechas o las fechas diferentes

- `startDate`, `endDate`, `dateN`: Devuelve la fecha inicial, final o enésima

- `numTimestamps`, `timestamps`: Devuelve el número de marcas de tiempo o las marcas de tiempo diferentes

- `startTimestamp`, `endTimestamp`, `timestampN`: Devuelve la marca de tiempo inicial, final o enésima

### Transformaciones

- `expand`: Extender o reducir los límites con un valor o intervalo de tiempo

- `shift`: Desplazar con un valor o intervalo de tiempo

- `scale`: Escalar con un valor o intervalo de tiempo

- `shiftScale`: Desplazar y escalar con los valores o intervalos de tiempo

- `floor`, `ceil`: Redondear al entero inferior o superior

- `round`: Redondear a un número de decimales

- `degrees`, `radians`: Convertir a grados o radianes

- `lower`, `upper`, `initcap`: Transformar en minúsculas, majúsculas o initcap

- `||`: Concatenación de texto

- `tprecision`: Establecer la precisión temporal al intervalo con respecto al origen

### Sistema de referencia espacial

- `SRID`, `setSRID`: Devuelve o especifica el identificador de referencia espacial

- `transform`, `transformPipeline`: Transformar a una referencia espacial diferente

### Operaciones de conjuntos

- `+`, `-`, `*`: Unión, diferencia e intersección de conjuntos o de rangos

### Operaciones de cuadro delimitador

#### Operaciones topológicas

- `&&`: ¿Se superponen los valores (tienen valores en común)?

- `@>`: ¿Contiene el primer valor el segundo?

- `<@`: ¿Está el primer valor contenido en el segundo?

- `-|-`: ¿Es el primer valor adyacente al segundo?

#### Operaciones de posición

- `<<`, `<<#`: ¿Está el primer valor estrictamente a la izquierda del segundo?

- `>>`, `#>>`: ¿Está el primer valor de rango estrictamente a la izquierda del segundo?

- `&<`, `&<#`: ¿No está el primer valor a la derecha del segundo?

- `&>`, `#&>`: ¿No está el primer valor a la izquierda del segundo?

#### Operaciones de división

- `splitNSpans`: Devuelve una matriz de N rangos obtenida fusionando los elementos de un conjunto o los rangos de un conjunto de rangos

- `splitEachNSpans`: Devuelve una matriz de rangos obtenida fusionando N elementos consecutivos de un conjunto o N rangos consecutivos de un conjunto de rangos

### Operaciones de distancia

- `<->`: Devuelve la distancia mínima

### Comparaciones

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Comparaciones tradicionales

### Agregaciones

- `tCount`: Conteo temporal

- `extent`: rango o período delimitador

- `setUnion`, `spanUnion`: Unión agregada

## Tipos de cuadro delimitadores

### Entrada y salida

- `asText`: Devuelve la representación textual conocida (Well-Known Text o WKT)

- `asBinary`, `asHexWKB`: Devuelve la representación binaria conocida (Well-Known Binary o WKB) o la representación hexadecimal binaria conocida (HexWKB)

- `boxFromBinary`, `boxFromHexWKB`: Entrar a partir de la representación binaria conocida (WKB) o a partir de la representación hexadecimal binaria conocida (HexWKB)

### Constructores

- `tbox`: Constructor para `tbox`

- `stboxX, stboxZ, stboxT, stboxXT, stboxZY, geodstboxZ, geodstboxT, geodstboxZT`: Constructor para `stbox`

### Conversión de tipos

- `tbox::type`: Convertir un `tbox` a otro tipo

- `type::tbox`: Convertir otro tipo a un `tbox`

- `stbox::type`: Convertir un `stbox` a otro tipo

- `type::stbox`: Convertir otro tipo a un `stbox`

### Accesores

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

- `isGeodetic`: ¿Es geodética?

- `xMin`, `yMin`, `zMin`, `tMin`: Devuelve el valor mínimo de X/Y/Z/T

- `xMax`, `yMax`, `zMax`, `tMax`: Devuelve el valor máximo de X/Y/Z/T

- `xMinInc`, `tMinInc`: Es el mínimo valor X/T inclusivo?

- `xMaxInc`, `tMaxInc`: Es el máximo valor X/T inclusivo?

- `area`, `volume`, `perimeter`: Área, volumen, perímetro

### Transformaciones

- `shiftValue`, `scaleValue`, `shiftScaleValue`: Desplazar y/o escalear el rango de valores de un cuadro delimitador con uno o dos valores

- `shiftTime`, `scaleTime`, `shiftScaleTime`: Desplazar y/o escalear el período de un cuadro delimitador con uno o dos intervalo

- `getSpace`: Devuelve la dimensión espacial de un cuadro delimitador, eliminando la dimensión temporal, si existe

- `expandValue`, `expandSpace`, `expandTime`: Extender la dimensión numérica, espacial, o temporal de un cuadro delimitador con un valor o un intervalo

- `round`: Redondear el valor o las coordenadas de un cuadro delimitador a un número de posiciones decimales

### Sistema de referencia espacial

- `SRID`, `setSRID`: Devuelve o especifica el identificador de referencia espacial

- `transform`, `transformPipeline`: Transformar a una referencia espacial diferente

### Operaciones de división

- `quadSplit`: Dividir un cuadro delimitador en cuadrantes u octantes

### Operaciones de conjuntos

- `+`, `*`: Union e intersección de dos cuadros delimitadores

### Operaciones de cuadro delimitador

#### Operaciones topológicas

- `&&`: ¿Se superponen los cuadros delimitadores?

- `@>`: ¿Contiene el primer cuadro delimitador el segundo?

- `<@`: ¿Está el primer cuadro delimitador contenido en el segundo?

- `~=`: ¿Son los cuadros delimitadores iguales en sus dimensiones comunes?

- `-|-`: ¿Son los cuadros delimitadores adyacentes?

- `<<`, `<<|`, `<</`, `<<#`: ¿Son los valores X/Y/Z/T del primer cuadro delimitador estrictamente mayores que los del segundo?

- `>>`, `|>>`, `/>>`, `#>>`: ¿Son los valores X/Y/Z/T del primer cuadro delimitador estrictamente mayores que los del segundo?

- `&<`, `&<|`, `&</`, `&<#`: ¿No son los valores X/Y/Z/T del primer cuadro delimitador mayores que los del segundo?

- `&>`, `|&>`, `/&>`, `#&>`: ¿No son los valores X/Y/Z/T del primer cuadro delimitador menores que los del segundo?

#### Operaciones de posición

- `<<`, `<<|`, `<</`, `<<#`: ¿Son los valores X/Y/Z/T del primer cuadro delimitador estrictamente mayores que los del segundo?

- `>>`, `|>>`, `/>>`, `#>>`: ¿Son los valores X/Y/Z/T del primer cuadro delimitador estrictamente mayores que los del segundo?

- `&<`, `&<|`, `&</`, `&<#`: ¿No son los valores X/Y/Z/T del primer cuadro delimitador mayores que los del segundo?

- `&>`, `|&>`, `/&>`, `#&>`: ¿No son los valores X/Y/Z/T del primer cuadro delimitador menores que los del segundo?

### Comparaciones

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Comparaciones tradicionales

### Agregaciones

- `extent`: Extensión del cuadro delimitador

## Tipos temporales

### Entrada y salida

- `asText`: Devuelve la representación Well-Known Text (WKT)

- `asMFJSON`: Devuelve la representación Moving Features JSON (MF-JSON)

- `asBinary`, `asHexWKB`: Devuelve la representación Well-Known Binary (WKB) o la representación Hexadecimal Well-Known Binary (HexWKB)

- `ttypeFromMFJSON`: Entrar a partir de la representación Moving Features JSON (MF-JSON)

- `ttypeFromBinary`, `ttypeFromHexWKB`: Entrar a partir de la representación Well-Known Binary (WKB) o a partir de la representación Hexadecimal Well-Known Binary (HexWKB)

### Constructores

- `ttype`: Constructor de tipos temporales a partir de un valor base y un valor de tiempo

- `ttypeSeq`: Constructor para tipos temporales de subtipo secuencia

- `ttypeSeqSet`, `ttypeSeqSetGaps`: Constructor para tipos temporales de subtipo conjunto de secuencias

### Conversión de tipos

- `ttype::tstzspan`: Convertir un valor temporal a un rango de marcas de tiempo

### Accesores

- `memSize`: Devuelve el tamaño de la memoria en bytes

- `tempSubtype`: Devuelve el subtipo temporal

- `interp`: Devuelve la interpolación

- `getValue`, `getTimestamp`: Devuelve el valor o el tiempo del instante

- `getValues`, `getTime`: Devuelve los valores o el tiempo en el que se define el valor temporal

- `startValue`, `endValue`, `valueN`: Devuelve el valor inicial, final o enésimo

- `valueAtTimestamp`: Devuelve el valor en una marca de tiempo

- `duration`: Devuelve el intervalo de tiempo

- `lowerInc`, `upperInc`: ¿Es el instante inicial/final inclusivo?

- `numInstants`, `instants`: Devuelve el número o los instantes diferentes

- `startInstant`, `endInstant`, `instantN`: Devuelve el instante inicial, final o enésimo

- `numTimestamps`, `timestamps`: Devuelve el número o las marcas de tiempo diferentes

- `startTimestamp`, `endTimestamp`, `timestampN`: Devuelve la marca de tiempo inicial, final o enésima

- `numSequences`, `sequences`: Devuelve el número o las secuencias

- `startSequence`, `endSequence`, `sequenceN`: Devuelve la secuencia inicial, final o enésima

- `segments`: Devuelve los segmentos

### Transformaciones

- `ttypeInst, ttypeSeq, ttypeSeqSet`: Transformar un valor temporal en otro subtipo

- `setInterp`: Transformar un valor temporal a otra interpolación

- `shiftTime`, `scaleTime`, `shiftScaleTime`: Desplazar y/o escalear el intervalo de tiempo del valor temporal con uno o dos intervalos

- `unnest`: Transformar un valor temporal no lineal en un conjunto de filas, cada una compuesta de un valor base y un conjunto de períodos durante el cual el valor temporal tiene el valor de base

### Modificaciones

- `insert`: Insertar un valor temporal en otro

- `update`: Actualizar un valor temporal con otro

- `deleteTime`: Eliminar de un valor temporal los instantes que intersectan un valor de tiempo

- `appendInstant`: Anexar un instante temporal a un valor temporal

- `appendSequence`: Anexar una secuencia temporal a un valor temporal

- `merge`: Fusionar los valores temporales

### Restricciones

- `atValues`, `minusValues`: Restringir a (al complemento de) un conjunto de valores

- `atTime`, `minusTime`: Restringir a (al complemento de) un valor de tiempo

### Comparaciones

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Comparaciones tradicionales

- `?=`, `%=`, `?<>`, `%<>`, `?<`, `%<`, `?>`, `%>`, `?<=`, `%<=`, `?>=`, `%>=`: Comparaciones alguna vez y siempre

- `#=`, `#<>`, `#<`, `#>`, `#<=`, `#>=`: Comparaciones temporales

### Funciones de utilidad

- `mobilitydb_version`: Versión de la extensión MobilityDB

- `mobilitydb_full_version`: Versión de la extensión MobilityDB y de sus dependencias

## Tipos temporales alfanuméricos

### Conversión de tipos

- `tnumber::{span,tbox}`, `valueSpan(tnumber)`, `timeSpan(tnumber)`, `tbox(tnumber)`: Convertir un número temporal en un rango o un cuadro delimitador temporal

- `tbool::tint`, `tint(tbool)`: Convertir entre un booleano temporal y un entero temporal

- `tint::tfloat`, `tfloat::tint`, `tfloat(tint)`, `tint(tfloat)`: Convertir entre un entero temporal y un flotante temporal

### Accessores

- `valueSet`: Devuelve el conjunto de valores de un número temporal

- `minValue`, `maxValue`, `avgValue`: Devuelve el valor mínimo, máximo, o promedio

- `minInstant`, `maxInstant`: Devuelve el instante con el valor mínimo o máximo

### Transformaciones

- `shiftValue`, `scaleValue`, `shiftScaleValue`: Desplazar y/o escalear el rango de valores de un número temporal con uno o dos valores

- `stops`: Extraer de un flotante temporal con interpolación lineal las subsecuencias donde los valores permanecen dentro de un rango con un ancho dado durante al menos una duración dada

### Restricciones

- `atMin`, `atMax`, `minusMin`, `minusMax`: Restringir al (complemento del) valor mínimo o máximo

- `atTbox`, `minusTbox`: Restringir a (al complemento de) un `tbox`

### Operaciones booleanas

- `&`, `|`: Y temporal, o temporal

- `~`: No temporal

- `whenTrue`: Devuelve el tiempo cuando un booleano temporal toma el valor verdadero

### Operaciones matemáticas

- `+`, `-`, `*`, `/`: Adición, resta, multiplicación y división temporal

- `abs`: Devuelve el valor absoluto de un número temporal

- `floor`, `ceil`: Redondear al entero inferior o superior

- `round`: Redondear a un número de posiciones decimales

- `degrees`, `radians`: Convertir a grados o radianes

- `deltaValue`: Devuelve la diferencia de valor entre instantes consectivos de un número temporal

- `trend`: Devuelve la tendencia de un flotante temporal con interpolación lineal, que indica si su valor es creciente, constante o decreciente, representado, respectivamente, por 1, 0 y -1.

- `derivative`: Devuelve la derivada sobre el tiempo de un número flotante temporal en unidades por segundo

- `integral`: Devuelve el area baja la curva

- `twAvg`: Devuelve el promedio ponderado en el tiempo

- `ln`, `log10`: Devuelve el logaritmo natural y el logaritmo base 10 de un número flotante temporal

- `exp`: Devuelve el exponencial (e elevado a la potencia dada) de un número flotante temporal

### Operaciones de texto

- `||`: Concatenación de texto

- `lower`, `upper`, `initcap`: Transformar en minúsculas, mayúsculas o initcap

## Tipos temporales geométricos

### Entrada y salida

- `asText`, `asEWKT`: Devuelve la representación de texto conocido (Well-Known Text o WKT) o la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

- `asMFJSON`: Devuelve la representación JSON de características móviles (Moving Features JSON o MF-JSON)

- `asBinary`, `asEWKB`, `asHexEWKB`: Devuelve la representación binaria conocida (Well-Known Binary o WKB), la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), o la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o EWKB) en formato texto

- `tspatialFromText`, `tspatialFromEWKT`: Entrar a partir de la representación de texto conocido (Well-Known Text o WKT) o de la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

- `tspatialFromMFJSON`: Entrar a partir de la representación JSON de características móviles (Moving Features JSON o MF-JSON)

- `tspatialFromBinary`, `tspatialFromEWKB`, `tspatialFromHexEWKB`: Entrar a partir de la representación binaria conocida (Well-Known Binary o WKB), de la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), o de la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o EWKB)

### Conversión de tipos

- `::`, `stbox(tspatial)`: Convertir un valor espaciotemporal a un cuadro delimitador espaciotemporal

- `tgeometry::tgeography`, `tgeography::tgeometry`, `tgeompoint::tgeogpoint`, `tgeogpoint::tgeompoint`: Convertir entre una geometría temporal y una geografía temporal

- `tgeompoint::geometry, tgeogpoint::geography`, `geometry::tgeompoint, geography::tgeogpoint`: Convertir entre un punto temporal y una trayectoria PostGIS

### Sistema de referencia espacial

- `SRID`, `setSRID`: Devuelve o especifica el identificador de referencia espacial

- `transform`, `transformPipeline`: Transformar a una referencia espacial diferente

### Accesores

- `trajectory`, `traversedArea`: Devuelve la trayectoria or el área atravesada

- `twCentroid`: Devuelve el centroide ponderado en el tiempo

- `getX`, `getY`, `getZ`: Devuelve los valores de las coordenadas X/Y/Z como un número flotante temporal

- `isSimple`: Devuelve verdadero si el punto temporal no se auto-intersecta espacialmente

- `length`: Devuelve la longitud atravesada por el punto temporal

- `cumulativeLength`: Devuelve la longitud acumulada atravesada por el punto temporal

- `speed`: Devuelve la velocidad del punto temporal en unidades por segundo

- `direction`: Devuelve la dirección

- `azimuth`: Devuelve el acimut temporal

- `angularDifference`: Devuelve la diferencia angular temporal

- `bearing`: Devuelve el rumbo temporal

### Transformaciones

- `round`: Redondear los valores de las coordenadas a un número de decimales

- `makeSimple`: Devuelve una matriz de fragmentos del punto temporal que son simples

- `geoMeasure`: Construir una geometría/geografía con medida M a partir de un punto temporal y un número flotante temporal

- `affine`: Devuelve la transformación afín 3D de un punto temporal para hacer cosas como trasladar, rotar y escalar en un solo paso

- `rotate`: Devuelve un punto temporal rotado en sentido antihorario alrededor del punto de origen

- `scale`: Devuelve un punto temporal escalado por factores dados

- `asMVTGeom`: Transformar un punto geométrico temporal en el espacio de coordenadas de un Mapbox Vector Tile

- `stops`: Extraer de un punto temporal con interpolación lineal las subsecuencias donde el punto permanece dentro de un área con un tamaño máximo especificado durante al menos la duración dada

### Restricciones

- `atGeometry`, `minusGeometry`: Restringir a (al complemento de) una geometría, un lapso Z y/o un período

- `atStbox`, `minuStbox`: Restringir a (al complemento de) un `stbox`

### Operaciones de distancia

- `|=|`: Devuelve la distancia mínima que haya existido

- `nearestApproachInstant`: Devuelve el instante del primer punto temporal en el que los dos argumentos están a la distancia más cercana

- `shortestLine`: Devuelve la línea que conecta el punto de aproximación más cercano

- `<->`: Devuelve la distancia temporal

### Relaciones espaciales

#### Relaciones alguna vez o siempre

- `eContains`, `aContains`: Contiene alguna vez o siempre

- `eDisjoint`, `aDisjoint`: Es disjunto alguna vez o siempre

- `eDwithin`, `aDwithin`: Está alguna vez o siempre a distancia de

- `eIntersects`, `aIntersects`: Cruza alguna vez o siempre

- `eTouches`, `aTouches`: Toca alguna vez o siempre

#### Relaciones espaciotemporales

- `tContains`: Contiene temporal

- `tDisjoint`: Disjunto temporal

- `tDwithin`: Estar a distancia de temporal

- `tIntersects`: Intersección temporal

- `tTouches`: Toca temporal

## Tipos temporales: Operaciones de análisis

### Simplicación

- `minDistSimplify`, `minTimeDeltaSimplify`: Simplificar un flotante o un punto temporal asegurándose de que los valores consecutivos estén al menos separados por una cierta distancia o intervalo de tiempo

- `maxDistSimplify`, `douglasPeuckerSimplify`: Simplificar un flotante o un punto temporal usando el algoritmo de Douglas-Peucker

### Reducción

- `tsample`: Muestrear un valor temporal con respecto a un intervalo

- `tprecision`: Reducir la precisión temporal de un valor temporal con respecto a un intervalo calculando el promedio/centroide ponderado por el tiempo en cada intervalo de tiempo

### Similaridad

- `hausdorffDistance`, `frechetDistance`, `dynTimeWarpDistance`: Devuelve la distancia de Hausdorff discreta, la distancia de Fréchet discreta o la distancia de distorsión de tiempo dinámica (Dynamic Time Warp) entre dos valores temporales

- `frechetDistancePath`, `dynTimeWarpDistance`: Devuelve las parejas de correspondencia entre dos valores temporales con respecto a la distancia de Fréchet discreta o a la distancia de distorsión de tiempo dinámica (Dynamic Time Warp)

### Operaciones de división de cuadro delimitador

- `splitNSpans`: Devuelve una matriz de N rangos de tiempo obtenida fusionando los instantes o segmentos de un valor temporal

- `splitEachNSpans`: Devuelve una matriz de rangos de tiempo obtenida fusionando N instantes o segmentos consecutivos de un valor temporal

- `splitNTboxes`: Devuelve una matriz de N cuadros temporales obtenida fusionando los instantes o segmentos de un número temporal

- `splitEachNTboxes`: Devuelve una matriz de cuadros temporales obtenida fusionando N instantes o segmentos consecutivos de un número temporal

- `splitNStboxes`: Devuelve ya sea una matriz de N cuadros espaciales obtenida fusionando los segmentos de una (multi)línea o una matriz de N cuadros espaciotemporales obtenida fusionando los instantes o segmentos de un punto temporal

- `splitEachNStboxes`: Devuelve ya sea una matriz de cuadros espaciales obtenida fusionando N segmentos consecutivos de una (multi)línea o una matriz de cuadros espaciotemporales obtenida fusionando N instantes o segmentos consecutivos de un punto temporal

### Mosaicos multidimensionales

#### Operaciones de intervalos

- `bins`: Devuelve un conjunto de intervalos que cubre un rango de valores o de tiempo con intervalos de la misma amplitud or duración

- `getBin`: Devuelve el intervalo que contiene un número o una marca de tiempo

#### Operaciones de mosaico

- `valueTiles`, `timeTiles`, `valueTimeTiles`: Devuelve el conjunto de mosaicos que cubre un cuadro delimitador temporal con mosaicos del mismo tamaño y/o duración

- `spaceTiles`, `timeTiles`, `spaceTimeTiles`: Devuelve el conjunto de mosaicos que cubre un cuadro delimitador espaciotemporal con mosaicos del mismo tamaño y/o duración

- `getValueTile`, `getTboxTimeTile`, `getValueTimeTile`: Devuelve el mosaico temporal que cubre un valor y/o una marca de tiempo

- `getSpaceTile`, `getStboxTimeTile`, `getSpaceTimeTile`: Devuelve el mosaico espaciotemporal que cubre un punto y/o una marca de tiempo

#### Operaciones de cuadro delimitador

- `valueBins`, `timeBins`: Devuelve una matriz de intervalos de valores or de tiempo obtenidos a partir de los instantes o segmentos de un número temporal con respecto a un mosaico de valores o de tiempo

- `valueBoxes`, `timeBoxes`, `valueTimeBoxes`: Devuelve una matriz de cuadros temporales obtenidos a partir de los instantes o segmentos de un número temporal con respecto a un mosaico de valores y/o tiempo

- `spaceBoxes`, `timeBoxes`, `spaceTimeBoxes`: Devuelve una matriz de cuadros espaciotemporales obtenidos a partir de los instantes o segmentos de un punto temporal con respecto a un mosaico espacial y/o temporal

#### Operaciones de división

- `valueSplit`, `timeSplit`, `valueTimeSplit`: Fragmentar un número temporal con respecto a intervalos de valores y/o de tiempo

- `spaceSplit`, `spaceTimeSplit`: Fragmentar un punto temporal con respecto a los mosaicos de una malla espacial o espacio-temporal

### Agregaciones

- `tCount`: Conteo temporal

- `extent`: Extensión del cuadro delimitador

- `tAnd`, `tOr`: Y, o temporal

- `tMin`, `tMax`, `tSum`, `tAvg`: Mínimo, máximo, suma y promedio temporal

- `wCount`: Conteo de ventana

- `wMin`, `wMax`, `wSum`, `wAvg`: Mínimo, máximo, suma y promedio de ventana

- `tCentroid`: Centroide temporal

## Operaciones para puntos de red temporales

### Tipos de red estáticos

#### Constructores

- `npoint`, `nsegment`: Constructores para puntos y segmentos de red

#### Conversiones de tipo

- `npoint::geometry`, `nsegment::geometry`, `geometry::npoint`, `geometry::nsegmnt`: Convertir entre un punto o un segmento de red y una geometría

#### Accesores

- `route`: Devuelve el identificador de ruta

- `getPosition`: Devuelve la fracción de posición

- `startPosition`, `endPosition`: Devuelve la posición inicial o final

#### Transformaciones

- `round`: Redondear la(s) posición(es) del punto de red or el segmento de red en el número de posiciones decimales

#### Operaciones espaciales

- `SRID`: Devuelve el identificador de referencia espacial

- `equals`: Igualdad espacial para puntos de red

#### Comparaciones

- `=`, `<>`, `<`, `>`, `<=`, `>=`: Comparaciones tradicionales

### Puntos de red temporales

#### Constructores

- `tnpoint`: Constructor para puntos de red temporal a partir de un valor base y un valor de tiempo

- `tnpointSeq`: Constructor para puntos de red temporal de subtipo secuencia

- `tnpointSeqSet`, `tnpointSeqSetGaps`: Constructor para puntos de red temporal de subtipo conjunto de secuencias

#### Conversión de tipos

- `tnpoint::tgeompoint`, `tgeompoint::tnpoint`: Convertir entre un punto de red temporal en un punto de geometría temporal

#### Accesores

- `getValues`: Devuelve los valores

- `routes`: Devuelve los identificadores de ruta

- `valueAtTimestamp`: Devuelve el valor en una marca de tiempo

- `length`: Devuelve la longitud atravesada por el punto de red temporal

- `cumulativeLength`: Devuelve la longitud acumulada atravesada por el punto de red temporal

- `speed`: Devuelve la velocidad del punto de red temporal en unidades por segundo

#### Transformaciones

- `tnpointInst, tnpointSeq, tnpointSeqSet`: Transformar un punto de red temporal en otro subtipo

- `setInterp`: Transformar un punto de red temporal en otra interpolación

- `round`: Redondear la fracción del punto de red temporal en el número de posiciones decimales

#### Restricciones

- `atValues`, `minusValues`: Restringir a (al complemento de) un valor

- `atGeometry`, `minusGeometry`: Restringir a (al complemento de) una geometría

#### Operadores de distancia

- `|=|`: Devuelve la distancia más cercana

- `nearestApproachInstant`: Devuelve el instante del primer punto de red temporal en el que los dos argumentos están a la distancia más cercana

- `shortestLine`: Devuelve la línea que conecta el punto de aproximación más cercano entre los dos argumentos

- `<->`: Devuelve la distancia temporal

#### Operaciones espaciales

- `twCentroid`: Devuelve el centroide ponderado en el tiempo

#### Operaciones de cuadro delimitador

- `&&, <@, @>, ~=, -|-`: Operadores topológicos

- `<<, &<, >>, &>, <<|, &<|, |>>, |&>, <<#, &<#, #>>, |&>`: Operadores de posición relativa

#### Relaciones espaciales

- `eContains`, `aContains`, `eDisjoint`, `aDisjoint`, `eIntersects`, `aIntersects`, `eTouches`, `aTouches`, `eDwithin`, `aDwithin`: Relaciones espaciales alguna vez o siempre

- `tContains`, `tDisjoint`, `tIntersects`, `tTouches`, `tDwithin`: Relaciones espaciales temporales

#### Comparaciones

- `=, <>, <, >, <=, >=`: Comparaciones tradicionales

- `?=, &=`: Comparaciones siempre y alguna vez

- `#=, #<>`: Comparaciones temporales

#### Agregaciones

- `tCount`: Conteo temporal

- `wCount`: Conteo de ventana

- `tCentroid`: Centroide temporal