LiveOMeter - Be the first one to discover mistakes
Following an Orienteering race by GPS is quite hard. In a middle distance there are about 20 runners running on the same time, in a long distance there are even more than 40. It's just impossible to follow each one at the same time. And watching a point moving extermly slowly is quite boring - except the runner is doing a mistake.
That's why I built a small tool, which discovers mistakes based on GPS data: LiveOMeter. LiveOMeter gets its data from GPSSeuranta. For each event tracked with GPSSeuranta you can draw the course on the map and LiveOMeter will calculate the splittimes for every runner. LiveOMeter then calculates which splittimes can be considered as error and show them accordingly in the results:
To use LiveOMeter proceed with the following steps:
- Open LiveOMeter: http://liveometer.azurewebsites.net/
- Select an event in the dropdown at the top of the page.
- Click on "Draw course"
- Draw the course on the right panel on the map simply by clicking on the start and then on every control.
- Click on "Finish drawing course". This will save the course on your local computer, so you don't have to redraw it the next time you visit the event.
- Enjoy the detailed live results
What is an error?
LiveOMeter uses a similar algorithm as WinSplits to detect errors: For each leg, a quotient of the average of the 25% fastest split times and the runner's split time is calculated. These quotients are called performance indices. The medium value of the runner's performance indices over the whole course is considered the runner's normal performance for the course. If for a leg the performance indice is 10 per cent bigger than his normal performance the leg will be considered as error.
Troubles
Note that there are currently some restrictions/bugs/problems:
- There is no autorefresh on a live event. To get the newest data you will need to reload the page and reselct the event.
- Forkings and loops are not directly supported
- No styling was done so far... so it looks a little bit ugly
- LiveOMeter uses the first passage at the control as splittime. If the runner passed next to a control while going to another, this will be used as splittime, so there will be a negative time.
If you find any other bugs fill free to report them on GitHub: https://github.com/yannisgu/LiveOMeter/issues
Or if you are a developer, don't hesitate to do a pull request!