MobilityDB 1.3 Manual de usuario

Esteban Zimányi

Université libre de Bruxelles, Belgium

2026-07-15

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
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
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. Poses temporales
Poses estáticas
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Sistema de referencia espacial
Comparaciones
Soporte de OGC GeoPose v1.0
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
12. Puntos de red temporales
Tipos de red estáticos
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
Guía de producción
Cuándo usar tnpoint frente a tgeompoint
Herencia del SRID desde el registro de la red
Peligros numéricos
Durabilidad y almacenamiento
13. Búferes circulares temporales
Búferes circulares estáticos
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
14. 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
Guía de producción
Cuándo usar trgeometry frente a tpose frente a tgeometry
Convenciones de marco
Riesgos numéricos
Durabilidad y almacenamiento
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
Comparaciones
Operaciones de caja delimitadora
Agregaciones
Indexación
16. Í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
Indexación
Notas operativas
Cuándo usar th3index
Peligros específicos de H3
Durabilidad y almacenamiento
17. Í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
Indexación
Notas operativas
Cuándo usar tquadbin
Peligros específicos de QUADBIN
Durabilidad y almacenamiento
18. 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
Comparaciones
Restricciones
Operadores de caja delimitadora
Ordenación B-tree — qué significa ORDER BY tpcpoint
Relaciones espaciales
Tipo Temporal tpcpatch
Constructores
Accesores
Restricciones
Relaciones espaciales
Operadores de caja delimitadora
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 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
19. Muestreo de Ráster
Operador de Muestreo
Muestreo Raquet / QUADBIN
Operadores de Restricción y Predicado
Compilación e Instalación
Hoja de Ruta de Producción
A. Referencia de MobilityDB
Tipos de MobilityDB
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 de distancia
Comparaciones
Agregaciones
Tipos de cuadro delimitadores
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
Agregaciones
Tipos temporales
Entrada y salida
Constructores
Conversión de tipos
Accesores
Transformaciones
Modificaciones
Restricciones
Comparaciones
Funciones de utilidad
Tipos temporales alfanuméricos
Conversión de tipos
Accessores
Transformaciones
Restricciones
Operaciones booleanas
Operaciones matemáticas
Operaciones de texto
Tipos temporales geométricos
Entrada y salida
Conversión de tipos
Sistema de referencia espacial
Accesores
Transformaciones
Restricciones
Operaciones de distancia
Relaciones espaciales
Tipos temporales: Operaciones de análisis
Simplicación
Reducción
Similaridad
Operaciones de división de cuadro delimitador
Mosaicos multidimensionales
Agregaciones
Poses temporales
Poses estáticas
Poses temporales
Operaciones para puntos de red temporales
Tipos de red estáticos
Puntos de red temporales
Búferes circulares temporales
Búferes circulares estáticos
Búferes circulares temporales
Geometrías rígidas temporales
Entrada y salida
Constructores
Conversiones de tipo
Accesores
Área recorrida
Funciones espaciales
Métricas de movimiento
Modificaciones
Restricciones
Operadores de distancia
Similitud
Comparaciones
Operaciones de cuadro delimitador
Teselas
Cajas delimitadoras
Agregaciones
JSON temporal
Entrada y salida
Constructores
Conversiones de tipo
Accesores
Transformaciones
Operaciones JSON temporales
Restricciones
Operaciones de cuadro delimitador
Comparaciones
Agregaciones
Índices de celda H3 temporales
Conversiones de tipo
Cobertura geométrica estática
Accesores
Inspección del índice
Jerarquía
Conversiones de latitud/longitud
Aristas dirigidas
Vértices
Recorrido de la malla
Métricas
Comparaciones ever y always
Comparaciones temporales
Operaciones de cuadro delimitador
Funciones que devuelven conjuntos
Relaciones espaciales
Índices
Índices de celda Quadbin temporales
Conversiones de tipo
Celdas estáticas
Accesores
Inspección del índice
Jerarquía
Conversiones geométricas
Teselas y quadkeys
Métricas
Comparaciones
Índices
Nubes de Puntos Temporales
Tipos estáticos pcpoint y pcpatch
Tipos de conjunto pcpointset y pcpatchset
Cuadro delimitador tpcbox
Tipo temporal tpcpoint
Tipo temporal tpcpatch
Agregaciones
Índices
Representación binaria
Salida MF-JSON
Integración con PDAL
Puente PCL
Muestreo de Ráster
Operador de Muestreo
Muestreo Raquet / QUADBIN
Operadores de Restricción y Predicado
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.
13.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