\( \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
WayHeight.h
1 #pragma once
2 #include "DataTyps.h"
3 #include "HeightData.h"
4 #include "OSM.h"
5 #include <QtWidgets/QMessageBox>
6 
8 
33 class WayHeight{
34 public:
36 
39  WayHeight(HeightData* H, OSM* O);
41  WayHeight(HeightData* H,double* lat, double* lon,
42  int count,Neighbour** nb);
43  ~WayHeight();
44 private:
45  HeightData* h;
46  OSM* o;
47  double dstep0,
48  dmin,
49  rlimit,
50  dminur,
51  flach2;
52  int glacerate;
53  void call_height_t();
54  void check_brect(Way* w, double* latmin, double* latmax,
56  double* lonmin, double* lonmax);
58  void reset_cross_markers(KOO* k);
59  void mark_cross(Way* w);
60 
65  void alloc_crossdata(KOO* k);
67  void alloc_neighbours(Way* w);
69  void add_raw_HeightData(KOO* k);
71 
77  void glaze();
79  void portion_way(KOO* k);
81 
87  void portion_cross(KOO* k);
93  void portion_divide(KOO* k);
95  short check0(KOO* k);
97  void calc_crossheight(KOO* k);
99  void reduce_data(KOO* k);
101  void select_heights(Neighbour* n,long s,long e);
103  void finalize_data(Neighbour* n);
104 
105  void show_d_h(KOO* k);
106  void show_d_confidence(KOO* k);
107 
112  void mark_NoHeights();
114  void dismark_NoHeights();
118  void add_NoHeights_HeightData(KOO* k);
120 
123  void trace_to_HeightData(float d, KOO* k, KOOlist* kl, trackpointlist *tl);
125  int KOO_already_used(KOO* k, KOOlist* kl);
126 };
int KOO_already_used(KOO *k, KOOlist *kl)
help function of trace_to_HeightData()
Definition: WayHeight.cpp:851
void calc_crossheight(KOO *k)
determines the common crossheight fromthe domiciled Neighbour
Definition: WayHeight.cpp:451
void check_brect(Way *w, double *latmin, double *latmax, double *lonmin, double *lonmax)
adapt bounding rect to cover whole data set
Definition: WayHeight.cpp:168
void trace_to_HeightData(float d, KOO *k, KOOlist *kl, trackpointlist *tl)
work function of add_NoHeights_HeightData()
Definition: WayHeight.cpp:821
double rlimit
maximum accepted mistrust index
Definition: WayHeight.h:47
void portion_divide(KOO *k)
normalize the distributes mistrust index
Definition: WayHeight.cpp:389
void alloc_neighbours(Way *w)
search allong way for neighbouring cross, link them with Neighbour data
Definition: WayHeight.cpp:122
double dminur
minimum section length to cross
Definition: WayHeight.h:47
void portion_way(KOO *k)
smearing out the mistrust index within the Neighbour data
Definition: WayHeight.cpp:267
void mark_NoHeights()
if a Way is tunnel or bridge height must be interpolated lineary
Definition: WayHeight.cpp:688
void delete_PortionInstructions(KOO *k)
delete the angular relation of Neighbour at a cross
Definition: WayHeight.cpp:374
container struct to hold data of a coordinate
Definition: DataTyps.h:82
double dstep0
interpolation step size in km
Definition: WayHeight.h:47
int glacerate
how many times is glazed
Definition: WayHeight.h:52
void alloc_NoHeights_neighbours()
create Neighbour data (end &amp; start only) for members of osm::NoHeight
Definition: WayHeight.cpp:702
void add_NoHeights_HeightData(KOO *k)
determine the heights of tunnels and bridges at start and end
Definition: WayHeight.cpp:739
routing container struct, connects cross via Way with each other
Definition: DataTyps.h:47
main container list climbanalyse
Definition: DataTyps.h:162
short check0(KOO *k)
returns zero if a zero distance Neighbour was found
Definition: WayHeight.cpp:673
double flach2
move cross to place with (grad^2)
Definition: WayHeight.h:47
void call_height_t()
Definition: WayHeight.cpp:159
holds digital elevation model extracted from SRTM3 data
Definition: HeightData.h:26
container for line geodata
Definition: DataTyps.h:122
void dismark_NoHeights()
reduces Way::type by 10 if member of osm::NoHeight data
Definition: WayHeight.cpp:695
void reduce_data(KOO *k)
run select_heights() and finalize_data() on every Neighbour
Definition: WayHeight.cpp:541
WayHeight(HeightData *H, OSM *O)
constructor runs the whole calculation
Definition: WayHeight.cpp:4
void glaze()
smear out gaussian the mistrust index over several hundred meter
Definition: WayHeight.cpp:258
void finalize_data(Neighbour *n)
keep selected data and delete unused data
Definition: WayHeight.cpp:635
void portion_cross(KOO *k)
smearing out at the borders of the Neighbour data, i.g. at the cross
Definition: WayHeight.cpp:291
void add_raw_HeightData(KOO *k)
assign raw height data to all Neighbour datasets
Definition: WayHeight.cpp:181
assigns heights to Way, generates Neighbour data
Definition: WayHeight.h:33
BTP3 database, created from OpenStreetMap data.
Definition: osm.h:34
void generate_PortionInstructions(KOO *k)
generate the angular relation of Neighbour at a cross
Definition: WayHeight.cpp:307
void select_heights(Neighbour *n, long s, long e)
select the most charakteristicand trustful heighdata of a Neighbour
Definition: WayHeight.cpp:557
double dmin
minimum section length in km
Definition: WayHeight.h:47
void reset_cross_markers(KOO *k)
set status of every KOO zero
Definition: WayHeight.cpp:87
void mark_cross(Way *w)
Definition: WayHeight.cpp:94
main container for Track, WayHeight and ClimbAnalyse
Definition: DataTyps.h:172
void show_d_confidence(KOO *k)
Definition: WayHeight.cpp:433
void alloc_crossdata(KOO *k)
allocs crossdata if KOO was marked as cross
Definition: WayHeight.cpp:106
void show_d_h(KOO *k)
visualization for developers
Definition: WayHeight.cpp:415