What are Points?
Points represent individual AVL (Automatic Vehicle Location) telemetry data points captured from vehicle tracking devices. Each point contains comprehensive information about a vehicle’s state at a specific moment in time, including:- Geospatial data: GPS coordinates, altitude, and PostGIS geometry
- Movement metrics: Speed, angle, distance traveled
- Time tracking: Driving time, parking time, engine hours
- Device status: Battery, signal strength, network information
- Contextual data: Geofences, quadrants, sectors, geocoding
Storage Architecture
Points are stored in partitioned PostgreSQL tables using RANGE partitioning by timestamp. This enables efficient time-series queries and automatic data lifecycle management. Key characteristics:- Composite primary key:
(id, timestamp)- required for partitioned tables - PostGIS enabled: Spatial queries using the
locationgeometry column - High-volume ingestion: Optimized for continuous telemetry data streams
Points Controller
ThePointsController is defined in src/app/points/points.controller.ts but does not yet have endpoints implemented. The controller provides the structure for you to add your own REST endpoints.
You’ll need to implement your own endpoints in the controller. The
PointsService and TypeORM repository are ready to use for data access.Time-Series Query Patterns
Query by Time Range
Most queries filter by timestamp to leverage table partitioning:Spatial Queries
Use PostGIS functions for geospatial filtering:Aggregation Queries
Calculate metrics over time windows:Authentication
All Points API endpoints require authentication. Include a valid JWT token in the Authorization header:Rate Limits
To ensure system stability:- Read operations: 100 requests/minute
- Write operations: 50 requests/minute
- Bulk ingestion: Contact your administrator for higher limits
Next Steps
Data Model
Complete Point entity field reference
Service API
PointsService methods and usage