Routino SVN Repository Browser

Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino

ViewVC logotype

Contents of /trunk/doc/html/data.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 737 - (show annotations) (download) (as text)
Mon May 30 12:51:08 2011 UTC (13 years, 10 months ago) by amb
File MIME type: text/html
File size: 6300 byte(s)
Run a spelling check on the documentation.

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