[Feature Request] Fancier Algorithms to Determine Transit Mode #654
Replies: 1 comment 2 replies
-
|
Hi @RSXEnthusiast, I like the idea of a better approach to detecting movement types.
True words indeed! I think the main problem here is that we just do not have enough data at the moment. In general, we have a latitude/longitude coordinate and a timestamp. This depends on the logging settings, but let's assume it's every 15 seconds. And that's it. Then, Reitti is designed to display a trip between visits; there is no multi-transport mode trip. It all boils down to the average speed during the entire trip. In my head, in the far future, there is the existence of a dedicated Reitti app. This could provide additional metadata in a clean way that we could work with. For example, a motorcycle ride probably manifests in some tilting of the phone. Let's try to address each point:
These two will probably not happen. I cannot imagine running some form of index for what lies under a GPS point. Reverse-Geocoding is already uncertain about which specific shop it was in a busy city. I doubt that doing this for every point will significantly improve accuracy. At least, it's not worth the cost.
That one I find interesting, and some form of additional data is probably how Google does it. For example, if we take a look at the JSON the timeline in Maps produces: "persona": {
"travelModeAffinities": [
{
"mode": "WALKING",
"affinity": 0.674876868724823
},
{
"mode": "CYCLING",
"affinity": 0.4482758641242981
},
{
"mode": "IN_PASSENGER_VEHICLE",
"affinity": 0.019704433158040047
}
]
}and then for activities we have: {
"activityRecord": {
"probableActivities": [
{
"type": "UNKNOWN",
"confidence": 0.4000000059604645
},
{
"type": "IN_VEHICLE",
"confidence": 0.10000000149011612
},
{
"type": "ON_BICYCLE",
"confidence": 0.10000000149011612
},
{
"type": "ON_FOOT",
"confidence": 0.10000000149011612
},
{
"type": "WALKING",
"confidence": 0.10000000149011612
},
{
"type": "RUNNING",
"confidence": 0.10000000149011612
},
{
"type": "STILL",
"confidence": 0.10000000149011612
},
{
"type": "IN_ROAD_VEHICLE",
"confidence": 0.10000000149011612
},
{
"type": "IN_RAIL_VEHICLE",
"confidence": 0.10000000149011612
},
{
"type": "IN_ROAD_VEHICLE",
"confidence": 0.10000000149011612
},
{
"type": "ON_FOOT",
"confidence": 0.07000000029802322
},
{
"type": "WALKING",
"confidence": 0.07000000029802322
},
{
"type": "UNKNOWN",
"confidence": 0.019999999552965164
},
{
"type": "STILL",
"confidence": 0.009999999776482582
}
],
"timestamp": "2025-12-12T16:00:00.000+01:00"
}So, they first know what you prefer, and then it seems they calculate a score for every activity. But this is most likely done on the device. This would speak for a dedicated Reitti app where this data can be calculated. What we could probably create first would be support for multiple transportation modes per trip. This alone would already significantly improve accuracy. What do you think? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is your feature request related to a problem? Please describe.
Coming from Google Timeline, I miss the accuracy of which Google would detect transit modes. I was especially impressed that it could detect motorcycle trips as compared to vehicle trips.
Describe the solution you'd like
None of this would be easy to implement, as location data is super messy, but a few ideas I have for better route detection (in order of likely difficulty/payoff in my uneducated opinion):
All of these solutions might require some sort of dedicated Reitti app, especially using other phone sensors, which I understand would be a huge undertaking.
Describe alternatives you've considered
The existing functionality is definitely usable and makes the most sense for something simple that just works without a huge complex algorithm or machine learning.
Beta Was this translation helpful? Give feedback.
All reactions