Terms
Lindorm supports storing, querying, and analyzing spatio-temporal trajectory data generated by moving objects.
Moving object: An object that generates timestamped information as it moves. For example, an aircraft in flight has a status (such as in-flight or parked), position (latitude and longitude), altitude, and speed at a given time t.
Spatio-temporal trajectory: A data model in a moving object database that records continuous changes in an object's position. For more information, see Terms. A moving object database supports basic operations, queries, and analysis on spatio-temporal trajectory data.
Lindorm Ganos provides the following core features for spatio-temporal trajectory data:
Low-cost trajectory storage
-
Batch writing of trajectory points: Write 2D trajectory points with timestamps and custom properties in batches.
-
Trajectory storage models: Two storage models are available: point models and line models. A line model combined with a secondary index improves query efficiency and significantly reduces storage costs compared to a point model.
-
Trajectory segment storage: Four built-in segmentation policies are available, based on the number of points, distance, latitude and longitude, or time. Use these policies to build segmented line model trajectories from batch trajectory points.
High-efficiency spatio-temporal queries
-
Basic query features: Supports queries by ID and time, property queries, spatial range queries, and spatio-temporal range queries.
-
Efficient spatio-temporal queries: Build z2/z3 indexes on point models or xz2/xz2t indexes on line models for high-performance spatio-temporal queries.
-
Multi-dimensional queries (point model): Combine spatio-temporal and property queries for high efficiency. For example, use a spatio-temporal index as the primary table rowkey and create secondary indexes on other properties. Do not create more than two secondary indexes.
Trajectory storage models
Lindorm GanosBase supports three storage models for spatiotemporal trajectory data collected from moving objects. You can write batches of trajectory points directly to the point model or build them into a line model or a line model for trajectory objects. Choose the model that best fits your use case.
Point model — Each trajectory point is stored as an individual record. This model delivers the highest real-time index query performance but incurs the highest storage and secondary index costs. You can write multiple trajectory points in the point model in a batch. Use it for simple queries with strict latency requirements.
Trajectory indexes
GanosBase provides two index types for trajectory storage. For general information about spatiotemporal indexes, see Create index tables.
XZ2T index — Combines time-bin encoding with the XZ2 index. Designed for the line model for trajectories and the line model for trajectory objects. XZ2T delivers higher query performance than the XZ3 index.
OTS index — Stores the moving object ID, trajectory start time, and the sequential number of each trajectory object. Use the OTS index with the line model for trajectory objects when queries must return results organized by entire trajectory.
Index selection
| Index | Suitable for |
|---|---|
| XZ2T index | Line model for trajectories; line model for trajectory objects |
| OTS index | Line model for trajectory objects (when returning results by entire trajectory) |
Trajectory-based secondary indexes
GanosBase supports secondary indexes on spatiotemporal geometry schemas. For trajectory storage models, GanosBase provides dedicated trajectory index types built on spatiotemporal secondary indexes. For details, see Create index tables.
Secondary indexes reduce storage costs and improve query efficiency. We recommend that you do not build more than two secondary indexes.