/usr/share/routino/www/documentation/data.html is in routino-www 3.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Routino : Data</title>
<!--
Routino documentation - data
Part of the Routino routing software.
This file Copyright 2008-2015 Andrew M. Bishop
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
-->
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<!-- Header Start -->
<div class="header">
<h1>Routino : Data</h1>
</div>
<!-- Header End -->
<!-- Content Start -->
<div class="content">
<h2 id="H_1_1">Data</h2>
A router relies on data to be able to find a route.
<h3 id="H_1_1_1">OpenStreetMap Data</h3>
The data that is collected by the OpenStreetMap project consists of
<em>nodes</em>, <em>ways</em> and <em>relations</em>.
<dl>
<dt>Node
<dd>A node is a point that has a latitude and longitude and attributes that
describe what type of point it is (part of a way or a place of interest for
example).
<dt>Way
<dd>A way is a collection of nodes that when joined together define something
(for example a road, a railway, a boundary, a building, a lake etc). The
ways also have attributes that define them (speed limits, type of road and
restrictions for example).
<dt>Relation
<dd>A relation is a collection of items (usually ways) that are related to
each other for some reason (highways that make up a route for example).
</dl>
The
<a class="ext" title="OpenStreetMap Wiki" href="http://wiki.openstreetmap.org/wiki/Main_Page">OpenStreetMap Wiki</a>
explains the data much better than I can.
<h3 id="H_1_1_2">Router Data</h3>
The information that is needed by a routing algorithm is only a subset of the
information that is collected by the OpenStreetMap project. For routing what is
required is information about the location of roads (or other highways), the
connections between the highways and the properties of those highways.
<dl>
<dt>Location of highways (nodes)
<dd>The locations of things is provided by the nodes from the OpenStreetMap
data. The nodes are the only things that have coordinates in
OpenStreetMap and everything else is made up by reference to them. Not
all of the nodes are useful, only the ones that are part of highways. The
location of the nodes is stored but none of the other attributes are
currently used by the router.
<dt>Location of highways (ways)
<dd>The location of the highways is defined in the OpenStreetMap data by the
ways. Only the highway ways are useful and the other ways are discarded.
What remains is lists of nodes that join together to form a section of
highway. This is further split into <em>segments</em> which are
individual parts of a way connected by two nodes.
<dt>Properties of highways (tags)
<dd>The ways that belong to highways are extracted from the data in the
previous step and for each way the useful information for routing is
stored. For the router the useful information is the type of highway, the
speed limit, the allowed types of transport and other restrictions
(one-way, minimum height, maximum weight etc).
<dt>Connections between highways
<dd>The connections between highways are defined in the OpenStreetMap data by
ways that share nodes. Since the ways may join in the middle and not just
the ends it is the segments defined above that are not part of the
OpenStreetMap data that are most important.
</dl>
The information that is extracted from the OpenStreetMap data is stored in an
optimised way that allows the routing to be performed quickly.
<h3 id="H_1_1_3" title="Data Tags">Interpreting Data Tags</h3>
The <em>tags</em> are the information that is attached to the nodes and ways in
OpenStreetMap. The router needs to interpret these tags and use them when
deciding what type of traffic can use a highway (for example).
<p>
There are no well defined rules in OpenStreetMap about tagging, but there is
guidance on the
<a class="ext" title="Map Features" href="http://wiki.openstreetmap.org/wiki/Map_Features">OpenStreetMap Wiki "Map_Features"</a>
page. This describes a set of recommended tags but these are not universally used
so it is up to each application how to interpret them.
<p>
The <a title="Tagging" href="tagging.html">tagging rules</a> that the router
uses are very important in controlling how the router works. With Routino the
data tags can be modified when the data is imported to allow customisation of
the information used for routing.
<h3 id="H_1_1_4" title="Problems With Data">Problems With OpenStreetMap Data</h3>
The route that can be found is only as good as the data that is available. This
is not intended as a criticism of the OpenStreetMap data; it is generally good.
<p>
There are some problems that are well known and which affect the router. For
example highways might be missing because nobody has mapped them. A highway may
be wrongly tagged with incorrect properties, or a highway might be missing
important tags for routing (e.g. speed limits). There can also be problems
with highways that should join but don't because they do not share nodes.
<p>
A lot of these problems can be found using the interactive data visualiser that
uses the same Routino routing database.
</div>
<!-- Content End -->
<!-- Footer Start -->
<div class="footer">
<address>
© Andrew M. Bishop - <a href="http://www.routino.org/">http://www.routino.org/</a>
</address>
</div>
<!-- Footer End -->
</body>
</html>
|