\( \def\bold#1{\bf #1} \newcommand{\d}{\mathrm{d}} \) BTP: Manual and Source Code Documentation

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  3.0
Routing/ClimbAnalysis/PowerCalculation
Routing.h
1 #pragma once
2 
3 #include "DataTyps.h"
4 #include "MathExt.h"
5 #include "HeightData.h"
6 #include "OSM.h"
7 #include "MAP.h"
8 #include "fibunacci.h"
9 #include "track.h"
10 
12 
18 class Routing{
19  public:
20  Routing(OSM* o);
21  ~Routing(void);
23 
32  short DijkstraFib(KOO* s, KOO* e, char max, char min, OSM* o, int Si);
34  short DijkstraFib_minHM(KOO* s, KOO* e, char max, char min, OSM* o,
35  int Si);
37 
42  Neighbour ***nl,int* nc);
44  void resetSTRONG(KOO* k, int STRONGindex);
46 
52  void finish_STRONG();
58  STRONGlayer* STRONGlayer_load(char* filename);
60  void STRONGlayer_save(char* filename, STRONGlayer *SL);
61  private:
62  OSM* o;
64  void setSTRONG(KOO* k, KOO* s, KOO* e, float radius, int n);
65 
67  void STRONGlayer_reset_d(KOO* k);
71  void STRONGlayer_count_neighbours(KOO* k, int *nbc);
73  void STRONGlayer_mark_neighbours(KOO* k, int si);
76  int *nbc);
78  void STRONGlayer_sort(STRONGlayer* SL, long s, long e);
81 
89  char** SLgrid;
90  int nlat, nlon;
92  void STRONGlayer_grid_new();
94  short STRONGlayer_grid_free(KOO* k);
97 };
void STRONGlayer_save(char *filename, STRONGlayer *SL)
saves STRONGlayer to file
Definition: Routing.cpp:398
double SLlatmax
Definition: Routing.h:91
void STRONGlayer_count_neighbours(KOO *k, int *nbc)
counts total Neighbour count on osm data set
Definition: Routing.cpp:226
list elements to handle multiple STRONGlayers
Definition: DataTyps.h:349
container struct to hold data of a coordinate
Definition: DataTyps.h:82
STRONGlayer * STRONGlayer_load(char *filename)
loades STRONGlayer from file
Definition: Routing.cpp:370
void extract_neighbourlist(STRONG *s, STRONG *e, Neighbour ***nl, int *nc)
collects a Neighbour list from STRONG network
Definition: Routing.cpp:180
void finish_STRONG()
resets STRONG network of a STRONGcalc to normal Dijkstra state
Definition: Routing.cpp:197
short STRONGlayer_grid_free(KOO *k)
Definition: Routing.cpp:297
routing container struct, connects cross via Way with each other
Definition: DataTyps.h:47
void STRONGlayer_grid_new()
Definition: Routing.cpp:277
base information to draw road section in STRONGlayers
Definition: DataTyps.h:344
double dlon
Definition: Routing.h:91
double SLlonmin
Definition: Routing.h:91
void resetSTRONG(KOO *k, int STRONGindex)
resets the STRONG network to begin calculation
Definition: Routing.cpp:147
void setSTRONG(KOO *k, KOO *s, KOO *e, float radius, int n)
body of finish_STRONG();
Definition: Routing.cpp:158
void STRONGlayer_mark_neighbours(KOO *k, int si)
increment Neighbour attribute d by its usage rate on STRONG network
Definition: Routing.cpp:243
double SLlonmax
Definition: Routing.h:91
short DijkstraFib_minHM(KOO *s, KOO *e, char max, char min, OSM *o, int Si)
see DijkstraFib(), but minimizing Hm instead of distance
Definition: Routing.cpp:77
class to perform routing routines on osm data sets
Definition: Routing.h:18
void STRONGlayer_grid_delete()
Definition: Routing.cpp:307
STRONGlayer * STRONGlayer_create(STRONGlayer *SL, int N)
creates STRONGlayer from a unfinalized STRONG network
Definition: Routing.cpp:312
BTP3 database, created from OpenStreetMap data.
Definition: osm.h:34
void STRONGlayer_reconstruct_d(KOO *k)
reconstructs Neighbour distance attribute d from Way data
Definition: Routing.cpp:213
short DijkstraFib(KOO *s, KOO *e, char max, char min, OSM *o, int Si)
this is famous Dijkstra shortes path algothim
Definition: Routing.cpp:8
double SLlatmin
Definition: Routing.h:91
double dlat
Definition: Routing.h:91
void STRONGlayer_sort(STRONGlayer *SL, long s, long e)
quicksort neighbours by its usage rate
Definition: Routing.cpp:409
void STRONGlayer_fill_neighbours(KOO *k, STRONGlayerele *data, int *nbc)
copy Neighbour attribut d to STRONGlayer data
Definition: Routing.cpp:260
int nlat
Definition: Routing.h:90
void STRONGlayer_grid_reset()
Definition: Routing.cpp:292
char ** SLgrid
Definition: Routing.h:89
int nlon
Definition: Routing.h:90
void STRONGlayer_reset_d(KOO *k)
sets Neighbour distance attribute d to zero
Definition: Routing.cpp:200
main struct for routing purpose
Definition: DataTyps.h:255