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