Wrong time on hike profiles

Hey all,
I am running this routing request:
{
“profile”: “hike”,
“locale”: “bg”,
“points”: [
[23.321616, 42.199546],
[23.324448, 42.207762]
],
“elevation”: true,
“calc_points”: true,
“instructions”: true,
“details”: [
“road_class”
]
}

which returns a 1.5 km hike with 300 meters of incline.
For some reason the time for that is only 15 minutes, which is not possible.
I tested online on the official site as well, it still returns around 15 minutes.
Can we somehow fix that?

It is going downwards. If you reverse the locations you’ll get 40min. Does this make more sense or is 16 minutes still to fast for this?

its still way too fast. 1.5km with 300 decline. Maybe if you are an ultra runner… :slight_smile:

btw, I tried to reverse the points in my payload again same result.
am I missing something about how to pass the points properly?
The idea is to navigate from a hut to a peak, which coordinates should come first in the points array?

Maybe if you are an ultra runner… :slight_smile:

The resulting average speed is only ~5km/h. Why do you think you need to be an ultra runner, because the decline is too steep and partially you’ll have to go much slower?

am I missing something about how to pass the points properly?

like this:

{
 "profile": "hike",
 "points": [
   [23.324448, 42.207762],
   [23.321616, 42.199546]
 ]
}

You can also use GraphHopper Maps to see the elevation along the route.

The idea is to navigate from a hut to a peak, which coordinates should come first in the points array?

The start is the first, the destination should come second.

yes, i personally have walked this route, and its impossible to go down for 15 minutes, the way up is about 1hr so 40 minutes would be acceptable, if you are more fit.
but the problem is no matter how i put my coordinates I still get around 17 minutes.
So this request:

{
  "profile": "hike",
  "locale": "bg",
 "points": [
   [23.324448, 42.207762],
   [23.321616, 42.199546]
 ],
  "elevation": true,
  "calc_points": true,
  "instructions": true,
  "details": [
    "road_class"
  ]
}

returns

{
    "hints": {
        "visited_nodes.sum": 30,
        "visited_nodes.average": 30.0
    },
    "info": {
        "copyrights": [
            "GraphHopper",
            "OpenStreetMap contributors"
        ],
        "took": 2,
        "road_data_timestamp": "2024-08-14T20:20:42Z"
    },
    "paths": [
        {
            "distance": 1458.697,
            "weight": 855.749321,
            "time": 1050262,
            "transfers": 0,
            "points_encoded": true,
            "points_encoded_multiplier": 100000.0,
            "bbox": [
                23.321765,
                42.199546,
                23.324448,
                42.207762
            ],
            "points": "qsr`G_ojmCgblLW~@vQQf@?Of@?CL??X?Hn@?@T?EP?JL?`@T?L`@?F\\?CVwj@RP_XHP?XT?h@F?JC?L??RK?h@IfEZG?X??RK?^I?RF?TL?P?fE?C?F???B?TB?RF?DB?NH?B@?TG?rBTw|Ah@??pCe@ohC`AC?NB?PBwnC^F?f@C?v@]?\\Q?HGobKb@]?v@w@?^{@?HSovAZ]ooBvBmCod@z@gBgw@n@\\?X^?x@pAo}@T`@_q@Nf@?Lv@?BNosELj@?AfA?Fr@ovASN?Gf@?IT?",
            "instructions": [
                {
                    "distance": 122.369,
                    "heading": 296.99,
                    "sign": 0,
                    "interval": [
                        0,
                        8
                    ],
                    "text": "Продължете",
                    "time": 88106,
                    "street_name": ""
                },
                {
                    "distance": 71.193,
                    "sign": -2,
                    "interval": [
                        8,
                        13
                    ],
                    "text": "Завийте наляво",
                    "time": 51259,
                    "street_name": ""
                },
                {
                    "distance": 91.049,
                    "sign": -2,
                    "interval": [
                        13,
                        20
                    ],
                    "text": "Завийте наляво",
                    "time": 65555,
                    "street_name": ""
                },
                {
                    "distance": 167.175,
                    "sign": -7,
                    "interval": [
                        20,
                        36
                    ],
                    "text": "Дръжте ляво",
                    "time": 120366,
                    "street_name": ""
                },
                {
                    "distance": 695.06,
                    "sign": -2,
                    "interval": [
                        36,
                        55
                    ],
                    "text": "Завийте наляво",
                    "time": 500444,
                    "street_name": ""
                },
                {
                    "distance": 311.851,
                    "sign": 2,
                    "interval": [
                        55,
                        68
                    ],
                    "text": "Завийте надясно",
                    "time": 224532,
                    "street_name": ""
                },
                {
                    "distance": 0.0,
                    "sign": 4,
                    "last_heading": 300.0637268879634,
                    "interval": [
                        68,
                        68
                    ],
                    "text": "Пристигнахте в крайната точка",
                    "time": 0,
                    "street_name": ""
                }
            ],
            "legs": [],
            "details": {
                "road_class": [
                    [
                        0,
                        68,
                        "path"
                    ]
                ]
            },
            "ascend": 246.0,
            "descend": 5.0,
            "snapped_waypoints": "qsr`G_ojmCgblLdo@|Mgan@"
        }
    ]
}

1,050,262 ms = 17.504367 min

I guess you are using the public API explorer?
And did you try the JSON I suggested? With it I get "time": 2405465.

impossible to go down for 15 minutes

Ok, thanks for this valuable information. And can you describe what aspects in particular lead to a slow down? Are the steep parts (with decline) the reason or some other elevation unrelated information like surface or similar?

I am using a self hosted graphhopper instance.
About the slow down - yes, the terrain has lots of small stones and sand, you can slip even in the summer (that goes pretty much for most of the high peaks here), and you have to be really careful going down, i would say this particular route is doable for about 30 minutes.
I tested now with the public API explored and it returns the correct value, but how to fix it in my self hosted instance?

Make sure you are including elevation data: graphhopper/docs/core/elevation.md at master · graphhopper/graphhopper · GitHub

yes, the terrain has lots of small stones and sand, you can slip even in the summer (that goes pretty much for most of the high peaks here)

Ok, likely the OSM data has to be improve in such a case and then we need to consider a slow down depending on the surface (like SAND/DIRT).