=Paper= {{Paper |id=Vol-1594/paper14 |storemode=property |title=Elevation Enabled Bicycle Router Supporting User-Profiles |pdfUrl=https://ceur-ws.org/Vol-1594/paper14.pdf |volume=Vol-1594 |authors=Nikolaus Krismer,Doris Silbernagl,Martin Malfertheiner,Günther Specht |dblpUrl=https://dblp.org/rec/conf/gvd/KrismerSMS16 }} ==Elevation Enabled Bicycle Router Supporting User-Profiles== https://ceur-ws.org/Vol-1594/paper14.pdf
Elevation Enabled Bicycle Router Supporting User-Profiles

                Nikolaus Krismer                          Doris Silbernagl                   Martin Malfertheiner
             Department of Computer                   Department of Computer                 Department of Computer
              Science, University of                   Science, University of                 Science, University of
               Innsbruck, Austria                       Innsbruck, Austria                     Innsbruck, Austria
              nikolaus.krismer@uibk.ac.at               doris.silbernagl@uibk.ac.at      martin.malfertheiner@student.uibk.ac.at

                                                          Günther Specht
                                                      Department of Computer
                                                       Science, University of
                                                        Innsbruck, Austria
                                                        guenther.specht@uibk.ac.at


ABSTRACT                                                                and many of the currently available online routers do not
Routing engines offer various algorithms to find the short-             consider an altitude profile at all.
est or fastest path from point A to point B. Most of them                  Even though there are some elevation aware routing en-
are designed to find best paths for automobiles. Searching              gines like GraphHopper[8], its estimations are not tailored
for a path as a cyclist has often very disappointing results.           to individual persons. The physical capabilities of Sunday
The main problem is that currently available routers do nei-            cyclists, hobby bikers and professionals are very different
ther consider elevation or nor support profile aware routing.           and should be reflected by a routing engine. In addition, it
Therefore, this paper proposes a bicycle router that is build           should also be able to propose paths that mirror the prefer-
on top of GraphHopper, OpenStreetMap and SRTM sup-                      ences of the requesting cyclist.
porting both of these requirements. The engine learns from                 Therefore, a bicycle routing engine is presented in this pa-
previously gathered biking trips of users how fast one can              per that addresses these issues. The system does not simply
ride on which street type as well as which kind of tracks are           find the fastest route from point A to point B, it is able to
preferred. With the help of this information the system is              find the best path for each user individually. The result is
able to suggest appropriate paths for each individual and               a combination of the users preferred street types, the accu-
estimates very accurate travel times.                                   rate time estimation and the elevation profile. To achieve
                                                                        this goal as much information as possible provided by vari-
                                                                        ous datasets should be used.
Categories and Subject Descriptors                                         The remainder of this paper is structured in five parts,
F.2.2 [Analysis of Algorithms and Problem Complex-                      with a related work section following this introduction. It
ity]: Nonnumerical Algorithms and Problems—Routing and                  includes a description of the routing engine GraphHopper
layout; H.2.8 [Information Systems]: Database Applica-                  and a short overview of other currently available research
tions—Spatial databases and GIS                                         projects on profile aware routing. The third section explains
                                                                        the developed bicycle router in detail and gives insight into
                                                                        how profiles are stored and loaded during the route com-
Keywords                                                                putation. The proposed bicycle router is later evaluated in
OpenStreetMap, Routing, Algorithms, Elevation, User pro-                Section 4 using various tracks and different bicycle riders.
files                                                                   The paper ends with a short summary and possible future
                                                                        work to further improve the elevation aware routing engine.
1.   INTRODUCTION
   People often rely on online services that propose best               2.     RELATED WORK
paths while planning a trip or when traveling. Contrary to                 Every routing engine needs a street network to find the
traveling by car, cycling depends on different factors. One             shortest, fastest or most safe cycle path between two points.
of these is elevation. Most cars have enough power to drive             Therefore, the community driven geographic datasource from
close to the speed limit regardless of the slope of the street.         OpenStreetMap (OSM)1 will be used. The project gets its
However, cycling uphill or downhill makes a huge difference             data from individual supporters, but also from institutions.
                                                                        The work of Corcoran et.al.[3] shows that the community is
                                                                        very active and constantly increasing the level of detail. A
                                                                        typical OSM file contains lists of nodes, ways and relations,
                                                                        where each one of these elements can be further specified by
                                                                        a very flexible key-value pair tagging system. A node is a
                                                                        single point on the world, defined by latitude and longitude.
                                                                        A way is not only used as a way in the conventional sense,
28th GI-Workshop on Foundations of Databases (Grundlagen von Daten-     like a street, but it is also used to describe an area, like the
banken), 24.05.2016 - 27.05.2016, Noerten-Hardenberg, Germany.          1
Copyright is held by the author/owner(s).                                   http://www.openstreetmap.org




                                                                  74
         Elevation Enabled Bicycle Router Supporting User-Profiles



perimeter of a park or a forest. The third element used, the           In the last few years there has been a strong movement
relation, is the most complex data element in OSM, as it            on cycle route planning depending on security issues along
can have nodes, ways and relations as members.                      the route. Researchers gathered information through sur-
   A lot of research about the quality of OSM has been done         veys, cycling organizations [18] or in corporation with gov-
during the last years. Barron et al. [1] developed a tool           ernments [10] [9] and built models for safe street networks.
to measure the quality of OSM regions based on the edit-            Routers were developed that are able to provide tracks with
ing history. The authors pointed out that for each type of          low traffic, routes labeled for bikes, broad paths and other
application, different requirements for the data hold. Com-         metrics, but they never consider the individual preferences
pleteness, currentness and logical consistency of the road          of a user. Some projects investigate route choice behavior
network, attribute and positional accuracy are the major re-        of cyclists to support governments on taking street network
quirements for a routing engine. Loidl et al. [11] performed        modeling decisions. Hood et al. [7] did an analysis in San
an evaluation on incomplete, erroneous and heterogeneous            Francisco using GPS data of hundreds of participants. Com-
attributes and were able to achieve improvements for the            munity driven route planning is another approach to find
investigates region. Since OSM is the best free available           better suited paths for cyclists. It uses a mobile applica-
solution available it will be the base geographic source.           tion to record GPS data, geo-tagged media, noise level and
   Every OSM node usually has a value for latitude and lon-         roughness of a bike trip. A user then can see all tracks used
gitude, but although generally supported by OSM, only 0.07          by anyone beforehand and is able to lookup the information
% contain information about the third dimension: the ele-           collected [15]. Another approach by the community is Cy-
vation. Without accurate elevation profiles the system can          clopath, a so called GeoWiki. A user can add information
not calculate correct time estimations. Thus, another data          about points of interest on a track, post comments (width,
source that was collected in 2000 during the Shuttle Radar          surface) and rate the ”bikeability” of the track [14]. All this
Topography Mission (SRTM) is used. Together, the two                user input can then be considered during route finding, but
datasets OSM and SRTM, deliver enough information to                it again is not tailored to a specific user.
create the required three dimensional geographic map on
which the routing engine can search for paths. To increase          3.    THE BICYCLE ROUTER
the accuracy of the elevation model some post–processing               An elevation aware router for bicycles needs detailed in-
has been performed that is discussed in detail by [17].             formation about the elevation profile and the properties of
   OpenStreetMap is used by many open source routing en-            a street. On the one hand the router should avoid unnec-
gines, such as OSRM2 , MapQuest3 , GraphHopper, BRouter4            essary climbings, but on the other hand a cyclist does not
and many more. Most routing engines share a vast amount             want to take too much of a detour. Even more important
of similar characteristics, but often their focus is on cars and    is the type of the street. Broach et. al. [2] collected rider
less on bicycle routing[13]. The elevation profile of a high-       preferences and showed that distance, turn frequency, slope,
way should not be neglected, but it influences the drive by         intersection control and traffic volumes have a strong impact
car less than a cycling trip.                                       on route choice. A router that is able to consider all these
   GraphHopper is chosen over the other available options as        aspects, needs to be fed with data from OpenStreetMap as
base engine because it is easily extendable, well tested and        well as with elevation information.
can deal with altitude profiles (in a very basic way) without          One characteristic of GraphHopper is that it is designed
modification. Besides, it has an active community that is           to route with precalculated values for speed, distance and
bigger than the ones of the other engines capable of provid-        priority. These values are sufficient to find the fastest and
ing routes for cyclists. It uses a PBF (Protocolbuffer Binary       shortest paths without knowledge of user preferences and
Format) file of the area the user wants to search for routes        cycling capabilities, but to find routes tailored to specific
in, combined with SRTM or CGIAR (Consultative Group                 needs more data needs to be taken into account. Therefore,
on International Agricultural Research) elevation data. On          many tags of OSM were investigated regarding route finding.
startup of the routing engine, two initialization phases are        Table 1 lists the keys of the tags chosen and gives a short
performed. While marking nodes as tower or pillar nodes             description for each one.
and maintaining tag restrictions in the first phase, a routing         However, it is not sufficient to solely rely on information
graph is built using the gathered information in the second         from these tags. Although a racing bike requires paved sur-
phase. Weighting is then used to update the speed property          faces and mountain bikes can ride on paved as well as on
of edges. Using the GraphHopper engine in its original and          unpaved surfaces, this is only one aspect of the criteria to
unmodified version, only the altitude of the starting and end-      consider. When it comes to profile based routing, more con-
ing point is taken into account to calculate the slope of an        ditions need to be addressed. An easy path might be doable
edge. Depending on the result the speed is increased or de-         for a non-professional mountain biker and could be a nice
creased. For routing purposes several algorithms for finding        alternative to a parallel, traffic loaded road, but a downhill
routes are supported. The default algorithm used is bidi-           racer might search for different way types. Therefore, it is
rectional Dijkstra[4], but GraphHopper also supports unidi-         obvious that additional and more detailed information for
rectional Dijkstra, one-to-many Dijkstra, as well as uni– and       each edge (besides speed and its length) need to be stored.
bidirectional AStar[6]. The algorithms calculate a weighting
value for each path and the one with the lowest value will          3.1    Added routing information
be returned to the user.
                                                                       An edge can not simply be extended with a ton of new
                                                                    information from various OSM tags. The added information
2
  http://project-osrm.org/                                          has to be reduced to a minimum in order to hold the data
3
  http://www.mapquest.com/                                          in main memory. This allows the engine to operate in an
4
  http://brouter.de/                                                efficient way. Therefore, a newly created flag encoder stores




                                                               75
         Elevation Enabled Bicycle Router Supporting User-Profiles




                                                  Table 1: Relevant OSM Tags
  Key             Description
  highway         defines the street network. Possible values are: motorway, trunk, primary, secondary, tertiary, unclassified,
                  residential, service, living street, pedestrian, track, road, footway, steps, path, cycleway
  tracktype       is frequently used in combination with minor roads. It measures how well-maintained a way is (value
                  ranges from one (very good) to five (very bad))
  surface         can have a general value like paved or unpaved, but can also carry detailed information like asphalt, metal,
                  grass, sand, etc.
  smoothness      evaluates the physical condition of a streets surface with respect to a wheeled vehicle. Values range from
                  excellent to impassable
  sac scale       is important regarding the difficulty of a path. Possible values are hiking, (demanding )mountain hiking,
                  (demanding/difficult) alpine hiking
  mtb:scale       is used in combination with track and path to specify the difficulty of a track in terms of mountain-biking.
                  The value goes from zero (easy) to six (impossible for a classic mountain bike).
  network         marks different cycle networks: icn (international), ncn (national), rcn (regional), lcn (local)


the way type, the adjusted speed depending on the ways                very detailed street graph. The combination of all these
surface, average incline/decline elevation and the distance           variables allow path finding algorithm to retrieve the most
an edge continues to rise.                                            suitable path for each user.

3.1.1    Way Type                                                     3.2     Routing without profiles
   It is possible to meet the users preferences without storing          In order to profit from the newly generated details for
the entire flood of OSM information. Dealing with bicycles it         each edge, the routing engine had to be extended with a
is very important to know the compactness of the way as well          new weighting implementation. Every path finding algo-
as the traffic load and the difficulty of a street (e.g. if a user    rithm calls it to find the best path. Usually fastest routing
is a passionate racing cyclist, then only those streets with          takes the travel time for each edge as parameter while short-
paved surface should be considered). With that in mind 16             est path weighting considers only the distance of each edge.
different classes have been designed. Each way gets assigned          The developed approach also considers way type, surface
to one of these classes.                                              and elevation.
                                                                         Without any information about a user, the weighting algo-
3.1.2    Surface                                                      rithm prefers paved, low traffic, short travel time and bicycle
  The speed calculation carried out to estimate travel times          designated streets. Therefore, a preference value depending
depends on way type and especially on its surface. A track            on way type, surface type and elevation profile is calculated.
with surface “compacted” and one with surface “mud” are for           Every edge starts with a priority value equal to four. The
example both considered unpaved tracks, but riding them               current implementation for non–profile based routing assigns
makes a big difference in terms of speed. A factor is defined         a value between -4 and +3 to each way type. For example:
for each surface/way type combination to modify the speed             the algorithm subtracts two from ways with unpaved sur-
when riding it. Track surface “compacted” uses a multipli-            face and also penalizes if it has very steep inclines or a bad
cation factor of 1.2 while “mud” is assigned to 0.6, resulting        surface. The idea is that riding uphill and/or on unpaved
in different calculation speed.                                       surfaces is very inconvenient with a bicycle.
                                                                         The resulting priority (a value between zero and seven
3.1.3    Elevation                                                    that is divided by seven so it can be thought of as percent-
   The last information added for each edge is the elevation          age value) is used to influence the travel time. This causes
profile. Every point of an edge already has altitude infor-           bicycle designated, low traffic, well paved, easy elevation and
mation, but calculating the slope for each edge every time a          low travel time tracks to be preferred over other paths.
request is processed would be a waste of processing power.
The slope can be precalculated because it does not change             3.3     Profile based routing
between different users unlike way type preference.                      Riding a bicycle is a very individual task. A hobby cy-
   The algorithm calculates the average incline and decline           clist might take one hour for a track, a professional racer
slope for each edge. Moreover, it stores how long an edge             takes twenty minutes and a person new to cycling takes one
continues to rise. This is expressed as percentage of its dis-        and a half hours. Besides, a router should suggest different
tance. These three values are enough to reason about the              routes for a mountain bike and a racing bike. To support
edges elevation profile during path finding. Exceptions are           profile aware routing it is necessary to find a simple mech-
made for tunnels, bridges, steps and very short edges (less           anism, that is powerful enough to create a detailed profile
than one meter). For these types of ways the slope will not           of a cyclist and can be used by the implemented weighting
be calculated, but instead considered to be flat.                     algorithm.
   The three elevation variables take up 19 bits of the flag
variable on each edge, but deliver very valuable information          3.3.1    Profiles
for bicycle routing and avoid a lot of processing time.                  Although OSM properties that are of interest are known,
   With only 32 bits per edge (way type (4 bits) + speed              it would be too difficult for a user to define his preferences
(9 bits) + elevation (19 bits)) the router can reason on a            based on them. Setting the appropriate speed by hand would




                                                                 76
         Elevation Enabled Bicycle Router Supporting User-Profiles



also be a cumbersome task for a person. Manually defining            method for every way type. Profile entries accumulated
a profile is no choice for a user–friendly system so a way to        from multiple track parts are considered more important so
create the profile automatically needed to be found.                 a weighting factor (distance per way type/speed) is used.
   Therefore, a strategy is developed that utilizes tracks which     However, this method only works reliable if there is a cer-
can be created using a tracking device such as a mobile              tain amount of entries available and if those entries are well
phone or a GPS tracker. The big benefit of this approach             distributed regarding the ways slope. In order to prevent
is that the cyclist neither needs to specify any preferences         misleading fittings only those way types that have at least a
on way types nor has to enter speed values for each way              total distance of ten kilometers will become part of the pro-
type and slope. Even better, the profile will evolve with ev-        file. Since this threshold alone does not guarantee a good
ery added track. Its the algorithms responsibility to extract        fit (because the distribution of the entries itself has an im-
the necessary information and model the users preferences            pact too) artificial values created by GraphHoppers general
and capabilities. Once a profile has been fed with enough            speed function are added to the profile as well. These val-
information the router can propose customized routes with            ues are added with a short distance of fifty meters, so they
accurate travel time.                                                become less important during the weighting process as soon
   The basic profile, which is stored on disk, is a simple 16x61     as recorded tracks are added to the profile.
matrix. Every row of the matrix corresponds to a way type               After this preparation the original profile with all the
and every column to a slope value ranging from -30% to               empty slots and faulty speed values is ready to be used
+30%. A cell is either null (no data inserted so far) or con-        by the weighting algorithm. The inverted Sigmoid–curve
tains distance and speed. Once a user uploads a track, the           reflects the relation between slope and speed in terms of cy-
system extracts slope, speed (directly from the file provided)       cling. The threshold on traveled way type distance provides
and way type (using GraphHoppers Map–Matching library)               a reliable result.
and fills the profile matrix with the calculated values.
                                                                     3.3.3     Profile aware routing
3.3.2    Profile preparation                                            The first step of GraphHoppers weighting mechanism asks
  The profiles encoding the history of the cyclists have to be       the profile manager for the weighted average speed of the
post–processed so that they can be used during the weight-           user at a certain way type and slope. If the requested way
ing process. Doing this, two major problems need to be               type has at least ten kilometers of uploaded track parts
addressed:                                                           then the speed value will be returned from the curve fit-
                                                                     ted dataset. Otherwise the system searches for the way type
   • The profile will probably have empty spots for certain          with the highest amount of uploaded track parts. If this way
     way type/slope combinations even if the user uploaded           type meets the required ten kilometers, the system takes the
     a lot of different tracks.                                      speed from this dataset and modifies it according to the dif-
   • Faulty speed values need to be corrected, especially if         ference between the base speed of the requested way type
     only few samples have been uploaded for specific way            and the way type from the dataset. Only when dealing with
     type/slope pairs.                                               a profile which does not include a single way type matching
                                                                     the ten kilometers requirement the routing engine uses the
  The solution to both of these problems is curve fitting.           general (not user specific) speed calculation function. In any
By specifying an accurate curve, gaps can be filled appro-           case the returned speed is used to calculate the travel time
priately, outliers can be corrected and the speed value can          for this specific edge.
be forced to adopt according to the well-known energetics of            The second step estimates the preference of an edge. For
cycling that were explored by [12] and [16].                         this purpose the ratio of each way types distance to the
  The researchers showed that cyclists gain speed quickly            total cycled distance of the user will be compute. This value
once the track goes downhill, but also that the absolute             influences the preference of a certain edge, but considering
speed increase diminishes while the downward movement in-            only the way type is not enough. The ratio of the surface
creased, because a cyclist starts to break and head wind be-         type is used as well, which causes the routing engine to prefer
comes a factor. With increasing slope the average speed of a         also similar way types.
cyclist decreases fast but also - even in this case - the steeper
the track gets the absolute speed decrease minimizes. This           4.    EVALUATION
behavior is very similar to an inverted Sigmoid–curve [5].
                                                                       The main purpose of the presented router is to provide
In order to fit this S–shaped curve to the profile samples,
                                                                     user specific paths, with accurate travel time taking ele-
a special version of the Sigmoid–curve, the so called inverse
                                                                     vation into account. The estimated travel times are now
logistic function, is used:
                                                                     evaluated against actually recorded track times. It is also
                                                                     examined how the router reacts according to different way
                                      L                              type preferences of cyclists.
                  f (x) = 1 −                                (1)
                                1 + e−k(x−x0)
                                                                     4.1     Travel time
   • L = the curves maximal value (the upper bound).                   Getting an accurate personalized travel time estimation is
   • k = the steepness of the curve (its “growth rate”).             valuable to cyclists. In order to evaluate these estimations
                                                                     against real GPS recordings, ten trips have been recorded
   • x0 = the mid-point of the curve (its inflection point) .        with different elevation profile and various difficulties. These
                                                                     recordings have been used to create three profiles.
  Function 1 is used by the curve fitting process, searching
for the parameters L, k, x0 using a weighted least squares                • Profile 1 (P1) is created using two recordings. The




                                                                77
          Elevation Enabled Bicycle Router Supporting User-Profiles




        (a) orig. GraphHopper (b) Without profile (c) Moutainbike profile (d) Racing profile         (e) Touring profile

     Figure 1: Comparison between original GraphHopper and the bicycle router without and with profiles


       first one is a long trip (about 15 kilometers and eighty
       minutes of travel time), with steep inclines as well as      Table 3: Travel time (min) with different riders
       declines. The second track is shorter (approximately         Experiment                   GPS orig.     with
       five kilometers) and almost flat.                                                         time Graph– profile
                                                                                                      Hopper
     • Profile 2 (P2) uses information from a track of approx-      Rider #1 – uphill track      71   87       71
       imately ten kilometers that has been recorded in both        Rider #1 – downhill track    28   39       31
       directions.                                                  Rider #2 – up-/dowhill track 59   147      64
                                                                    1
     • Profile 3 (P3) consists of multiple short recordings,        Rider #2 – up-/dowhill track 60   158      60
       which have inclines, declines as well as flat parts.         2
  Concerning the profile–awareness, four routes (which are
not part of any of the profiles) have been requested compar-
                                                                   It can be observed that profiles work well for slow (Rider
ing their results against actual recorded travel times. Table
                                                                   #1) and fast cyclists (Rider #2) and always deliver better
2 lists the measured travel times and the ones for the cre-
                                                                   results than the original, unmodified GraphHopper imple-
ated profiles. Moreover, it also contains the estimated time
                                                                   mentation.
by the original, unmodified GraphHopper engine in contrast
to the elevation aware router without profile as described in      4.2    Way type preference
Section 3.2.                                                          One major goal for the presented bicycle router is that it
                                                                   should find the best path for each individual user. To eval-
     Table 2: Travel time (min) on recorded tracks                 uate this task, five profiles from different tracks have been
    Track         GPS orig.     w/o     P1 P2 P3                   created. They were used to look up routes using the same
                  time Graph– profile                              start- and end points. The resulting paths are analyzed to
                        Hopper                                     understand how the routing engine reacts to different user
    Konstantin    12    20      16      13 17 13                   preferences. For this purpose the outcome of the unmodified
    – Seis                                                         GraphHopper, the developed bicycle router without a pro-
    Seis Dorf     14    26      18      14 16 15                   file, with a profile of a racing cyclist and with a profile of a
                                                                   mountain biker have been compared in Figure 1. The orig-
    Seis – Seiser 71    130     111     67 70 66
                                                                   inal GraphHopper router (1(a)) proposes a path on streets
    Alm
                                                                   that is very similar to the one of the bicycle router without
    Seiser Alm – 15     43      18      14 15 15
                                                                   profile (1(b)) and with a touring profile (1(e)). Figure 1(c)
    Seis
                                                                   presents the suggested path using a MTB profile which is the
                                                                   only one, that proposes a track with unpaved surfaces. The
   The four different kinds of tracks in Table 2 cover uphill,     last path to consider is the proposal for the racing cyclist
downhill and flat paths, in and outside settlements. The           (1(d)) that is a path on the primary roads in this area.
third track is a steep uphill track, where routing with pro-          This shows that the routing engine reacts very flexible and
file information makes a big difference. The bicycle router        responses according to a cyclists needs.
comes closer to the original travel time than the unmodified
GraphHopper does for all tracks. This even holds true when         5.    SUMMARY AND OUTLOOK
the bicycle router without profiles. However, with only one
exception (P2 on Track one is off by one more minute), pro-          People rely on online services to plan their trips. A car
files increase the accuracy of the estimated travel times even     routing engine does not really need to consider the individ-
more.                                                              uality of a person, because travel time and route preference
   To show that a profile makes a difference across cyclists       usually depends on predefined speed limits and real time
two recordings of a very long trip from RideWithGPS5 were          traffic information. Most of the currently available routing
used. Small parts have been extracted from these trips to          engines take the same approach for bicycle routing, which
become the test data, while the rest of the trips (exclud-         results in very poorly estimated travel times and route pro-
ing the test data) is used to create four profiles. The travel     posals for different users. This paper showed how a profile
time estimation of the test data is then evaluated against         aware routing engine can reflect the physical ability and the
the actual recorded time. The results are given in Table 3.        individual preferences of a cyclist. In order to find the best
                                                                   path for each person it is necessary to reason about the sur-
5
    http://ridewithgps.com/                                        face, the type of a way and the elevation profile, as well as




                                                              78
         Elevation Enabled Bicycle Router Supporting User-Profiles



the physical ability of the requesting cyclist.                            learning. In From Natural to Artificial Neural
   OpenStreetMap has a very flexible data structure and                    Computation, pages 195–201. Springer, 1995.
in order to support user profiles it is necessary to include           [6] P. E. Hart, N. J. Nilsson, and B. Raphael. A formal
more than just the main classification of a street. The pro-               basis for the heuristic determination of minimum cost
posed approach can distinguish between paved and unpaved                   paths. Systems Science and Cybernetics, IEEE
streets, high vs. low traffic streets, cycling ways and push-              Transactions on, 4(2):100–107, 1968.
ing sections. One of sixteen individual classes is assigned            [7] J. Hood, E. Sall, and B. Charlton. A GPS-based
to each way. Combining this information with data about                    bicycle route choice model for San Francisco,
the ways surface as well as its elevation allows to find the               California. Transportation letters, 3(1):63–75, 2011.
most suitable route for racing cyclists, mountain bikers or            [8] P. Karich and S. Schröder. GraphHopper.
any other category of cyclists.                                            https://graphhopper.com, 03 2016.
   With the help of user profiles the presented router is able         [9] M. Loidl and B. Zagel. Wie sicher ist sicher? -
to propose different routes according to the requesting per-               Innovatives Kostenmodell zur Ermittlung des
son. The example from Section 4.2 shows that the routing                   Gefährdungspotenzials auf Radwegen. In AGIT 2010,
engine reacts according to the preferred street types a cyclist            pages 394–403. Wichmann Verlag, 2010.
drove on in the past. For the small search area (approx. five
                                                                      [10] S. K. M. Loidl, B. Zagel and J. Reithofer. Radlkarte
kilometers) it suggests five different tracks for five different
                                                                           Salzburg - Das Radroutingportal für die Stadt
profiles. The profile is also able to reflect the physical ability
                                                                           Salzburg. In AGIT, pages 456–461. AGIT (2013),
of a person, by collecting the average speed a user has on
                                                                           2013.
certain slopes and way types. Section 4.1 shows that it can
estimate the travel time of a user with only a small error,           [11] B. Z. u. G. P. Martin Loidl, Stefan Krampe.
which can further be neglected as a cyclist is not in the same             Aufbereitung von OpenStreetMap-Daten für
condition every day or even due to other influences such as                GIS-Modellierungen und Analysen. In Angewandte
weather conditions. The results show that the system has a                 Geoinformatik 2014. Angewandte Geoinformatik
maximum error of five minutes for tracks lasting more than                 (2014), 2014.
an hour. Without an accurate elevation profile it would not           [12] M. Nüschler. Leistungsfähigkeit auf dem Rad am Berg:
be possible to calculate such exact time estimations. There-               Vergleich zwischen Marco Pantani und Hobbyfahrern.
fore, the elevation models have been examined in much more                 Schweizerische Zeitschrift für ”Sportmedizin und
detail and were even improved in [17].                                     Sporttraumatologie”, 49(2):79–81, 2001.
   There are some minor issues that should be addressed in            [13] OSM Wiki. Routing/online routers — OpenStreetMap
future works. Even though the router has the functionality                 Wiki. http://wiki.openstreetmap.org/wiki/
to find the best path for a user, it is not yet suited to be               Routing/online_routers, 2016. 03/02/2016.
used by the public, since profiles are created through com-           [14] R. Priedhorsky and L. Terveen. The Computational
mand line operations and the user interface is not designed                Geowiki: What, Why, and How. In Proceedings of the
for daily use. The creation of a mobile application, that                  2008 ACM Conference on Computer Supported
supports tracking, searching, uploading routes and manag-                  Cooperative Work, CSCW ’08, pages 267–276, New
ing the profile with a user-friendly interface could also be the           York, NY, USA, 2008. ACM.
next step to make the routing engine accessible to everybody.         [15] Reddy, Sasank and Shilton, Katie and Denisov, Gleb
Another interesting idea of further improving path sugges-                 and Cenizal, Christian and Estrin, Deborah and
tions and the estimated travel time is to include real-time                Srivastava, Mani. Biketastic: Sensing and Mapping for
information, such as weather, traffic jams or the exclusion of             Better Biking. In Proceedings of the SIGCHI
closed roads. Also the fact that a cyclist can get exhausted               Conference on Human Factors in Computing Systems,
over time and therefore is getting slower should be addressed              CHI ’10, pages 1817–1820, New York, NY, USA, 2010.
by using an additional weighting factor related to traveling               ACM.
duration.                                                             [16] H. Schlichting and R. Nobbe. Untersuchungen zur
                                                                           Energetik des Fahrrads. Technic-Didact, 8:225–230,
6.   REFERENCES                                                            1983.
 [1] C. Barron, P. Neis, and A. Zipf. Comprehensive                   [17] D. Silbernagl, N. Krismer, M. Malfertheiner, and
     Framework for Intrinsic OpenStreetMap Quality                         G. Specht. Optimization of digital elevation models for
     Analysis. Transactions in GIS, 18(6):877–895, 2014.                   routing. Tagungsband zum 28. GI-Workshop über
 [2] J. Broach, J. Dill, and J. Gliebe. Where do cyclists                  Grundlagen von Datenbanken (28th GI-Workshop on
     ride? a route choice model developed with revealed                    the Foundations of Databases), 2016.
     preference gps data. Transportation Research Part A:             [18] R. Turverey, D. Cheng, O. Blair, J. Roth, G. Lamp,
     Policy and Practice, 46(10):1730 – 1740, 2012.                        and R. Cogill. Charlottesville bike route planner. In
 [3] P. Corcoran and P. Mooney. Characterising the metric                  Systems and Information Engineering Design
     and topological evolution of OpenStreetMap network                    Symposium (SIEDS), 2010 IEEE, pages 68–72, April
     representations. The European Physical Journal                        2010.
     Special Topics, 215(1):109–122, 2013.
 [4] E. W. Dijkstra. A note on two problems in connexion
     with graphs. Numerische mathematik, 1(1):269–271,
     1959.
 [5] J. Han and C. Moraga. The influence of the sigmoid
     function parameters on the speed of backpropagation




                                                                 79