add docs
This commit is contained in:
parent
3c2ae5e3b6
commit
0705c1478e
1 changed files with 64 additions and 0 deletions
64
docs/features/trail-line-visualization.md
Normal file
64
docs/features/trail-line-visualization.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# Trail Line Visualization
|
||||
|
||||
## Overview
|
||||
|
||||
When tracking a specific callsign, the map displays a trail line (polyline) connecting all position points chronologically at zoom levels ≤ 8, instead of showing a heat map.
|
||||
|
||||
## User Experience
|
||||
|
||||
### Viewing Trail Lines
|
||||
|
||||
1. Search for and track a callsign using the search box
|
||||
2. Zoom out to level 8 or below
|
||||
3. A blue trail line appears connecting all positions in chronological order
|
||||
4. The trail line respects the "Trail Duration" setting (1 hour, 6 hours, etc.)
|
||||
|
||||
### Zoom Behavior
|
||||
|
||||
- **Zoom ≤ 8 + Tracking:** Trail line visible
|
||||
- **Zoom > 8 + Tracking:** Individual markers visible
|
||||
- **Zoom ≤ 8 + No tracking:** Heat map visible
|
||||
- **Zoom > 8 + No tracking:** Individual markers visible
|
||||
|
||||
## Technical Details
|
||||
|
||||
### Backend
|
||||
|
||||
- `DisplayManager.send_trail_line_for_tracked_callsign/1` - Generates trail line data
|
||||
- `DisplayManager.handle_zoom_threshold_crossing/2` - Handles mode switching
|
||||
- Trail line data filtered by `packet_age_threshold` (trail duration setting)
|
||||
- Points sorted chronologically by `received_at` timestamp
|
||||
|
||||
### Frontend
|
||||
|
||||
- `MapHook.trailLine` - Leaflet Polyline instance
|
||||
- Event: `show_trail_line` - Display trail line
|
||||
- Event: `clear_trail_line` - Remove trail line
|
||||
- Trail line cleared when switching to heat map or markers
|
||||
|
||||
### Styling
|
||||
|
||||
- Color: `#3B82F6` (blue-500)
|
||||
- Weight: 3 pixels
|
||||
- Opacity: 0.8
|
||||
- Line Cap/Join: round
|
||||
- Interactive: true
|
||||
|
||||
## Continuous Path Connection
|
||||
|
||||
Trail lines connect **all points regardless of distance** between them. This is important for:
|
||||
|
||||
- High-altitude balloons traveling long distances
|
||||
- Aircraft on cross-country flights
|
||||
- Stations with intermittent coverage gaps
|
||||
- Showing complete journey paths
|
||||
|
||||
No distance-based filtering or gap detection is applied. The trail always shows the complete chronological path within the trail duration.
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
- Direction arrows along the trail
|
||||
- Time-based gradient coloring (old → new)
|
||||
- Click on trail to show packet details
|
||||
- Line simplification for very long trails
|
||||
- Multiple callsign tracking with different colors
|
||||
Loading…
Add table
Reference in a new issue