Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino
Contents of /trunk/doc/html/data.html
Parent Directory
|
Revision Log
Revision 584 -
(show annotations)
(download)
(as text)
Wed Dec 29 10:50:43 2010 UTC (14 years, 3 months ago) by amb
File MIME type: text/html
File size: 6290 byte(s)
Wed Dec 29 10:50:43 2010 UTC (14 years, 3 months ago) by amb
File MIME type: text/html
File size: 6290 byte(s)
Added the uncontrolled (not auto-generated) files from routino-1.4.1.
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-2010 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 ralway, 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, min height, max 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 rouing 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 | © Andrew M. Bishop = <amb "at" gedanken.demon.co.uk> |
157 | </address> |
158 | |
159 | </div> |
160 | |
161 | <!-- Footer End --> |
162 | |
163 | </BODY> |
164 | |
165 | </HTML> |