MobilityDB 1.4 Manual de usuario

Esteban Zimányi

Université libre de Bruxelles, Belgium

2026-09-14

Resumen

MobilityDB es una extensión del sistema de base de datos PostgreSQL y su extensión espacial PostGIS. Permite almacenar en la base de datos objetos temporales y espacio-temporales, es decir, objetos cuyos valores de atributo y/o ubicación evolucionan en el tiempo. MobilityDB incluye funciones para el análisis y procesamiento de objetos temporales y espacio-temporales y proporciona soporte para índices GiST y SP-GiST. MobilityDB es de código abierto y su código está disponible en Github. También está disponible un adaptador para el lenguaje de programación Python en Github.

MobilityDB es desarrollado por el Departamento de Ingeniería Informática y de Decisiones de la Université libre de Bruxelles (ULB) bajo la dirección del Prof. Esteban Zimányi. ULB es un miembro asociado de OGC y miembro del Grupo de trabajo de estandardización de características móviles de OGC (MF-SWG).

El manual de MobilityDB tiene una licencia Creative Commons Attribution-Share Alike 3.0 License 3. No dude en utilizar este material como desee, pero le pedimos que atribuya crédito al proyecto MobilityDB y, siempre que sea posible, un enlace a MobilityDB.


Tabla de contenidos

1. Introducción
Comité directivo del proyecto
Otros colaboradores del código
Patrocinadores
Licencias
Instalación a partir de las fuentes
Versión corta
Obtener las fuentes
Habilitación de la base de datos
Dependencias
Configuración
Construir e instalar
Pruebas
Documentación
Instalación a partir de binarios
Distribuciones de Linux basadas en Debian
Windows
Soporte
Reporte de problemas
Listas de correo
Migración de la versión 1.2 a la versión 1.3
Migración de la versión 1.3 a la versión 1.4
2. Tipos de conjunto y de rango
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de conjuntos
Operaciones de cuadro delimitador
Operaciones topológicas
Operaciones de posición
Operaciones de división
Operaciones de distancia
Comparaciones
Agregaciones
Indexación
3. Tipos de cuadro delimitador
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de división
Operaciones de conjuntos
Operaciones de cuadro delimitador
Operaciones topológicas
Operaciones de posición
Comparaciones
Aggregaciones
Indexación
4. Tipos temporales (Parte 1)
Introduction
Ejemplos de tipos temporales
Validez de los tipos temporales
Temporalización de operaciones
Notación
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
5. Tipos temporales (Parte 2)
Modificaciones
Restricciones
Operadores de cuadro delimitador
Comparaciones
Comparaciones tradicionales
Comparaciones alguna vez y siempre
Comparaciones temporales
Funciones de utilidad
6. Tipos alfanuméricos temporales
Notación
Conversión de tipos
Accessores
Transformaciones
Restrictions
Operaciones booleanas
Operaciones matemáticas
Operaciones de texto
7. Tipos temporales geométricos (Parte 1)
Tipos espaciotemporales
Funciones sobre Geometrías
Notación
Entrada y salida
Conversión de tipos
Accessores
Transformaciones
8. Tipos temporales geométricos (Parte 2)
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
9. Tipos temporales: Operaciones de análisis
Simplificación
Reducción
Similaridad
Filtro de Kalman extendido
Operaciones de división
Mosaicos multidimensionales
Operaciones de intervalos
Operaciones de mosaicos
Operaciones de cuadro delimitador
Operaciones de división
10. Tipos temporales: Agregación e indexación
Agregación
Indexación
Estadísticas y selectividad
Colecta de estadísticas
Estimación de la selectividad
11. Puntos de red temporales
Tipos de red estáticos
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Operaciones espaciales
Comparaciones
Puntos de red temporales
Validez de los puntos de red temporal
Constructores
Conversión de tipos
Entrada y Salida MF-JSON
Accessores
Transformaciones
Modificaciones
Restricciones
Operaciones espaciales
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregacions
Indexación
Agregación
12. Búferes circulares temporales
Búferes circulares estáticos
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Operaciones espaciales
Operaciones de distancia
Comparaciones
Búferes circulares temporales
Validez de los búferes circulares temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Operaciones espaciales
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Simplificación
Indexación
13. Poses temporales y cadenas de poses
Notación
Poses estáticas y cadenas de poses estáticas
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de distancia
Comparaciones
Composición de cadenas de poses
Poses temporales y cadenas de poses temporales
Validez de las poses temporales y de las cadenas de poses
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Operaciones espaciales
Simplificación
Indexación
Soporte de OGC GeoPose v1.0
Entrada y salida JSON
Renormalización de cuaterniones
Accesores de ángulos de Euler
Registro de metadatos de marcos
Transformación rígida cuerpo↔mundo
E/S JSON temporal
Documentos compuestos de cadena y de grafo
14. Geometrías rígidas temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Área recorrida
Funciones espaciales
Métricas de movimiento
Transformaciones
Modificaciones
Restricciones
Operaciones de distancia
Similitud
Operaciones de caja delimitadora
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Mosaicos
Cajas delimitadoras
Agregaciones
Indexación
15. Tipos JSON en MobilityDB
Operaciones sobre conjuntos JSONB
Valores JSONB temporales
Validez de los valores JSONB temporales
Entrada y salida
Constructores
Conversiones
Accesores
Transformaciones
Operaciones JSON temporales
Restricciones
Operaciones de caja delimitadora
Comparaciones
Agregaciones
Indexación
16. Teselaciones temporales
Notación
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Cobertura de geometrías estáticas
Inspección
Jerarquía
Conversiones de latitud y longitud
Operaciones de cuadro delimitador
Funciones métricas
Funciones que devuelven conjuntos
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Indexación
Operaciones específicas de H3
Operaciones específicas de QUADBIN
Operaciones específicas de S2
Operaciones específicas de ráster
17. Nubes de puntos temporales
Esquemas de nubes de puntos
Nubes de puntos estáticas
Constructores
Accesores
Conjuntos de nubes de puntos
Constructores
Cajas delimitadoras de nubes de puntos
Constructores
Conversiones
Accesores
Transformaciones
Operaciones de conjuntos
Operaciones topológicas
Operaciones de posición
Comparaciones
Puntos de nube de puntos temporales
Entrada y salida
Constructores
Conversiones
Accesores
Transformaciones
Modificaciones
Restricciones
Operaciones de división
Operaciones de caja delimitadora
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Parches de nube de puntos temporales
Entrada y salida
Constructores
Conversiones
Accesores
Transformaciones
Modificaciones
Restricciones
Operaciones de división
Operaciones de caja delimitadora
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Indexación
Agregaciones
A. MobilityDB Reference
Tipos de MobilityDB
Set and Span Types
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de conjuntos
Operaciones de cuadro delimitador
Operaciones de distancia
Comparaciones
Agregaciones
Box Types
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de división
Operaciones de conjuntos
Operaciones de cuadro delimitador
Comparaciones
Aggregaciones
Temporal Types
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Comparaciones
Funciones de utilidad
Temporal Alphanumeric Types
Conversión de tipos
Accessores
Transformaciones
Restrictions
Operaciones booleanas
Operaciones matemáticas
Operaciones de texto
Temporal Geometry Types
Funciones sobre Geometrías
Entrada y salida
Conversión de tipos
Accessores
Transformaciones
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Operations for Temporal Types: Analytics Operations
Simplificación
Reducción
Similaridad
Filtro de Kalman extendido
Operaciones de división
Mosaicos multidimensionales
Agregación
Temporal Poses and Pose Chains
Poses estáticas y cadenas de poses estáticas
Composición de cadenas de poses
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Operaciones espaciales
Simplificación
Soporte de OGC GeoPose v1.0
Temporal Network Points
Tipos de red estáticos
Constructores
Conversión de tipos
Entrada y Salida MF-JSON
Accessores
Transformaciones
Modificaciones
Restricciones
Operaciones espaciales
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregacions
Agregación
Temporal Circular Buffers
Búferes circulares estáticos
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Operaciones espaciales
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Simplificación
Temporal Rigid Geometries
Entrada y salida
Constructores
Conversión de tipos
Accesores
Área recorrida
Funciones espaciales
Métricas de movimiento
Transformaciones
Modificaciones
Restricciones
Operaciones de distancia
Similitud
Operaciones de caja delimitadora
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Mosaicos
Cajas delimitadoras
Agregaciones
Temporal JSON
Operaciones sobre conjuntos JSONB
Entrada y salida
Constructores
Conversiones
Accesores
Transformaciones
Operaciones JSON temporales
Restricciones
Operaciones de caja delimitadora
Comparaciones
Agregaciones
Temporal Tessellations
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Cobertura de geometrías estáticas
Inspección
Jerarquía
Conversiones de latitud y longitud
Operaciones de cuadro delimitador
Funciones métricas
Funciones que devuelven conjuntos
Relaciones siempre y alguna vez
Relaciones espaciotemporales
Comparaciones
Agregaciones
Operaciones específicas de H3
Operaciones específicas de QUADBIN
Operaciones específicas de S2
Operaciones específicas de ráster
Temporal Point Clouds
Esquemas de nubes de puntos
Nubes de puntos estáticas
Conjuntos de nubes de puntos
Cajas delimitadoras de nubes de puntos
Puntos de nube de puntos temporales
Parches de nube de puntos temporales
Agregaciones
Indexes
18. Dialecto Portable de Funciones con Nombre
B. Generador de datos sintéticos
Generador para tipos PostgreSQL
Generador para tipos PostGIS
Generador para tipos de rango, de tiempo y de cuadro delimitador MobilityDB
Generador para tipos temporales MobilityDB
Generación de tablas con valores aleatorios
Generador para tipos de red temporales
Índice

Lista de figuras

3.1. Grilla multiresolución sobre datos de Bruselas obtenidos mediante el generador BerlinMOD. Cada celda contiene como máximo 10.000 (izquierda) y 1.000 (derecha) instantes durante todo el período de simulación (cuatro días en este caso). A la izquierda, podemos ver la alta densidad de tráfico en el anillo alrededor de Bruselas, mientras que a la derecha podemos ver otros ejes principales de la ciudad.
4.1. Jerarquía de tipos temporales en MobilityDB.
5.1. Operación de inserción para valores temporales.
5.2. Operaciones de actualización y supresión para valores temporales.
5.3. Operaciones de modificación para tablas temporales en SQL.
7.1. Jerarquía de tipos espaciotemporales en MobilityDB.
7.2. Ilustración del uso de los tipos tgeompoint (arriba) y tgeometry (abajo) para modelizar la trayectoria y la franja de viento de las tormentas tropicales en 2024.
7.3. Visualización de la velocidad de un objeto móvil usando una rampa de color en QGIS.
9.1. Diferencia entre la distancia espacial y la distancia sincronizada.
9.2. Muestreo de flotantes temporales con interpolación discreta, escalonada y lineal.
9.3. Cambio de precisión de números flotantes temporales con interpolación discreta, escalonada y lineal.
9.4. Mosaicos multidimensionales para números flotantes temporales.
12.1. Ilustración del uso del tipo tcbuffer para modelar el búfer circular alrededor de la franja de viento de las tormentas tropicales en 2024.
16.1. La traza de un buque AIS que sale de Frederikshavn en las tres cuadrículas, con las celdas por las que pasa la traza sombreadas y un área marina protegida en verde. La fila superior presenta la traza completa en las resoluciones cuyas celdas son más próximas en área y delinea en negro el extracto que presenta la fila inferior, una resolución más fina en cada cuadrícula. Traza del buque y áreas protegidas de los datos AIS daneses; mapa base © colaboradores de OpenStreetMap.

Lista de tablas

1.1. Variables para la documentación del usuario y del desarrollador
A.1. Instancias actuales de los tipos de plantilla en MobilityDB