Datteln-Hamm-Kanal
Real-time vessel tracking
Track vessel traffic on the Datteln-Hamm-Kanal in real time using AIS data from AISstream.io. Click a vessel for detailed information.
Vessels may take 1–2 minutes to appear, as AIS transponders broadcast position data only every few seconds to minutes. Only vessels with valid data within the bounding box are displayed.
Legend
Legend
About the AIS Tracking System
The ship tracker uses the Automatic Identification System (AIS) to track vessel movements on the Datteln-Hamm-Kanal in real time. AIS transponders automatically broadcast position data, speed, course and further vessel information.
Data is collected via a global network of AIS receiving stations and provided through the WebSocket API of AISstream.io. This application visualises the data in real time on an interactive map based on OpenStreetMap.
Captured Data
- Speed: In knots
- Course: Heading in degrees
- Vessel name: Registered name
- MMSI: Unique identifier
- Vessel type: Cargo, tanker, etc.
- Call sign: Radio call sign
- Destination: Port of destination
Technical Details
Data Source
- Provider: AISstream.io
- Technology: WebSocket API
- Updates: Real-time
- Coverage: Global AIS network
- Filter: Bounding box DHK
Map Technology
- Map engine: OpenLayers 8.2
- Tiles: OpenStreetMap
- Projection: Web Mercator
- Interactive: Zoom, pan, click
- Vessel icons: SVG with rotation
Coverage Area
- Canal: Datteln-Hamm-Kanal
- Length: ~47 km
- Start: Datteln (51.65°N, 7.35°E)
- End: Uentrop power plant (51.68°N, 7.97°E)
- Bounding Box: 51.58-51.72°N, 7.20-8.05°E
- Locks: Datteln, Henrichenburg, Hamm
- Width: 12 m (navigable channel)
Backend
- Server: Node.js + Express
- WebSocket: ws library
- Ping interval: 20 seconds
- Message filter: Position + StaticData
Frontend
- HTML5: Semantic markup
- CSS3: Modern styling
- JavaScript: Vanilla ES6+
- Design: Design system
- Responsive: Mobile optimised
Features
- Live updates: Real-time positions
- Automatic: No manual refresh needed
- Detail view: Click on vessel
- Data filter: Validated vessels only
- Auto-cleanup: Stale data (>120 min)
Infrastructure
- Hardware: Raspberry Pi 5
- OS: Alpine Linux
- Process manager: PM2
- Auto-restart: PM2 crash recovery
- Reverse proxy: lighttpd