MobilityDB 1.4 Manual de usuario

Esteban Zimányi

Université libre de Bruxelles, Belgium

2026-08-26

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.0 a la versión 1.1
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 espaciales
Relaciones alguna vez o siempre
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 de distancia
Operaciones espaciales
Operaciones de cuadro delimitador
Relaciones espaciales
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
Comparaciones
Búferes circulares temporales
Validez de los búferes circulares temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Operaciones espaciales
Operaciones de distancia
Restricciones
Comparaciones
Operaciones de cuadro delimitador
Relaciones espaciales
Agregaciones
Simplificación
Indexación
13. Poses temporales
Poses estáticas
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Operaciones de distancia
Comparaciones
Poses temporales
Validez de las poses temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones espaciales
Comparaciones
Agregaciones
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
14. Cadenas de poses
Cadenas de poses estáticas
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Comparaciones
Cadenas de poses temporales
Entrada y salida
Constructores
Conversiones
Funciones de acceso
Funciones de transformación
Sistema de referencia espacial
Cadena compuesta OGC GeoPose
Grafo compuesto OGC GeoPose
Funciones de restricción
Funciones y operadores de comparación
Operadores topológicos y de posición
Relaciones espaciales temporales
Agregaciones
15. Geometrías rígidas temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Área recorrida
Funciones espaciales
Métricas de movimiento
Modificaciones
Restricciones espaciales
Operaciones de distancia
Similitud
Comparaciones
Operadores de caja delimitadora
Mosaicos
Cajas delimitadoras
Agregaciones
Indexación
16. 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
Comparaciones
Operaciones de caja delimitadora
Agregaciones
Indexación
17. Índices de Celdas H3 Temporales
Entrada y Salida
Conversiones
Cobertura de Geometrías Estáticas
Funciones de Acceso
Inspección de Índices
Jerarquía
Conversiones de Latitud/Longitud
Aristas Dirigidas
Vértices
Recorrido de la Cuadrícula
Métricas
Comparaciones
Comparaciones Siempre y Alguna Vez
Comparaciones Temporales
Operadores de Caja Envolvente
Funciones que devuelven conjuntos
Relaciones Espaciales
Agregaciones
Indexación
18. Índices de Celdas QUADBIN Temporales
Entrada y Salida
Conversiones
Celdas Estáticas
Accesores
Inspección del Índice
Jerarquía
Conversiones de Geometría
Teselas y Quadkeys
Métricas
Comparaciones
Agregaciones
Indexación
19. Nubes de Puntos Temporales
Inicio rápido
Registrar un esquema
Construir valores base y temporales
Consultar con la superficie bbox
Índice para búsquedas impulsadas por bbox
Agregación
Acceso por punto
¿Qué sigue?
Tipos estáticos pcpoint y pcpatch
Constructores ergonómicos
Funciones de acceso
Tipos de conjunto pcpointset y pcpatchset
Constructores
Caja Delimitadora tpcbox
Constructores
Conversiones
Accesores
Transformaciones
Operaciones de conjuntos
Operadores Topológicos
Operadores de Posición
Comparaciones
Tipo Temporal tpcpoint
Constructores
Funciones de Acceso
Proyecciones por Dimensión
Conversiones
Transformaciones
Comparaciones
Restricciones
Modificaciones
Fragmentación
Operadores de caja delimitadora
Ordenación B-tree, qué significa ORDER BY tpcpoint
Relaciones espaciales
Relaciones espaciales temporales
Tipo Temporal tpcpatch
Constructores
Accesores
Transformaciones
Restricciones
Modificaciones
Fragmentación
Relaciones espaciales
Conversiones
Relaciones espaciales temporales
Operadores de caja delimitadora
Comparaciones
Ordenación B-tree, qué significa ORDER BY tpcpatch
Operaciones por punto: qué está y qué no está disponible
Índices
Agregaciones
Representación binaria y portabilidad
Salida de texto
Salida MF-JSON
Integración con PDAL: readers.tpcpatch y writers.tpcpatch
readers.tpcpatch
writers.tpcpatch
Esquemas de compresión soportados
Limitaciones
Puente PCL: filtros invocables desde SQL y registro
Advertencias
20. Muestreo de Ráster
Operador de Muestreo
Accesores de Ráster
Muestreo Raquet / QUADBIN
Serialización de Raquet
Accesores y Comparación de Raquet
Operadores de Restricción y Predicado
Compilación e Instalación
Hoja de Ruta de Producción
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 espaciales
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
Poses estáticas
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Sistema de referencia espacial
Operaciones de cuadro delimitador
Operaciones de distancia
Relaciones espaciales
Comparaciones
Agregaciones
Soporte de OGC GeoPose v1.0
Pose Chains
Cadenas de poses estáticas
Cadenas de poses temporales
Temporal Network Points
Tipos de red estáticos
Constructores
Conversión de tipos
Entrada y Salida MF-JSON
Accessores
Transformaciones
Modificaciones
Restricciones
Operaciones de distancia
Operaciones espaciales
Operaciones de cuadro delimitador
Relaciones espaciales
Comparaciones
Agregacions
Agregación
Temporal Circular Buffers
Búferes circulares estáticos
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Operaciones espaciales
Operaciones de distancia
Restricciones
Comparaciones
Operaciones de cuadro delimitador
Relaciones espaciales
Agregaciones
Simplificación
Temporal Rigid Geometries
Entrada y salida
Constructores
Conversión de tipos
Accesores
Área recorrida
Funciones espaciales
Métricas de movimiento
Modificaciones
Restricciones espaciales
Operaciones de distancia
Similitud
Comparaciones
Operadores de caja delimitadora
Mosaicos
Cajas delimitadoras
Agregaciones
Temporal JSON
Operaciones sobre conjuntos JSONB
Entrada y salida
Constructores
Conversiones
Accesores
Transformaciones
Operaciones JSON temporales
Restricciones
Comparaciones
Operaciones de caja delimitadora
Agregaciones
Temporal H3 Cell Indices
Conversiones
Cobertura de Geometrías Estáticas
Funciones de Acceso
Inspección de Índices
Jerarquía
Conversiones de Latitud/Longitud
Aristas Dirigidas
Vértices
Recorrido de la Cuadrícula
Métricas
Comparaciones
Operadores de Caja Envolvente
Funciones que devuelven conjuntos
Relaciones Espaciales
Agregaciones
Indexación
Temporal Quadbin Cell Indices
Conversiones
Celdas Estáticas
Accesores
Inspección del Índice
Jerarquía
Conversiones de Geometría
Teselas y Quadkeys
Métricas
Agregaciones
Indexación
Comparisons
Temporal Point Clouds
Inicio rápido
Tipos estáticos pcpoint y pcpatch
Tipos de conjunto pcpointset y pcpatchset
Caja Delimitadora tpcbox
Tipo Temporal tpcpoint
Tipo Temporal tpcpatch
Agregaciones
Salida de texto
Salida MF-JSON
Indexes
Binary Representation
PDAL Integration
PCL Bridge
Raster Sampling
Operador de Muestreo
Accesores de Ráster
Muestreo Raquet / QUADBIN
Serialización de Raquet
Accesores y Comparación de Raquet
Operadores de Restricción y Predicado
21. 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.
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.

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