\( \def\bold#1{\bf #1} \newcommand{\d}{\mathrm{d}} \) BTP - Manual

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 - Manual

The BergTourenPlaner (BTP, English: climb tour designer) is a offline tool to plan tours, estimated power output, estimate time tables for a given route, find tours with the highest/least altitude gain, find climbs and create 3D-views. BTP is an open source project combining open source road network data of OpenStreetMap and the SRTM3 digital elevation model of the NASA. The contents of climbindex.eu were generated with BTP.

Quick Start

Following the advices you might be soon ready to analyse the massive stage final which had been once planned at the Giro d'Italia but than shortened to the zoncolan only due to riders striking

If the program does not start any more, try to delete the settings.stg file within the application folder.

Keybord commands

↑ (up)navigate to the north
↓ (down)navigate to the south
← (left)navigate to the west
→ (right)navigate to the east
+ (plus)zoom in
+ (minus)zoom out
ESCdelete track; if STRONG is calculating: stop calculation
deletedelete track; if STRONG is calculating: stop calculation
↵ (enter)start an "open end" routing. Lock a previewed track pressing 'n', accept it with a further enter press. Or just click by mouse instead.
⇐ (backspace)delete last segment of the track; press ctrl atditionally to delete last 10 segments
⇑ (page up)select among the pareto optimal STRONG tracks after a successful STRONG calculation
⇓ (page down)select among the pareto optimal STRONG tracks after a successful STRONG calculation
0,1,2,3,4,5set allowed track type: 0 motorway, 1 national highway, 2 main road, 3 side road, 4 small road (usually still tarmaced), 5 untarmaced tracks, possibly still ridable with a race bike. Pressing atditional ctrl sets the minimum type, without ctrl set the maximum type.
atravelling sales man routing; 1. save desired track which should be reached using menu "track->save btr", 2. (optional) choose start point, 3. either choose end point (if start was specified before) or hit enter, 4. select the previously saved tracks in the dialogue
croute for most climbing per km, 'climb mode', adjust algorithm in 'Settings->STRONG settings'
eediting mode, allows to select map elemens and delete or modify its type with the numbers
froute for least accumulated height difference, 'flat mode'
g'go to' dialog to change map position, moves to lat/lon coordinates given in degree
kroute short, 'kurz mode', press ctrl to execute 'air-line routing'
lselect layer, generates STRONG layer from a finished STRONG calculation
mroute for highest Hm/km quotient, 'mountain mode', adjust algorithm in 'Settings->STRONG settings'
ntoggles preview: within any routing mode you have the possibility to press ENTER instead of choosing an end point with mouse. You then can move the mouse over the map and the specified track will be shown instantly. press 'n' to lock this view or unlock. Press Enter or click with the mouse to accept this track.
sroute STRONG, calculates shortes tracks at give maximum give accumulated altitude gain, 'STRONG mode', for details see STRONG, adjust algorithm in 'Settings->STRONG settings'
troute for shortest time (a longer way through a valley might be faster than the short hilly track), 'time mode', time is calculated by the current Settings of the Power Analysis Window
yredo (last track modification)
zundo (last track modification)

The menu

Data→load btploads new map data and adds it to the existing data. By that you might combine data sets
Data→save btpsaves all loaded map data, which is currently shown. Zoom and move the map (and reload the data subsequently) to cut the data to the desired region. Cutting an existing dataset is the most important thing you should consider when aiming for faster operation of BTP.
Data→read osmreads a *.osm file and generates map data from it. This task may take up to an hour time. osm-files up to an 2 Gb may be read. There size of your available memory should be at least as big as the osm-file.
Data→closeclose the BTP
Data→analyse gpxloads a gpx-file. You can choose whether the elevation data should be recalculated by BTP. This gpx-Analysis might be interesting in terms of forecasting times and speeds at a given track as well as estimating the power with regard on the time stamps of the gpx. Press 'Ignore time stamp' in the Power Analysis window to use the user specified Power-velocity dependence instead of time stamps. Any gpx-file you may 'open with' BTP from the explorer, as BTP accepts command line arguments
Settings→SRTM3 data foldergive the reference to the elevation data. You should download hgt-files containing the SRTM3 data and store it in a certain directory, so that BTP can access it. A goo d source for this kind of data is viewfinderpanoramas
Settings→btp startup filechoose a file which automatically should be loaded when BTP is started, or press cancel so that this is not the case. You may rather prefer to maintain a folder with btp datasets, which you 'open with' BTP, as BTP accepts command arguments.
Settings→STRONG settings

You can specify the algorithm and the constraints of data set for all routing modes based on the STRONG-algorithm, i.e. the m-,c- and s-mode. First a restriction of the dataset can be achieved. For that purpose the ellipse with the start and the endpoint (if endpoint is not give the start refers as the end) is specified by the maximum distance to these two points. The distance may have an absolute contribution (data radius absolut (km)) and a relative contribution depending on the air-line distance of start- and end-point ('data radius factor' times air-line distance gives the relative contribution). It is important to limit the data area to not run out of memory during a STRONG calculation.

Second the precision of the calculation can be set which strongly influences the needed amount of memory. First there might be an assumption about the maximum Hm. It is the (hm/km max)*Radius with the Radius calculated from data ellipse, but 'hm max' maximum. The lower the 'hm steps' value the more precise the calculation will be, but with higher demands on memory.

The climb restriction can exclude altitude gain from a raising street, if it is to easy, i.e. not steep enough, to short or to mush downhill sections. Please refer to the climb definition

Basically the s-,m- and c-routing modes call the same routing procedure, the output only depends on the specifications done in that dialog.

Settings→Map settingsspecify the rendering of the map
Map→create bmprenders a map with the current settings and the the values specified in the user dialog. Respect the limits of your computer. The authors computer fails above 80 mega pixel pictures
Map→toggle Climblayerswitch on/off Climblayer, is available
Map→toggle STRONGlayerswitch on/off STRONGlayer, is available
Map→settingsspecify the rendering of the map
Data Processing→Create StronglayerIf a STRONG calculation is finsihed you may have the possiblity to generate a STRONG layer, showing how often a road segment is used when investigating the most demanding tracks.
Data Processing→Save StronglayerSave the current STRONGlayer. A STRONGlayer allways belong to its btp-file
Data Processing→Load StronglayerLoad a current STRONGlayer. The related btp-file has to be loaded
Data Processing→Climb analysisAnalysis the street network for climbs. The result is the same as the data of climbindex.eu
Data Processing→load ClimblayerLoads the Climblayer which was eventually generated when executing a climb analysis
Data Processing→invert height dataswitches the direction to road segments. A STRONG calculation then will rather lead downhill. This might be interesting if only the endpoint of a hm/km-optimized tour is known.
Data Processing→normalize height dataThe total accumulated elevation gain of the road segments is equalized in forward and backward direction, so that for a STRONG calculation both directions are attractive.
Data Processing→save STRONG calculationYou may experience, that a STRONG calculation takes a lot of time and gains a lot of information. Before hitting the ENTER-key you maybe want to store the whole calculation. This can produce several Gb of data, but saves you a lot of time. A Strong-Calculation belongs to its btp-file.
Data Processing→Load STRONG calculationLoad a finished STRONG calculation. After the data is loaded you can continue as a calculation just had finished. The related btp-file has to be loaded before.
Data Processing→correct hgt filesyour SRTM3 data maybe contains voids, which result in deep holes in the topographic map. You can correct this hgt-files using this command. the void will be linearly interpolated.
Data Processing→swap Hm and distanceImagine you want to calculate the pareto optimal set of routes which have the longest distance with the least altitude gain - this is the inverted STRONG idea. You can invert the data to achieve this goal.
Track→save gpxexports the current track to a gpx-file
Track→save binarycreates a binary files, the first 4 bytes is the coordinate count, then the coordinates follow in double precision
Track→save btrsaves the track to reload another time with BTP. The btr belongs to its btp-file.
Track→load btrloads are previously designed track. The related btp file has to be loaded.
Track→current segment to gpxsaves segment as specified in the profile window
Track→current segment to binarysaves segment as specified in the profile window
Profile→save Profile as pngexports a profile of the current track as specified in the settings. It looks as in the Profile Window, but gets the specified dimensions.
Profile→settingsmodify the profile
Profile→Data to clipboardcopies distance and height data from the profile window
Power Analysis→on/offopen/closes the Power Analysis window, see section 'Power Analysis'
Power Analysis→show power in plotshows/hides blue power curve
Power Analysis→show speed in plotshows/hides red speed curve
Power Analysis→data to clipboardexports all data used for the Power Analysis calculation: distance, height, azimut, bend, vmax due to bend, calculated v, seconds, Power, Energy; useful to convert gpx data to excel data
3D-View→show3Dshow 3D-view, see section 'The 3D-View'

Generating your own dataset

At first it hast to be mentioned, that you can cut an existing data set any time you want with 'Data->save btp', which will save only the data shown on the current map. If the sample data on the Download page is not sufficient for you, you soon want to create your own dataset.

First you need to have a OpenStreetMap data file in the *.osm format. For that purpose execute the following steps

Now you can transform the osm file into a BTP-specific btp-file which will be mush smaller in size and fast to load. Follow these steps:

You can merge datasets by just loading the corresponding btp-files and save them to an new merged file.

Power Analysis

Based on either a given time stamp or the P-v-specific of the rider (which can be adjusted in C, see picture above) the average power output of the rider is calculated, given the environmental parameters given in A, B, D and E. Power analysis is executed every time a track is modified or loaded. To avoid this, close the Power Analysis Window, because for slow computers or long tracks the calculation is time consuming.

First one has to adapt the environmental parameters to the own situation. In A this can be done. Check 'fight wind', if you want the velocity kept even at head winds. In B you can change the Wind conditions by directly clicking at the compass card to adjust wind strength and direction, or you type it by hand

Normally (i.e. not analysing a gpx with time stamps) you now have to adjust the P-v-plot to achieve the desired average velocity or power. The whole calculation is based on the assumption, that the power output of the virtual rider only depends on its relative velocity (relative to the air), so the rider is pushing hard slowly climbing or fighting head winds and relaxes downhill or with tail winds. If you check the 'fight wind' checkbox in A, you P will depend only on the real velocity (over ground) and not on the relative velocity. In box F the dependence of the velocity from the slope of the road is printed, given the power-velocity-relation of C and the cwA-velocity-relation of D

In D you can adjust the aerodynamics of the rider. Again a velocity dependence of the rider can be defined, representing the different riding styles (out of the saddle, huts, lower bar, etc.). It together with the power-velocity relation rules the velocity, the rider will ride at a given slope

The Poweranalyses simulates necessary breaking due to sharp bending of the road. You can define a maximum radial acceleration and a maximum break acceleration, from which the maximum velocity is calculated, the rider is allowed to ride. In practice this applies especially in downhill sections.

Pressing 'Recalc' you can recalculate the average power output and velocity after changing parameters. In Box F you will find information not only about average power output

and average velocity but also about how the power is used. Eflat is the energy you would need to ride at this speed an a flat road. Ebrake is the energy which is lost due to braking (and subsequent acceleration). The remaining energy is wasted in the broad velocity distribution the rider is forced to due to winds and mountains. For more information have a look here. In plot g a histogram is shown indicating, how mush time was spend at a specific power.

The 3D-View

To understand the handling of the 3D-View some basic things have to be mentioned. A 3D-View is defined by the camera position (latitude/longitude/height), the viewing direction (elevation/azimut) of the camera and its zoom. You can define parameters of the environment (superelevation,fog) and picture size (width/height).

Based on this Data it is possible to assign every pixel of the picture a point on the map. To colour the 3D-View this map has to be known and is pre calculated as the texture. You might change the 'Map->settings' or change the track, now you want to update the 3D-View. This actually means updating the texture by pressing 'retexture'. If you only want to change camera position or fog or super elevation 'render' is sufficient.

When pressing '3D-View->show 3D' an default view will be rendered. It represents the view from bottom left corner of the map to the top right corner. If you see nothing, you should first try to set the 'height pos' to a reasonable value. If you enlarge the picture size you also see more. Once you see the terrain you can define a new camera position by left-click onto the picture. With right-click you can define the point where the camera should look. Of course you can type the related parameters by hand.

When you are satisfied with the picture composition you can adjust the texture. You can increase the 'Texture Megapixel' value as far as your computer allows. For a nice view you may turn off the scale in the 'Map->settings'. The fog can be defined by two values. The offset specifies a distance (in meters) where no fog at all should be considered. All terrain within this distance shows full saturation of colours. Pixels beyond this offset are desaturated exponentially with respect to its distance.