Travel Classification
GeoPulse automatically analyzes your trips to determine how you traveled whether you walked, drove, cycled, took a train, or flew. This classification uses GPS speed data and advanced algorithms to accurately identify your mode of transport.
Overview
When GeoPulse detects that you're moving between two locations (a trip), it analyzes the GPS data to classify the trip type. This classification is based primarily on:
- Average Speed Your typical speed throughout the trip
- Maximum Speed The highest speed reached during the trip
- Speed Variance How consistent your speed was (important for distinguishing trains from cars)
The system then compares these metrics against configurable thresholds to determine which mode of transport best matches your trip characteristics.
Supported Trip Types
GeoPulse supports both mandatory and optional trip types:
Mandatory Types
These types are always enabled and cannot be disabled:
- WALK Low-speed movement (walking, jogging)
- CAR Motorized transport including cars, buses, motorcycles
- UNKNOWN Trips that don't clearly match any category
Optional Types
These types can be enabled or disabled in your Timeline Preferences:
- BICYCLE Medium-speed cycling or running
- TRAIN High-speed rail travel with consistent speeds
- FLIGHT Air travel with very high speeds
If you don't use certain travel modes, you can disable them in your Timeline Preferences to improve classification accuracy. For example, if you never cycle, disable BICYCLE to prevent car trips from being misclassified.
How Classification Works
Classification Priority Order
The system evaluates trip types in a specific order to ensure accurate classification:
- FLIGHT Checked first (400+ km/h average OR 500+ km/h peak)
- TRAIN High speed with low variance (30-150 km/h, consistent speed)
- BICYCLE Medium speeds (8-25 km/h) Must be before CAR!
- CAR Motorized transport (10+ km/h average OR 15+ km/h peak)
- WALK Low speeds (d6 km/h average, d8 km/h peak)
- UNKNOWN Fallback for edge cases
BICYCLE must be checked before CAR because their speed ranges overlap (8-25 km/h). If BICYCLE is disabled, those trips will be classified as CAR instead.
GPS Data Quality
GeoPulse includes sophisticated GPS noise detection to ensure accurate classification:
- Supersonic Speed Detection Rejects impossible speeds above 1,200 km/h (GPS noise)
- Reliability Validation Compares GPS speeds against calculated speeds from distance/duration
- Adaptive Thresholds Uses different validation rules for low-speed vs. high-speed trips
- Smart Fallbacks Automatically switches to calculated speeds when GPS data is unreliable
Special Cases
The classification algorithm handles several special scenarios:
Long Flights with Ground Time Uses OR logic for flight detection: if either average speed e400 km/h or peak speed e500 km/h, the trip is classified as FLIGHT. This handles flights with long taxi/boarding times that lower the average.
Train vs. Car Distinction Trains typically maintain consistent speeds (low variance) while cars have variable speeds due to traffic, stops, and acceleration. A trip with 60 km/h average might be classified as TRAIN if speed variance is low, or CAR if variance is high.
Bicycle vs. Car Overlap Speeds between 10-25 km/h could be either cycling or slow driving. The system checks BICYCLE thresholds first. If BICYCLE is disabled, these trips default to CAR.
Walking Verification After initial classification, the system double-checks WALK classifications. If the calculated speed exceeds the walking threshold by more than 20%, the trip is reclassified as CAR. This catches cases where GPS noise made a car trip appear slower than it was.
Default Speed Thresholds
See Timeline Preferences for default thresholds for each trip type.
Customizing Classification Settings
You can fine-tune travel classification in Timeline Preferences to match your specific travel patterns:
Accessing Settings
- Navigate to Menu -> Timeline Preferences or go to
/app/timeline/preferences - Scroll to the Trip Classification section
- Adjust the settings for each trip type
Available Settings
Walk Settings
-
Walking Max Average Speed (default: 6 km/h) Maximum average speed for walking trips. Increase if you walk very briskly.
-
Walking Max Maximum Speed (default: 8 km/h) Maximum peak speed for walking trips. Accounts for brief faster walking.
Car Settings
-
Car Min Average Speed (default: 10 km/h) Minimum average speed for car trips. Lower if you drive in very heavy traffic.
-
Car Min Maximum Speed (default: 15 km/h) Minimum peak speed for car trips. Uses OR logic with average speed.
Bicycle Settings (Optional)
-
Enable Bicycle (default: disabled) Toggle to enable/disable bicycle classification.
-
Bicycle Min Average Speed (default: 8 km/h) Minimum average speed for cycling trips.
-
Bicycle Max Average Speed (default: 25 km/h) Maximum average speed for cycling trips. Faster trips are classified as CAR.
-
Bicycle Max Maximum Speed (default: 30 km/h) Maximum peak speed allowed for bicycle trips.
Train Settings (Optional)
-
Enable Train (default: disabled) Toggle to enable/disable train classification.
-
Train Min Average Speed (default: 30 km/h) Minimum average speed for train trips.
-
Train Max Average Speed (default: 150 km/h) Maximum average speed for train trips (excludes high-speed rail at 200+ km/h).
-
Train Min Maximum Speed (default: 40 km/h) Minimum peak speed required (filters out station-only trips).
-
Train Max Maximum Speed (default: 200 km/h) Maximum peak speed for train trips.
-
Train Max Speed Variance (default: 15) Maximum allowed speed variance. Lower values mean more consistent speeds required.
Flight Settings (Optional)
-
Enable Flight (default: disabled) Toggle to enable/disable flight classification.
-
Flight Min Average Speed (default: 400 km/h) Minimum average speed for flight trips (includes ground time).
-
Flight Min Maximum Speed (default: 500 km/h) Minimum peak speed for flight trips (cruising altitude).
When to Customize Settings
You Walk Very Fast or Very Slow
Problem: Your walking trips are classified as CAR, or your slow walks are marked as UNKNOWN.
Solution: Adjust the Walking Max Average Speed threshold up or down to match your typical walking pace.
You Frequently Cycle
Problem: Your bicycle trips are classified as CAR.
Solution:
- Enable Bicycle classification
- Adjust Bicycle Min/Max Average Speed to match your cycling speeds
- Consider your typical cycling speed range to set appropriate thresholds
You Drive in Heavy Traffic
Problem: Your car trips in traffic are classified as WALK or BICYCLE.
Solution: Lower the Car Min Average Speed threshold (e.g., to 7-8 km/h) to account for stop-and-go traffic.
You Take Commuter Trains
Problem: Your train trips are classified as CAR.
Solution:
- Enable Train classification
- Adjust Train Min/Max Average Speed to match your local train speeds
- Consider the Train Max Speed Variance setting commuter trains with frequent stops may need a higher variance threshold
Classification is Inconsistent
Problem: Similar trips are classified differently.
Solution:
- Check if the trips actually had different speed profiles (traffic, route differences)
- Review GPS data quality trips with poor GPS may be classified as UNKNOWN
- Ensure your thresholds don't overlap confusingly (e.g., bicycle max too close to car min)
Understanding Classification Results
Viewing Trip Classifications
Trip classifications appear in several places throughout GeoPulse:
- Timeline View Each trip shows an icon indicating its type (walking person, car, bicycle, train, airplane)
- Journey Insights Breakdown of trips by type with statistics
- Dashboard Summary of travel modes used over time periods
Trip Type Icons
| Icon | Type | Description |
|---|---|---|
| =� | WALK | Walking or jogging |
| =� | CAR | Car, bus, motorcycle, or other motorized vehicle |
| =� | BICYCLE | Cycling or fast running |
| =� | TRAIN | Train or metro travel |
| FLIGHT | Air travel | |
| S | UNKNOWN | Unable to classify with confidence |
Why a Trip Might Be UNKNOWN
A trip may be classified as UNKNOWN for several reasons:
- GPS Noise Impossible speeds detected (>1,200 km/h), likely due to GPS errors
- Speed in Gray Area Speed falls between classification thresholds
- Example: 7 km/h (above WALK max of 6, below CAR min of 10, BICYCLE disabled)
- Missing GPS Data Insufficient speed information to make a determination
- Disabled Optional Types Trip matches an optional type that's currently disabled
If you see many UNKNOWN classifications, try enabling more optional trip types (BICYCLE, TRAIN, FLIGHT) or adjusting your speed thresholds to reduce gaps between categories.
Technical Details
GPS Data Processing
GeoPulse calculates speed statistics during trip processing:
- Average GPS Speed Mean of all GPS point speeds during the trip
- Maximum GPS Speed Highest speed recorded at any GPS point
- Speed Variance Statistical variance of speeds (consistency measure)
- Calculated Speed Distance divided by duration (backup/validation)
The system uses GPS-reported speeds when available and reliable, falling back to calculated speeds when GPS data is questionable.
Noise Detection Algorithm
The classification system includes multiple layers of GPS noise detection:
Layer 1: Supersonic Detection Rejects speeds above 1,200 km/h as physically impossible (commercial jets max ~900 km/h).
Layer 2: Cross-Validation Compares GPS speeds against calculated speeds:
- Low-speed trips (< 20 km/h): GPS must be within 2x of calculated
- Medium-speed trips: GPS must be within 50% of calculated
- High-speed trips (>200 km/h): GPS is trusted over calculated (flight/train routes aren't straight lines)
Layer 3: Spike Detection If GPS max speed exceeds calculated average by more than 5x, it's considered a noise spike and replaced with an estimated maximum (calculated � 1.5).
Classification Verification
After initial classification, the system performs final verification:
Walk Verification If a trip is classified as WALK but the calculated speed exceeds the walking threshold by more than 20%, it's reclassified as CAR. This catches GPS noise that made a car trip appear slower.
Example: Trip initially classified as WALK with GPS showing 5 km/h, but calculated speed is 12 km/h � reclassified as CAR.
Best Practices
For Accurate Classification
- Enable relevant optional types If you cycle, take trains, or fly, enable those classifications
- Calibrate to your patterns Adjust speed thresholds based on your actual travel speeds
- Consider your location Urban heavy traffic may need lower CAR min speeds
- Monitor UNKNOWN trips If you see many UNKNOWN classifications, review and adjust thresholds
For Specific Use Cases
Urban Commuter
- Enable BICYCLE and TRAIN if you use them
- Lower CAR min average speed to 7-8 km/h for heavy traffic
- Consider higher BICYCLE max speeds if you use e-bikes
Frequent Traveler
- Enable FLIGHT classification
- Keep default thresholds as they handle airport ground time well
Active Lifestyle
- Enable BICYCLE for cycling and running
- Adjust BICYCLE min speed if you do slow recreational cycling
- Consider walking thresholds if you hike at varied speeds
Data Analyst
- Use consistent thresholds across time periods for meaningful comparisons
- Document any threshold changes when analyzing historical trends
- Consider disabling unused types to reduce classification ambiguity
Troubleshooting
Problem: Most trips are classified as UNKNOWN
Possible Causes:
- Optional trip types are disabled, creating gaps in speed coverage
- GPS data quality is poor with many noise spikes
- Thresholds have gaps between categories
Solutions:
- Enable optional trip types (BICYCLE, TRAIN, FLIGHT) to cover more speed ranges
- Check GPS source quality and accuracy settings
- Review and adjust thresholds to eliminate gaps
Problem: Bicycle trips classified as CAR
Possible Causes:
- BICYCLE classification is disabled
- BICYCLE max speed threshold is too low for your cycling speeds
Solutions:
- Enable BICYCLE classification in Timeline Preferences
- Increase BICYCLE max average/maximum speeds if you cycle faster
- Check that CAR min speeds aren't too low (should be at least 10 km/h)
Problem: Car trips in traffic classified as WALK
Possible Causes:
- Car min average speed threshold is too high for stop-and-go traffic
- GPS noise is making car speeds appear lower than reality
Solutions:
- Lower CAR min average speed to 7-8 km/h for urban traffic
- Ensure car trips meet the CAR min maximum speed threshold (15 km/h)
- Check GPS data quality for the affected trips
Problem: Train trips classified as CAR
Possible Causes:
- TRAIN classification is disabled
- Train speed variance threshold is too strict
- Commuter trains have frequent stops increasing variance
Solutions:
- Enable TRAIN classification in Timeline Preferences
- Increase TRAIN max speed variance (try 20-25 for commuter trains)
- Adjust TRAIN min/max average speeds to match your local trains
Problem: Short car trips classified as WALK
Possible Causes:
- Trip was genuinely slow (parking lot, driveway)
- GPS didn't capture higher speeds
- Trip duration was very short
Solutions:
- Ensure GPS tracking frequency is adequate (at least every 30 seconds)
- Consider that very short trips (< 100m) may legitimately be WALK
- Check CAR min maximum speed threshold (15 km/h should catch most car movement)
Impact on Timeline Rebuild
Changing travel classification settings triggers a full timeline rebuild to reclassify all existing trips with the new thresholds.
What Gets Reclassified:
- All past trips are re-evaluated using the new speed thresholds
- Trip icons and type labels are updated throughout the app
- Journey Insights and statistics are recalculated
What Doesn't Change:
- Stay locations remain the same
- Trip start/end times and locations are unchanged
- GPS data and speed calculations are not modified
After changing classification settings, you'll see a progress modal showing the timeline rebuild status. This process may take a few minutes for users with extensive travel history.
Related Settings
Travel classification works together with other timeline features:
- Timeline Generation How trips and stays are detected
- Measurement Units Display speeds in km/h or mph
Summary
Travel classification automatically identifies how you traveled based on GPS speed data:
Five trip types: WALK, CAR (mandatory) + BICYCLE, TRAIN, FLIGHT (optional) Smart algorithms: GPS noise detection, reliability validation, special case handling Fully customizable: Adjust speed thresholds to match your travel patterns Automatic updates: Enable/disable trip types and see classifications update instantly
By understanding how classification works and customizing the settings to match your lifestyle, you can ensure GeoPulse accurately captures your travel modes and provides meaningful insights into your journeys.