1 <?xml version="1.0" encoding="UTF-8" ?>
3 <!-- ============================================================
4 $Header: /home/amb/routino/xml/RCS/routino-tagging.xml,v 1.2 2010/06/26 19:26:47 amb Exp $
6 An XML format file containing Routino tagging rules
8 Part of the Routino routing software.
9 ============================================================
10 This file Copyright 2010 Andrew M. Bishop
12 This program is free software: you can redistribute it and/or modify
13 it under the terms of the GNU Affero General Public License as published by
14 the Free Software Foundation, either version 3 of the License, or
15 (at your option) any later version.
16 ============================================================ -->
18 <routino-tagging xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 xsi:noNamespaceSchemaLocation="http://www.routino.org/xml/routino-tagging.xsd">
21 <!-- Node rules are not currently used -->
30 <!-- Highway types (includes default access and default properties) -->
32 <if k="highway" v="motorway_link">
36 <if k="highway" v="motorway">
39 <output k="motorbike" v="yes"/>
40 <output k="motorcar" v="yes"/>
41 <output k="goods" v="yes"/>
42 <output k="hgv" v="yes"/>
43 <output k="psv" v="yes"/>
45 <output k="paved" v="yes"/>
46 <output k="multilane" v="yes"/>
47 <output k="oneway" v="yes"/>
50 <if k="highway" v="trunk_link">
54 <if k="highway" v="trunk">
57 <output k="bicycle" v="yes"/>
58 <output k="moped" v="yes"/>
59 <output k="motorbike" v="yes"/>
60 <output k="motorcar" v="yes"/>
61 <output k="goods" v="yes"/>
62 <output k="hgv" v="yes"/>
63 <output k="psv" v="yes"/>
65 <output k="paved" v="yes"/>
68 <if k="highway" v="primary_link">
72 <if k="highway" v="primary">
75 <output k="foot" v="yes"/>
76 <output k="horse" v="yes"/>
77 <output k="wheelchair" v="no"/>
78 <output k="bicycle" v="yes"/>
79 <output k="moped" v="yes"/>
80 <output k="motorbike" v="yes"/>
81 <output k="motorcar" v="yes"/>
82 <output k="goods" v="yes"/>
83 <output k="hgv" v="yes"/>
84 <output k="psv" v="yes"/>
86 <output k="paved" v="yes"/>
89 <if k="highway" v="secondary_link">
93 <if k="highway" v="secondary">
96 <output k="foot" v="yes"/>
97 <output k="horse" v="yes"/>
98 <output k="wheelchair" v="yes"/>
99 <output k="bicycle" v="yes"/>
100 <output k="moped" v="yes"/>
101 <output k="motorbike" v="yes"/>
102 <output k="motorcar" v="yes"/>
103 <output k="goods" v="yes"/>
104 <output k="hgv" v="yes"/>
105 <output k="psv" v="yes"/>
107 <output k="paved" v="yes"/>
110 <if k="highway" v="tertiary">
111 <output k="highway"/>
113 <output k="foot" v="yes"/>
114 <output k="horse" v="yes"/>
115 <output k="wheelchair" v="yes"/>
116 <output k="bicycle" v="yes"/>
117 <output k="moped" v="yes"/>
118 <output k="motorbike" v="yes"/>
119 <output k="motorcar" v="yes"/>
120 <output k="goods" v="yes"/>
121 <output k="hgv" v="yes"/>
122 <output k="psv" v="yes"/>
124 <output k="paved" v="yes"/>
127 <if k="highway" v="minor">
128 <set k="highway" v="unclassified"/>
131 <if k="highway" v="road">
132 <set k="highway" v="unclassified"/>
135 <if k="highway" v="unclassified">
136 <output k="highway"/>
138 <output k="foot" v="yes"/>
139 <output k="horse" v="yes"/>
140 <output k="wheelchair" v="yes"/>
141 <output k="bicycle" v="yes"/>
142 <output k="moped" v="yes"/>
143 <output k="motorbike" v="yes"/>
144 <output k="motorcar" v="yes"/>
145 <output k="goods" v="yes"/>
146 <output k="hgv" v="yes"/>
147 <output k="psv" v="yes"/>
149 <output k="paved" v="yes"/>
152 <if k="highway" v="living_street">
153 <set k="highway" v="residential"/>
156 <if k="highway" v="residential">
157 <output k="highway"/>
159 <output k="foot" v="yes"/>
160 <output k="horse" v="yes"/>
161 <output k="wheelchair" v="yes"/>
162 <output k="bicycle" v="yes"/>
163 <output k="moped" v="yes"/>
164 <output k="motorbike" v="yes"/>
165 <output k="motorcar" v="yes"/>
166 <output k="goods" v="yes"/>
167 <output k="hgv" v="yes"/>
168 <output k="psv" v="yes"/>
170 <output k="paved" v="yes"/>
173 <if k="highway" v="services">
174 <set k="highway" v="service"/>
177 <if k="highway" v="service">
178 <output k="highway"/>
180 <output k="foot" v="yes"/>
181 <output k="horse" v="yes"/>
182 <output k="wheelchair" v="yes"/>
183 <output k="bicycle" v="yes"/>
184 <output k="moped" v="yes"/>
185 <output k="motorbike" v="yes"/>
186 <output k="motorcar" v="yes"/>
187 <output k="goods" v="yes"/>
188 <output k="hgv" v="yes"/>
189 <output k="psv" v="yes"/>
191 <output k="paved" v="yes"/>
194 <if k="highway" v="byway">
195 <set k="highway" v="track"/>
198 <if k="highway" v="unsurfaced">
199 <set k="highway" v="track"/>
202 <if k="highway" v="unpaved">
203 <set k="highway" v="track"/>
206 <if k="highway" v="track">
207 <output k="highway"/>
209 <output k="foot" v="yes"/>
210 <output k="horse" v="yes"/>
211 <output k="bicycle" v="yes"/>
214 <if k="tracktype" v="grade1">
215 <output k="paved" v="yes"/>
218 <if k="highway" v="cycleway">
219 <output k="highway"/>
221 <output k="foot" v="yes"/>
222 <output k="wheelchair" v="yes"/>
223 <output k="bicycle" v="yes"/>
225 <output k="paved" v="yes"/>
228 <if k="highway" v="footway">
229 <set k="highway" v="path"/>
232 <if k="highway" v="bridleway">
233 <set k="highway" v="path"/>
235 <output k="horse" v="yes"/>
236 <output k="bicycle" v="yes"/>
239 <if k="highway" v="pedestrian">
240 <set k="highway" v="path"/>
242 <output k="paved" v="yes"/>
245 <if k="highway" v="walkway">
246 <set k="highway" v="path"/>
248 <output k="paved" v="yes"/>
251 <if k="highway" v="path">
252 <output k="highway"/>
254 <output k="foot" v="yes"/>
255 <output k="wheelchair" v="yes"/>
258 <if k="highway" v="steps">
259 <output k="highway"/>
261 <output k="foot" v="yes"/>
264 <if k="junction" v="roundabout">
265 <output k="junction" v="roundabout"/>
266 <output k="oneway" v="yes"/>
269 <!-- Normalisation of access tags -->
271 <if v="designated" ><set v="yes"/></if>
272 <if v="permissive" ><set v="yes"/></if>
273 <if v="destination"><set v="yes"/></if>
275 <if v="private"><set v="no"/></if>
277 <!-- Generic access permissions for all transport types (to override defaults) -->
280 <set k="noaccess" v="yes"/>
283 <if k="access" v="true">
284 <set k="noaccess" v="no"/>
287 <if k="access" v="yes">
288 <set k="noaccess" v="no"/>
291 <if k="noaccess" v="yes">
292 <output k="foot" v="no"/>
293 <output k="horse" v="no"/>
294 <output k="wheelchair" v="no"/>
295 <output k="bicycle" v="no"/>
296 <output k="moped" v="no"/>
297 <output k="motorbike" v="no"/>
298 <output k="motorcar" v="no"/>
299 <output k="goods" v="no"/>
300 <output k="hgv" v="no"/>
301 <output k="psv" v="no"/>
304 <!-- Generic access permissions for classes of transport types -->
306 <if k="motor_vehicle">
308 <output k="motorbike"/>
309 <output k="motorcar"/>
316 <output k="bicycle"/>
318 <output k="motorbike"/>
319 <output k="motorcar"/>
325 <!-- Other access permissions (UK) -->
327 <if k="designation" v="restricted_byway">
328 <output k="foot" v="yes"/>
329 <output k="horse" v="yes"/>
330 <output k="wheelchair" v="yes"/>
331 <output k="bicycle" v="yes"/>
334 <if k="designation" v="byway">
335 <output k="foot" v="yes"/>
336 <output k="horse" v="yes"/>
337 <output k="wheelchair" v="yes"/>
338 <output k="bicycle" v="yes"/>
339 <output k="moped" v="yes"/>
340 <output k="motorbike" v="yes"/>
341 <output k="motorcar" v="yes"/>
344 <if k="designation" v="public_bridleway">
348 <if k="designation" v="bridleway">
349 <output k="foot" v="yes"/>
350 <output k="horse" v="yes"/>
351 <output k="wheelchair" v="yes"/>
352 <output k="bicycle" v="yes"/>
355 <if k="designation" v="public_footpath">
359 <if k="designation" v="footpath">
360 <output k="foot" v="yes"/>
361 <output k="wheelchair" v="yes"/>
364 <!-- Specific access rules (to override the generic ones) -->
366 <if k="foot" ><output/></if>
367 <if k="horse" ><output/></if>
368 <if k="wheelchair"><output/></if>
369 <if k="bicycle" ><output/></if>
370 <if k="moped" ><output/></if>
371 <if k="motorbike" ><output/></if>
372 <if k="motorcar" ><output/></if>
373 <if k="goods" ><output/></if>
374 <if k="hgv" ><output/></if>
375 <if k="psv" ><output/></if>
377 <!-- Normalisation of property tags -->
383 <if k="surface" v="paved">
384 <set k="paved" v="yes"/>
387 <if k="surface" v="concrete">
388 <set k="paved" v="yes"/>
391 <if k="surface" v="ashphalt">
392 <set k="paved" v="yes"/>
397 <set k="multilane" v="yes"/>
401 <set k="multilane" v="no"/>
404 <!-- Specific property rules (to override the default ones) -->
406 <if k="paved" ><output/></if>
407 <if k="multilane"><output/></if>
409 <if k="bridge" ><output/></if>
410 <if k="tunnel" ><output/></if>
412 <!-- Output the restriction tags -->
414 <if k="oneway"><output/></if>
416 <if k="maxspeed"><output/></if>
418 <if k="maxweight"><output/></if>
419 <if k="maxheight"><output/></if>
420 <if k="maxwidth" ><output/></if>
421 <if k="maxlength"><output/></if>
423 <!-- Output the name and reference tags -->
425 <if k="name"><output/></if>
426 <if k="ref" ><output/></if>
430 <!-- Relation rules are not currently used -->