If you've ever built a system that tracks things moving through space and time, you know the pain:
- Geographic data lives in PostGIS
- Time-series metrics go to InfluxDB or TimescaleDB
- Vector embeddings for ML need pgvector or Pinecone
- Real-time alerts require yet another system
You end up with 4-5 databases, complex ETL pipelines, and queries that span multiple systems just to answer: "What anomalies happened near the airport in the last hour?"
We call this the 4D fragmentation problem — where the four dimensions (latitude, longitude, altitude, time) are scattered across incompatible systems.
Our Approach: One Database, Four Dimensions
Atlas4D unifies everything in PostgreSQL:
PostgreSQL 16
├── PostGIS → Spatial queries, geometry, H3 hexagons
├── TimescaleDB → Time-series, automatic partitioning
├── pgvector → ML embeddings, semantic search
└── JSONB → Flexible metadata, no schema migrations
One query language. One connection. One backup strategy.
-- Find anomalies near Sofia in the last 6 hours
SELECT * FROM atlas4d.anomalies a
JOIN atlas4d.observations_core o ON a.observation_id = o.id
WHERE o.t > NOW() - INTERVAL '6 hours'
AND ST_DWithin(o.geom, ST_MakePoint(23.32, 42.69)::geography, 10000);
No joins across databases. No data synchronization nightmares.
Who Is Atlas4D For?
Data Engineers building real-time spatiotemporal pipelines who are tired of maintaining 5 different databases for one use case.
GIS/Geo Developers who need time-series and vector search alongside their spatial data, without leaving PostgreSQL.
Telecom & ISP Teams monitoring network infrastructure — OLTs, switches, CPE devices — with spatial context and anomaly detection.
Smart City Projects analyzing mobility patterns, traffic flow, and urban sensors in a unified platform.
What Makes Atlas4D Different?
1. Natural Language Queries (NLQ)
Ask your data in plain language:
"Какво е времето в Бургас?"
"Show threats near the airport"
"Покажи аномалии от последния час"
The NLQ engine understands Bulgarian and English, translating to optimized queries.
2. Multi-Domain on One Engine
The same Atlas4D core handles:
| Domain | Data Types |
|---|---|
| Mobility | Vehicles, sensors, cameras |
| Telecom | OLTs, switches, CPE, traffic metrics |
| Airspace | Radar tracks, ADS-B, drones |
Switch between domains with a dropdown — the underlying 4D engine is identical.
3. Observability from Day One
Every Atlas4D deployment includes Prometheus metrics, Grafana dashboards, and health endpoints. You don't bolt on monitoring later — it's built in.
4. ML-Ready Architecture
- Trajectory embeddings via sentence-transformers
- pgvector for similarity search
- Anomaly scoring with configurable thresholds
- LSTM forecasting for predictive alerts
Try It Now
# Clone
git clone https://github.com/crisbez/atlas4d-base
# Start
cd atlas4d-base && docker compose up -d
# Load demo data
docker compose exec postgres psql -U atlas4d_app -d atlas4d \
-f /docker-entrypoint-initdb.d/seed/demo_burgas.sql
# Open the map
open http://localhost:8091
Time to first map: ~5 minutes ⏱️
What's Next?
We're building Atlas4D to be the "Linux of 4D spatiotemporal platforms" — a solid open foundation that organizations extend for their specific domains.
Roadmap:
- Kubernetes Helm charts
- RAG integration for document-aware queries
- Python SDK (already available!)
- Real-time WebSocket streaming
🚀 Get Started
⭐ Star the repo — helps others discover Atlas4D
⬇️ Quick Start Guide — 5 minutes to first map
🐛 Open an issue — your feedback shapes the roadmap
Atlas4D is built by Digicom Ltd, a technology company based in Bulgaria focused on spatiotemporal intelligence and network analytics.
Top comments (0)