Comments (7)
Yes, you're right. A formula will never reflect accurately all these settings. That's why I suggested to let the user define 2 speeds: either the min and max speeds, or the average and the max speed. I think the output would then be realistic, at least much more realistic than it is now.
The problem with MTB (I'm a mountain biker myself) is that an application won't know if a track is technical or not. Some sections are not doable on a mtb and you must walk. It (almost) never happens with a road bike and it's not a problem when running, as you run all the way.
from gpxstudio.github.io.
I have updated the formulas for the speed generation, I hope it is better now.
I will close this issue since I iteratively improve this functionality.
from gpxstudio.github.io.
I made some tests: it's much too fast when running downhill (but it would do on a bike, for example. So I suggest adding the option to chose whether it's running or cycling). Nobody runs faster than Usain Bolt, even when running downhill, especially in the mountains. If the average speed is 10 km/h (up and down), for example, the downhill speed should not exceed 18 km/h on a soft slope and it's slower as the slope is going steeper, in fact. I'd say that when the slope is around 15 % it starts to decrease and when it's around 30 % and above, you're maximum 20 % above the average speed (so 12 km/h if the average speed is 10 km/h). Does it make sense?
With a bike, of course, it's different. And it's even different whether you're cycling on a road or on a singletrack with a mountain bike: max around 70 km/h on a road bike and on a very steep and straight road, max 20 km/h on a mountain bike.
I hope my feedbacks help.
from gpxstudio.github.io.
It is already the case that the activity chosen in the settings impacts the speed generated, I have added this information to the dialog in commit a2a73c6.
If you want to have a look at the current logic, the function slopeFactor in js/trace.js returns the number by which the speed on flat terrain is divided.
Some of the numbers are taken from this article and I derived the rest. Please tell me if you think it seems unreasonable, but in any case I think it is impossible to mimic all types of runners/cyclists with such simple logic.
from gpxstudio.github.io.
Hello,
This article is very interesting. One thing that I noticed is that it confirms that even when cycling, over a certain angle/steepness downhill, speed doesn't increase, as cyclists are braking. The same phenomenon happens with runners, whether running on the road or on tracks.
● Where is the button to set if this trace will be ran or cycled?
● I suggest letting users add their maximum speed on the trace (as well as the average one) or the min and max speeds on a given trace instead of the average speed.
The slope factor is too simple and apparently it's not calculating uphills and downhills differently. I'm taking the average speed defined by user as a reference. It's for running:
Uphill
0% to 5 % → 0.8
5.1% to 10 % → 0.7
10.1% to 15% → 0.6
15% to 25% → 0.5
25.1 to 35% → 0.4
35.1 to 60% → 0.3
Over 60% → 0.2
Downhill
0% to 5 % → 1.9
5.1% to 10 % → 1.0
10.1% to 15% → 0.8
15% to 25% → 0.7
25.1 to 35% → 0.6
35.1 to 60% → 0.3
Over 60% → 0.2
Does it make sense?
For cycling, road cycling and mountain biking should be differentiated.
from gpxstudio.github.io.
Hello,
As a biker (both road and MTB), just a quick remark on the incredibly difficult task to differentiate speeds depending on the terrain. In order to do this, you would need to check the tracktype
or the surface
of each OSM way the route is using. Then estimate what would be the speed uphill or downhill depending of those attributes.
But it also depends of your tires, your skills, the geometry of your bike, the weather, etc. If you create a MTB and a road bike profile, then you should adapt the algorithm so it favors little paths and tracks instead of paved roads, because if the only difference is the calculated speed it's a lot of work for not much.
Actually, I can only think of Komoot and BRouter as apps that propose MTB profiles for routing. And on bike social networks groups, I read a lot of complaints on Komoot's routing engine as long as it's not the road one ("it was too that, not enough this", etc). I think, as seducing the idea of specific routing engines is, the challenge is huge and the efficiency not high enough yet to be worth the effort.
from gpxstudio.github.io.
Yes that's the main problem with MTB! Maybe some day the mtb:scale
OSM attribute will be enough used for it to be useful to routing apps. Way to go...
Good idea for the min and max speeds defined by the users!
Edit: By the way, here is the choice of routing engine:
from gpxstudio.github.io.
Related Issues (20)
- Fails to load from Google Drive HOT 4
- Add barriers and gates as a POI
- gpx.studio no longer loads any .gpx file from disk
- Not able to route ways when access=private HOT 20
- [mobile] missing `Enter` key
- [Feature] Add POI/Waypoint integration with OSMAnd HOT 3
- Add CTRL+Z/Y on POI move
- Viewing mode that shows all track points, and their inner information when clicked
- Add GPX filters
- Issue with the site (gpx.studio) HOT 1
- Display gradient in elevation profile HOT 2
- Add heat maps for mountain biking, gravel, road biking and backcountry ski ....
- Error 403 when add overlay https://strava-heatmap.tiles.freemap.sk/sport_MountainBikeRide/hot/{z}/{x}/{y}.png
- [cosmetic-suggestion] increase elevation profile legibility by adding a border line
- [custom map suggestion] Add the ability to use arbitrary mapbox styles as custom layers
- [custom map suggestion] extend {s} parameter with numeric enumeration HOT 1
- Tree view HOT 3
- Distance is off when using start/end slider in elevation view.
- [Export] - option to export only current/selected track
- [suggestion] Compute elevation since start/selection HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpxstudio.github.io.