\( \def\bold#1{\bf #1} \newcommand{\d}{\mathrm{d}} \) BTP - techical description of routing and road analysis

Power Uphill

bike mass [kg]
body mass [kg]
altitude gain [m]
climb length [km]
gradient [%]
time [s]
speed [km/h]
power [W]
power/mass [W/kg]
climbrate [m/min]

average power on climb stage

BTP - Features & Technical

BTP is written in C++ using the Qt5.1 programming environment. The Program is based on OpenStreetMap (OSM) data and the Digital Elevation Model (DEM) SRTM3 data of the NASA.

The core of the BTP consist of a custom rendering engine, a special routing algorithm, called the STRONG algorithm, and a power analysis module.

The program is able to load OSM and SRTM3 data and render a topography map including features like contour lines and hill shading.

While the ordinary shortest path is found by the Dijkstra routing algorithm, the STRONG algorithm is the most important feature of BTP. It is correlated to the training track STRONG. The STRONG algorithm is designed to find the track with maximized altitude gain [=hight meters (Hm)] under given boundary conditions. This means for example the track with maximized hight meters on a given length. BTP also offers a modified Dijkstra algorithm routing the flattest track (i.e. least altitude gain) instead of shortest one between two points.

The power analysis module is calculating the expected average power output of the cyclist at an user defined riders profile. This includes a heap of configurable parameters to achieve accurate results. Parameters are e.g. the cyclists weight, aerodynamic drag (cw), rolling friction, preferences to change from “Oberlenker” to “Unterlenker”, max. power target, …, temperature, air pressure, wind velocity & direction. Additionally acceleration, breaking and sharp turns are considered in the power analysis.

With BTP 3 the new feature of global climb analysis for a hole street network has been added to BTP. This allows to calculated hole maps with all significant climbs!