|
| OSM (string filename) |
|
void | read_OSM () |
| read osm file
|
|
void | get_KOO_Waysavl () |
| links node IDs to nodes recursivly
|
|
void | check_lines () |
| delete Way with unresolved nodes
|
|
void | setfilename (string fileName) |
|
Way * | get_first_Way () |
| returns root of Way-AVL tree
|
|
KOO * | get_first_KOO () |
| returns root of node-AVL tree
|
|
Neighbour * | add_Neighbour (KOO *k, KOO **node, KOO *nb, Way *w, float d, int KOOc, readdirection rd) |
| add Neighbour cross to k
|
|
void | initiallists () |
| initial class's containers
|
|
void | RelationstoFace (relation **l, lines **f) |
| collect all Way to one relation
|
|
void | reset_KOO_status (KOO *k, char i) |
|
void | calc_peak_index_pro (HeightData *h) |
| summit ranking uses t-functions of heighdata
|
|
void | sort_peaks () |
| primitive sort algorithm
|
|
void | calc_brect () |
| refresh bounding rect of dataset
|
|
double | getminlat () |
| return lsat calced bounding rect
|
|
double | getminlon () |
| return lsat calced bounding rect
|
|
double | getmaxlat () |
| return lsat calced bounding rect
|
|
double | getmaxlon () |
| return lsat calced bounding rect
|
|
int | get_status () |
| returns current class state
|
|
int | count_cross (KOO *k) |
| counts crossdata recursivly
|
|
int | count_STRONG (KOO *k) |
| counts STRONG data recursivly
|
|
void | save (char *filename, double minlat, double maxlat, double minlon, double maxlon) |
| save dataset as btp
|
|
void | load (char *filename) |
| load btp to dataset
|
|
void | select_cross (double lat, double lon, KOO **kdest, float *d, KOO *ksrc) |
|
Way * | select_Way (double lat, double lon) |
|
void | change_Waytype (Way *w, char newtype) |
|
void | del_Way (Way *w) |
|
void | normalize_Hm (KOO *k) |
| removes total height differences from Neighbour relation
|
|
void | invert_Hm (KOO *k) |
| switches descenting and ascenting vertical meters in Neighbour relation
|
|
void | reset_Hm (KOO *k) |
| resets Neighbour Hm to ascenting vertical meters
|
|
void | points_Hm (KOO *k) |
| accumulates section difficulties instead of vertical meters in Neighbour relation
|
|
KOO * | search (qint64 id, KOO *s) |
|
void | merge (KOO *knew, KOO *kold) |
| solves conflictiv KOO and crossdata when loading several btp datasets
|
|
void | deleteRect (double minlat, double maxlat, double minlon, double maxlon) |
| delete all data lying within the rectangular area
|
|
void | info () |
|
|
short | isin (lines *l, double minlat, double maxlat, double minlon, double maxlon) |
|
short | isin (points *l, double minlat, double maxlat, double minlon, double maxlon) |
|
short | isin (KOO *k, double minlat, double maxlat, double minlon, double maxlon) |
|
short | isin (Way *w, double minlat, double maxlat, double minlon, double maxlon) |
|
short | iscompletein (Way *w, double minlat, double maxlat, double minlon, double maxlon) |
|
|
short | check_AVL (Way *w) |
|
qint64 | extract_valuei (char *s, const char *a) |
| search for tag a in string s and extract to qint64
|
|
double | extract_valuef (char *s, const char *a) |
| search for tag a in string s and extract to double
|
|
char * | extract_valuec (char *s, const char *a) |
| search for tag a in string s and returns it
|
|
void | extract_bbox (char *s) |
| extrac bounding box specified in osm file
|
|
void | quotationreplace (char *a) |
| replaces " by '
|
|
void | htmlreplace (char *c) |
|
KOO * | insert (qint64 id, KOO *s) |
| AVL tree handling: naiv insert of id into data subtree s.
|
|
KOO * | rotate (KOO **s, branch b) |
| AVL tree handling: subroutine of insert(), returns root element.
|
|
KOO * | insert_AVL (qint64 id, KOO **s) |
| AVL tree handling: accurate insert of id into data subtree s.
|
|
Way * | insert (qint64 id, Way *s) |
| AVL tree handling: naiv insert of id into data subtree s.
|
|
Way * | rotate (Way **s, branch b) |
| AVL tree handling: subroutine of insert(), returns root element.
|
|
Way * | insert_AVL (qint64 id, Way **s) |
| AVL tree handling: accurate insert of id into data subtree s.
|
|
Way * | search (qint64 id, Way *s) |
| AVL tree handling: search for id and return related Way.
|
|
void | get_KOO_Waysavl (Way *l, short next) |
| resolve KOO id to KOO pointer
|
|
void | check_lines_rek (lines **l) |
| check recursivly completeness of KOO pointers More...
|
|
void | delete_AVL (Way *l) |
|
void | delete_AVL (KOO *l) |
|
void | delete_lines (lines *l) |
|
void | delete_points (points *l) |
|
void | delete_relation (relation *l) |
|
void | nodehandling (FILE *f, char *line, char *lineattr, char *linename) |
| $osm-file reading: dealing with node data lines in file
|
|
void | Wayhandling (FILE *f, char *line, char *lineattr, char *linename, qint64 *currentseek) |
| $osm-file reading: dealing with way data lines in file
|
|
void | relationhandling (FILE *f, char *line, char *lineattr, char *linename, qint64 *currentseek) |
| $osm-file reading: dealing with relation data lines in file
|
|
void | add_line (lines **l, Way *Way, char *name) |
| add a Way to a OSM_Data liones element with a given name
|
|
points * | add_points (points **l, KOO *KOO, char *name, float index) |
| add a KOO to a OSM_Data points element with a given name and index
|
|
void | add_relation (relation **l, relation *r) |
| add a relation to a OSM_Data relation element with a given name and index
|
|
void | invert_points (points **l) |
| invert elements of a list
|
|
void | calc_brect (points **l) |
| refresh bounding rect regarding points data
|
|
void | calc_brect (lines **l) |
| refresh bounding rect regarding lines data
|
|
void | equal_crossheight (KOO *k) |
| find common cross height if Neighbour relation indicates different
|
|
|
void | save_node (KOO *k, FILE *f) |
|
void | save_Way (Way *w, FILE *f) |
|
void | save_cross (KOO *k, FILE *f, int *c, double minlat, double maxlat, double minlon, double maxlon) |
|
void | save_lines (lines **l, FILE *f, double minlat, double maxlat, double minlon, double maxlon) |
|
void | save_points (points **p, FILE *f, double minlat, double maxlat, double minlon, double maxlon) |
|
|
void | reset_KOO_status (KOO *k) |
|
KOO * | load_node (FILE *f) |
|
Way * | load_Way (FILE *f) |
|
void | load_cross (FILE *f) |
|
void | load_lines (lines **l, FILE *f) |
|
void | load_points (points **p, FILE *f) |
|
void | replace_Way_KOO (Way *w, KOO **newKOO, int newlength) |
|
|
void | extract_Way (lines *l, Way *w, Way *k, char mintype, char maxtype) |
|
void | del_lines (Way *w, lines **l, char *keepname) |
|
void | del_Neighbour (KOO *k, Way *w) |
|
void | del_Neighbour (KOO *k, Neighbour *n) |
|
void | del_Way (Way *w, double minlat, double maxlat, double minlon, double maxlon) |
|
BTP3 database, created from OpenStreetMap data.
This class manages all data content of BTP3. Map rendering as well as routing algorithm directly access this data. The database consists of two AVL trees containing $osm nodes and $osm ways. In BTP3 language this means KOO and Way. Main content of a Way is a KOO reference array. The third big $osm data type - the Relation, a collection of ways - does not eyist in osm class. For Rendering purpose there exist several list classifying the KOO and Way, these lists are points and lines respectivly. The following lines exist:
motorWay, highway, primary, secondary, track, track2, river, creek, wood, water, NoHeight
The following points exist:
metropolis, city, town, village, locality, col, peak;
The classification is done by nodehandling and wayhandling.
This data is generated from OpenStreetMap XML files *.osm. Within this class this kind of file is read by read_OSM.
HeighData of road like lines is calculated by the seperate class WayHeight.
Definition at line 34 of file osm.h.