=Paper= {{Paper |id=Vol-2020/paper7 |storemode=property |title=Automatic Generation of Meaningful Virtual Direction Markers in Road Networks |pdfUrl=https://ceur-ws.org/Vol-2020/paper7.pdf |volume=Vol-2020 |authors=Jörg Roth |dblpUrl=https://dblp.org/rec/conf/lbas/Roth17 }} ==Automatic Generation of Meaningful Virtual Direction Markers in Road Networks == https://ceur-ws.org/Vol-2020/paper7.pdf
    Automatic Generation of Meaningful Virtual Direction
                Markers in Road Networks

                                           Jörg Roth

           Department of Computer Science, Nuremberg Institute of Technology,
                      Kesslerplatz 12, 90489 Nuremberg, Germany
                         Joerg.Roth@th-nuernberg.de



           Abstract. Direction markers are widely used in real road networks. They
       show directions to important destinations such as cities, industrial areas, airports
       or touristic sights. In this paper, we introduce virtual direction markers that only
       exist digitally in, e.g., a navigation application. We present an approach to auto-
       matically compute and place such markers without additional manual editing.
       Our assumption: a direction marker resides on an optimal path from an arbitrary
       start to the respective target. However, a naïve approach would place confusing
       or misleading markers. Thus, we add the concept of cropping that removes un-
       wanted markers. Finally, we introduce the notion of relevant crossings and de-
       fault links that additionally improve direction markers.


       Keywords: Road network, Direction marker, Navigation


1      Introduction

Direction markers in road networks are widely known (Fig. 1). They indicate highway
exits or suggest turning at a crossing for a certain destination. Real direction markers
are placed by, e.g., road traffic departments. These have local knowledge about inter-
esting destinations (e.g. cities, important sights) and know useful locations to place
these signs [9]. In addition to standardized traffic signs, we also observe traditional and
historic signs, very often for pedestrians [8].
   In this paper, we introduce virtual direction markers that only appear as data in, e.g.,
a navigation application. Our virtual direction markers are automatically computed
from an existing road network, without additional manual editing. This enables to com-
pute meaningful direction markers even on large road networks with many millions of
links and crossings.
   Virtual direction markers are useful for several applications:

 For a trip that is guided by a navigation application, direction markers placed on a
  map may indicate a crossing situation more clearly.
 For non-guided, explorative driving, meaningful directions markers may show in-
  teresting new destination options for the driver.
94                                                                               LBAS 2017




 Fig. 1. Examples of real direction markers


 An automatically generated driver's logbook may contain textual trip entries that are
  sequences of turns and straight driving. The turns may be expressed by direction
  markers, e.g. "10 km straight, turned left to 'Nuremberg', 5 km straight, turned right
  to 'New Museum of Arts'…".
In addition, such markers can be placed on automatically generated maps that e.g. are
printed.
   We distinguish confirmative und distinctive direction markers. The difference is,
whether the driver is confirmed to stay on the current route or whether the crossing
distinguishes between different targets and tells a driver to turn or exit. Typical con-
firmative markers are signs placed on highways that indicate, the distance to certain
city 'straight ahead' is, e.g., 100 km. In contrast, distinctive direction markers require a
driver to make a certain decision, e.g. to turn left for city A, or to turn right for city B.
For a typical application, distinctive markers are more interesting.
   Our goal is to compute a set of confirmative and distinctive direction markers for
every crossing in the road network and for any interesting destination. In addition to the
algorithmic problem, we have to face some questions to perform this task:

 What are suitable destinations?
 At which crossing are direction markers useful for a certain destination?
 How do we formally separate distinctive from confirmative markers?
As the computation may be part of a mastering step of geo data (e.g. for a navigation
application) it is not time-critical. However, an approach must be suitable for many
millions of crossings and destinations.
   The following approach is based on a long research in the area of untraditional nav-
igation problems. Corresponding solutions are integrated into the HomeRun platform
[2], more specifically into the donavio component for navigational functions [3]. Be-
sides the traditional point-to-point route planning, donavio covers a wide range of fur-
ther solutions:
Ortsbezogene Anwendungen und Dienste 2017                                                    95


 computation of all alternative routes that hold a certain cost limit [7],
 computation of suitable stop-over-points of a certain type (e.g. fuel station) that
  downgrade the optimal route not too much [7],
 computation of m  n optimal routes between m starts and n targets without the need
  to compute all m  n individual paths [5],
 computation of traveling salesman routes on real road networks (i.e. the distance
  between stop-over-points are not approximated, but real costs) [5],
 computation of isochrones, i.e. the area of targets that can be reached within a given
  cost limit; also multi-isochrones (i.e. from multiple starts),
 prediction of a target from a partially observed route [4],
 prediction of a driven route from imprecise position sensors based on the optimal
  route assumption [6].
As a new donavio function, we want to enrich the road network to carry direction in-
formation.


2      Computing Virtual Direction Markers

2.1    A First Approach
We start with some definitions. Let V denote the set of crossings and E the set of (di-
rected) links between crossings. Further let out(v) denote all outgoing links from and
in(v) all incoming links to a crossing v.
   For an eE, vbegin(e) denotes the start crossing, vend(e) the end crossing. We simply
write e=(vbegin(e), vend(e)). In addition we call e =(vend(e), vbegin(e)) the reverse link of e.
   Links have costs, denoted by c(e) or c(v1, v2). Costs are the measure that a certain
direction wants to minimize. In other words: following a certain direction marker, the
total costs to the direction is less than going via another direction. Typical costs are
driving time or driving distance.
   Finally, we need a set of interesting direction targets, we call landmarks. Let M de-
note the set of all landmarks. We assume M neither is a subset of E nor V, but there is
an obvious relation lm(m)V for mM that maps a landmark m to a subset of crossings.
For area-like landmarks (e.g. cities), a reasonable lm identifies all crossings within the
surface area of m.
   We are now looking for all direction markers for all links. For a certain link e we
call dir(e)M the set of these markers. We can express the basic idea of the first ap-
proach to compute dir(e) as follows:

               All direction markers to a landmark reside on an optimal
                  route from a virtual starting point to this landmark.

Here, 'virtual starting point' means: we can choose any crossing that has no actual re-
lation to the landmark or to the respective link. We also do not actually drive from this
96                                                                             LBAS 2017


starting point. However, all links of the corresponding route are directed to the land-
mark, thus can create our direction markers.
   A naïve approach would compute optimal routes from all crossings to all landmarks.
This however, would be too time-consuming. A first simplification is thus: we reverse
the direction of route computation and start from the landmarks. Important: we do not
reverse the driving direction, but only the ordering of visiting the links. This in partic-
ular is important, as links in road networks are directed and have to respect one-ways
or different speed limits for different directions. To compute all links to the landmark
we use a Dijkstra-like approach [1].
   A second simplification: we limit the range for directions. Only within a range from
a landmark, we assign direction markers. We, e.g., would not expect a direction marker
'Rome in 2000 km', but only within 500 km. We call the maximum range maxC(m) – it
depends on the respective landmark.
   An algorithm to compute dir(e) for each eE can be sketched as follows:


     Algorithm compute_dir(V, E, M, c, lm, maxC)  dir
     for each eE { dir[e]={}; }
     for each mM {
         create empty arrays g, state, backLink, d;
         for each vV { backLink[v]undef; }
         for each vlm(m) { g[v]0; state[v]open;                   }
         for each vlm(m) { g[v] -1; state[v]not_visited; }
         for each eE { d[e]undef; }
         openListlm(m);
         while not openList.isEmpty() {
             vopenList.poll();          // get crossing with state open and minimal g
             if g[v]>maxC(m) then break; // limit of interest reached
             state[v]closed;
             for all e=(v, vn)out(v) with state[vn]closed {
                 gnewg[v]+c(v, vn);
                 if state[vn]=not_visited or gnewmaxC then break; // limit of interest reached
              state[v] closed;
              for all e=(v, vn)out(v) with state[vn]closed {
                  gnewg[v]+c(v, vn);
                  if state[vn]=not_visited or gnew