cartocss_helper 1.2.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/cartocss_helper.rb +56 -71
- data/lib/cartocss_helper/configuration.rb +84 -37
- data/lib/cartocss_helper/data_file_handling.rb +32 -35
- data/lib/cartocss_helper/git.rb +17 -27
- data/lib/cartocss_helper/heuristic.rb +39 -41
- data/lib/cartocss_helper/image_generator.rb +36 -38
- data/lib/cartocss_helper/notes_downloader.rb +46 -0
- data/lib/cartocss_helper/overpass_downloader.rb +42 -0
- data/lib/cartocss_helper/overpass_query_generator.rb +248 -0
- data/lib/cartocss_helper/renderer_handler.rb +116 -0
- data/lib/cartocss_helper/style_specific/default_osm_style.rb +722 -546
- data/lib/cartocss_helper/style_specific/style_specific.rb +4 -3
- data/lib/cartocss_helper/tag_lister.rb +136 -112
- data/lib/cartocss_helper/util/filehelper.rb +1 -1
- data/lib/cartocss_helper/util/generic_cached_downloader.rb +49 -0
- data/lib/cartocss_helper/util/generic_downloader.rb +65 -0
- data/lib/cartocss_helper/util/logger.rb +30 -0
- data/lib/cartocss_helper/util/rest-client_wrapper.rb +53 -0
- data/lib/cartocss_helper/util/systemhelper.rb +55 -0
- data/lib/cartocss_helper/validator.rb +142 -81
- data/lib/cartocss_helper/visualise_changes_diff_from_images.rb +36 -34
- data/lib/cartocss_helper/visualise_changes_image_generation.rb +72 -100
- data/lib/data/testing_locations.rb +17 -15
- data/readme.md +34 -9
- metadata +140 -39
- data/lib/cartocss_helper/downloader.rb +0 -301
- data/lib/cartocss_helper/tilemill_handler.rb +0 -38
@@ -0,0 +1,116 @@
|
|
1
|
+
require_relative 'util/systemhelper.rb'
|
2
|
+
|
3
|
+
include SystemHelper
|
4
|
+
|
5
|
+
module CartoCSSHelper
|
6
|
+
class RendererFailedToGenerateFile < StandardError
|
7
|
+
end
|
8
|
+
|
9
|
+
class RendererHandler
|
10
|
+
def self.cache_exists(export_filename, debug)
|
11
|
+
if File.exist?(export_filename)
|
12
|
+
puts 'wanted file exists' if debug
|
13
|
+
return true
|
14
|
+
end
|
15
|
+
return false
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.tilemill_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
19
|
+
raise 'mapnik reference overrride impossible for TileMill!' if CartoCSSHelper::Configuration.mapnik_reference_version_override
|
20
|
+
bbox = get_bbox_string(lat, lon, bbox_size)
|
21
|
+
params = "--format=png --width=#{image_size} --height=#{image_size} --static_zoom=#{zlevel} --bbox=\"#{bbox}\""
|
22
|
+
project_name = CartoCSSHelper::Configuration.get_cartocss_project_name
|
23
|
+
return "node /usr/share/tilemill/index.js export #{project_name} '#{export_filename}' #{params}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.kosmtik_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
27
|
+
mapnik_override = CartoCSSHelper::Configuration.mapnik_reference_version_override
|
28
|
+
additional_params = ""
|
29
|
+
additional_params += " --mapnik-version=#{mapnik_override}" if mapnik_override
|
30
|
+
return base_kosmtik_command(lat, lon, zlevel, bbox_size, image_size, export_filename, additional_params: additional_params)
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.magnacarto_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
34
|
+
mapnik_override = CartoCSSHelper::Configuration.mapnik_reference_version_override
|
35
|
+
additional_params = " --renderer=magnacarto"
|
36
|
+
additional_params += " --mapnik-version=#{mapnik_override}" if mapnik_override
|
37
|
+
return base_kosmtik_command(lat, lon, zlevel, bbox_size, image_size, export_filename, additional_params: additional_params)
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.base_kosmtik_command(lat, lon, zlevel, bbox_size, image_size, export_filename, additional_params: '')
|
41
|
+
bbox = get_bbox_string(lat, lon, bbox_size)
|
42
|
+
params = "--format=png --width=#{image_size} --height=#{image_size} --bounds=\"#{bbox}\""
|
43
|
+
project_name = CartoCSSHelper::Configuration.get_cartocss_project_name
|
44
|
+
yaml = CartoCSSHelper::Configuration.project_file_location
|
45
|
+
kosmtik = "#{CartoCSSHelper::Configuration.path_to_kosmtik}index.js"
|
46
|
+
return "node #{kosmtik} export #{yaml} --output '#{export_filename}' #{additional_params} #{params}"
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.find_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
50
|
+
if CartoCSSHelper::Configuration.renderer == :tilemill
|
51
|
+
return tilemill_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
52
|
+
elsif CartoCSSHelper::Configuration.renderer == :kosmtik
|
53
|
+
return kosmtik_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
54
|
+
elsif CartoCSSHelper::Configuration.renderer == :magnacarto
|
55
|
+
return magnacarto_command(lat, lon, zlevel, bbox_size, image_size, export_filename)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.renderer_marking
|
60
|
+
renderer = "#{CartoCSSHelper::Configuration.renderer}_"
|
61
|
+
mapnik_reference = 'mapnik_reference=default_'
|
62
|
+
if CartoCSSHelper::Configuration.mapnik_reference_version_override
|
63
|
+
mapnik_reference = "mapnik_reference=#{CartoCSSHelper::Configuration.mapnik_reference_version_override}_"
|
64
|
+
end
|
65
|
+
return "#{renderer}#{mapnik_reference}"
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.get_cache_file_location(export_filename)
|
69
|
+
cache_folder = CartoCSSHelper::Configuration.get_path_to_folder_for_branch_specific_cache
|
70
|
+
return "#{cache_folder}#{renderer_marking}#{export_filename}"
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.image_available_from_cache(lat, lon, zlevel, bbox_size, image_size, export_filename, debug = false)
|
74
|
+
return File.exist?(get_cache_file_location(export_filename))
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.request_image_from_renderer(lat, lon, zlevel, bbox_size, image_size, export_filename, debug = false)
|
78
|
+
raise "filename, not path <#{export_filename}> was provided" if export_filename.include?("/")
|
79
|
+
export_location = get_cache_file_location(export_filename)
|
80
|
+
return export_location if cache_exists(export_location, debug)
|
81
|
+
|
82
|
+
start = Time.now
|
83
|
+
|
84
|
+
command_to_execute = find_command(lat, lon, zlevel, bbox_size, image_size, export_location)
|
85
|
+
|
86
|
+
execute_rendering_command(command_to_execute, export_location, debug)
|
87
|
+
|
88
|
+
puts "generated in #{(Time.now - start).to_i}s (#{Git.get_commit_hash})"
|
89
|
+
return export_location
|
90
|
+
end
|
91
|
+
|
92
|
+
def self.execute_rendering_command(command, export_location, debug)
|
93
|
+
output = nil
|
94
|
+
begin
|
95
|
+
output = execute_command(command, debug, ignore_stderr_presence: true)
|
96
|
+
rescue FailedCommandException => e
|
97
|
+
puts e
|
98
|
+
raise RendererFailedToGenerateFile, "generation of file #{export_location} failed due to #{e}"
|
99
|
+
end
|
100
|
+
|
101
|
+
return export_location if cache_exists(export_location, false)
|
102
|
+
raise RendererFailedToGenerateFile, "generation of file #{export_location} silently failed with command <#{command}> and output <#{output}>"
|
103
|
+
end
|
104
|
+
|
105
|
+
def self.get_bbox_string(lat, lon, bbox_size)
|
106
|
+
latitude_bb_size = bbox_size[0]
|
107
|
+
longitude_bb_size = bbox_size[1]
|
108
|
+
#--bbox=[xmin,ymin,xmax,ymax]
|
109
|
+
xmin = lon - longitude_bb_size / 2
|
110
|
+
ymin = lat - latitude_bb_size / 2
|
111
|
+
xmax = lon + longitude_bb_size / 2
|
112
|
+
ymax = lat + latitude_bb_size / 2
|
113
|
+
return "#{xmin},#{ymin},#{xmax},#{ymax}"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -5,559 +5,735 @@ module CartoCSSHelper
|
|
5
5
|
def self.get_style_data
|
6
6
|
min_z = 4
|
7
7
|
max_z = 22
|
8
|
-
return CartoCSSHelper::StyleSpecificData.new(min_z, max_z, get_expected_tag_status, get_composite_sets)
|
8
|
+
return CartoCSSHelper::StyleSpecificData.new(min_z, max_z, get_expected_tag_status, get_composite_sets, name_label_is_not_required)
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.get_expected_tag_status
|
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
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
12
|
+
return [
|
13
|
+
TagRenderingStatus.new('access', '*', :composite, { 'amenity' => 'parking' }),
|
14
|
+
TagRenderingStatus.new('access', 'destination', :composite, { 'highway' => 'service' }),
|
15
|
+
TagRenderingStatus.new('access', 'no', :composite, { 'highway' => 'service' }),
|
16
|
+
TagRenderingStatus.new('access', 'private', :composite, { 'highway' => 'service' }),
|
17
|
+
TagRenderingStatus.new('addr:housename', '*', :primary),
|
18
|
+
TagRenderingStatus.new('addr:housenumber', '*', :primary),
|
19
|
+
TagRenderingStatus.new('addr:interpolation', '*', :primary),
|
20
|
+
TagRenderingStatus.new('admin_level', '2', :composite, { 'boundary' => 'administrative' }),
|
21
|
+
TagRenderingStatus.new('admin_level', '3', :composite, { 'boundary' => 'administrative' }),
|
22
|
+
TagRenderingStatus.new('admin_level', '4', :composite, { 'boundary' => 'administrative' }),
|
23
|
+
TagRenderingStatus.new('admin_level', '5', :composite, { 'boundary' => 'administrative' }),
|
24
|
+
TagRenderingStatus.new('admin_level', '6', :composite, { 'boundary' => 'administrative' }),
|
25
|
+
TagRenderingStatus.new('admin_level', '7', :composite, { 'boundary' => 'administrative' }),
|
26
|
+
TagRenderingStatus.new('admin_level', '8', :composite, { 'boundary' => 'administrative' }),
|
27
|
+
TagRenderingStatus.new('admin_level', '9', :composite, { 'boundary' => 'administrative' }),
|
28
|
+
TagRenderingStatus.new('admin_level', '10', :composite, { 'boundary' => 'administrative' }),
|
29
|
+
TagRenderingStatus.new('aerialway', 'cable_car', :primary),
|
30
|
+
TagRenderingStatus.new('aerialway', 'chair_lift', :primary),
|
31
|
+
TagRenderingStatus.new('aerialway', 'drag_lift', :primary),
|
32
|
+
TagRenderingStatus.new('aerialway', 'gondola', :primary),
|
33
|
+
TagRenderingStatus.new('aerialway', 'goods', :primary),
|
34
|
+
TagRenderingStatus.new('aerialway', 'platter', :primary),
|
35
|
+
TagRenderingStatus.new('aerialway', 'rope_tow', :primary),
|
36
|
+
TagRenderingStatus.new('aerialway', 'station', :primary),
|
37
|
+
TagRenderingStatus.new('aeroway', 'aerodrome', :primary),
|
38
|
+
TagRenderingStatus.new('aeroway', 'apron', :primary),
|
39
|
+
TagRenderingStatus.new('aeroway', 'gate', :composite, { 'ref' => '3' }),
|
40
|
+
TagRenderingStatus.new('aeroway', 'helipad', :primary),
|
41
|
+
TagRenderingStatus.new('aeroway', 'runway', :primary),
|
42
|
+
TagRenderingStatus.new('aeroway', 'taxiway', :primary),
|
43
|
+
TagRenderingStatus.new('aeroway', 'terminal', :composite, { 'building' => CartoCSSHelper::Heuristic.get_generic_tag_value }),
|
44
|
+
TagRenderingStatus.new('amenity', 'atm', :primary),
|
45
|
+
TagRenderingStatus.new('amenity', 'bank', :primary),
|
46
|
+
TagRenderingStatus.new('amenity', 'bar', :primary),
|
47
|
+
TagRenderingStatus.new('amenity', 'bench', :primary),
|
48
|
+
TagRenderingStatus.new('amenity', 'bicycle_parking', :primary),
|
49
|
+
TagRenderingStatus.new('amenity', 'bicycle_rental', :primary),
|
50
|
+
TagRenderingStatus.new('amenity', 'biergarten', :primary),
|
51
|
+
TagRenderingStatus.new('amenity', 'bus_station', :primary),
|
52
|
+
TagRenderingStatus.new('amenity', 'cafe', :primary),
|
53
|
+
TagRenderingStatus.new('amenity', 'car_rental', :primary),
|
54
|
+
TagRenderingStatus.new('amenity', 'car_wash', :primary),
|
55
|
+
TagRenderingStatus.new('amenity', 'cinema', :primary),
|
56
|
+
TagRenderingStatus.new('amenity', 'clinic', :primary),
|
57
|
+
TagRenderingStatus.new('amenity', 'college', :primary),
|
58
|
+
TagRenderingStatus.new('amenity', 'community_centre', :primary),
|
59
|
+
TagRenderingStatus.new('amenity', 'courthouse', :primary),
|
60
|
+
TagRenderingStatus.new('amenity', 'dentist', :primary),
|
61
|
+
TagRenderingStatus.new('amenity', 'drinking_water', :primary),
|
62
|
+
TagRenderingStatus.new('amenity', 'doctors', :primary),
|
63
|
+
TagRenderingStatus.new('amenity', 'embassy', :primary),
|
64
|
+
TagRenderingStatus.new('amenity', 'emergency_phone', :primary),
|
65
|
+
TagRenderingStatus.new('amenity', 'food_court', :primary),
|
66
|
+
TagRenderingStatus.new('amenity', 'fast_food', :primary),
|
67
|
+
TagRenderingStatus.new('amenity', 'fountain', :primary),
|
68
|
+
TagRenderingStatus.new('amenity', 'fire_station', :primary),
|
69
|
+
TagRenderingStatus.new('amenity', 'fuel', :primary),
|
70
|
+
TagRenderingStatus.new('amenity', 'grave_yard', :primary),
|
71
|
+
TagRenderingStatus.new('amenity', 'hospital', :primary),
|
72
|
+
TagRenderingStatus.new('amenity', 'hunting_stand', :primary),
|
73
|
+
TagRenderingStatus.new('amenity', 'ice_cream', :primary),
|
74
|
+
TagRenderingStatus.new('amenity', 'kindergarten', :primary),
|
75
|
+
TagRenderingStatus.new('amenity', 'library', :primary),
|
76
|
+
TagRenderingStatus.new('amenity', 'motorcycle_parking', :primary),
|
77
|
+
TagRenderingStatus.new('amenity', 'nightclub', :primary),
|
78
|
+
TagRenderingStatus.new('amenity', 'parking', :primary),
|
79
|
+
TagRenderingStatus.new('amenity', 'pharmacy', :primary),
|
80
|
+
TagRenderingStatus.new('amenity', 'place_of_worship', :primary),
|
81
|
+
TagRenderingStatus.new('amenity', 'police', :primary),
|
82
|
+
TagRenderingStatus.new('amenity', 'post_box', :primary),
|
83
|
+
TagRenderingStatus.new('amenity', 'post_office', :primary),
|
84
|
+
TagRenderingStatus.new('amenity', 'prison', :primary),
|
85
|
+
TagRenderingStatus.new('amenity', 'pub', :primary),
|
86
|
+
TagRenderingStatus.new('amenity', 'recycling', :primary),
|
87
|
+
TagRenderingStatus.new('amenity', 'restaurant', :primary),
|
88
|
+
TagRenderingStatus.new('amenity', 'school', :primary),
|
89
|
+
TagRenderingStatus.new('amenity', 'shelter', :primary),
|
90
|
+
TagRenderingStatus.new('amenity', 'social_facility', :primary),
|
91
|
+
TagRenderingStatus.new('amenity', 'taxi', :primary),
|
92
|
+
TagRenderingStatus.new('amenity', 'telephone', :primary),
|
93
|
+
TagRenderingStatus.new('amenity', 'theatre', :primary),
|
94
|
+
TagRenderingStatus.new('amenity', 'toilets', :primary),
|
95
|
+
TagRenderingStatus.new('amenity', 'townhall', :primary),
|
96
|
+
TagRenderingStatus.new('amenity', 'university', :primary),
|
97
|
+
TagRenderingStatus.new('amenity', 'veterinary', :primary),
|
98
|
+
TagRenderingStatus.new('amenity', 'waste_basket', :primary),
|
99
|
+
TagRenderingStatus.new('area', 'no', :composite, { 'barrier' => 'hedge' }),
|
100
|
+
TagRenderingStatus.new('area', 'yes', :composite, { 'barrier' => 'hedge' }),
|
101
|
+
TagRenderingStatus.new('barrier', 'chain', :primary),
|
102
|
+
TagRenderingStatus.new('barrier', 'city_wall', :primary),
|
103
|
+
TagRenderingStatus.new('barrier', 'embankment', :primary),
|
104
|
+
TagRenderingStatus.new('barrier', 'ditch', :primary),
|
105
|
+
TagRenderingStatus.new('barrier', 'fence', :primary),
|
106
|
+
TagRenderingStatus.new('barrier', 'guard_rail', :primary),
|
107
|
+
TagRenderingStatus.new('barrier', 'handrail', :primary),
|
108
|
+
TagRenderingStatus.new('barrier', 'hedge', :primary),
|
109
|
+
TagRenderingStatus.new('barrier', 'kerb', :primary),
|
110
|
+
TagRenderingStatus.new('barrier', 'retaining_wall', :primary),
|
111
|
+
TagRenderingStatus.new('barrier', 'wall', :primary),
|
112
|
+
TagRenderingStatus.new('barrier', 'block', :primary),
|
113
|
+
TagRenderingStatus.new('barrier', 'bollard', :primary),
|
114
|
+
TagRenderingStatus.new('barrier', 'embankment', :primary),
|
115
|
+
TagRenderingStatus.new('barrier', 'gate', :primary),
|
116
|
+
TagRenderingStatus.new('barrier', 'hedge', :primary),
|
117
|
+
TagRenderingStatus.new('barrier', 'lift_gate', :primary),
|
118
|
+
TagRenderingStatus.new('barrier', 'swing_gate', :primary),
|
119
|
+
TagRenderingStatus.new('bicycle', 'designated', :composite, { 'highway' => 'path' }),
|
120
|
+
TagRenderingStatus.new('boundary', 'administrative', :composite, { 'admin_level' => '2' }),
|
121
|
+
TagRenderingStatus.new('boundary', 'national_park', :primary),
|
122
|
+
TagRenderingStatus.new('bridge', 'aqueduct', :composite, { 'waterway' => 'river' }),
|
123
|
+
TagRenderingStatus.new('bridge', 'boardwalk', :composite, { 'highway' => 'service' }),
|
124
|
+
TagRenderingStatus.new('bridge', 'cantilever', :composite, { 'highway' => 'service' }),
|
125
|
+
TagRenderingStatus.new('bridge', 'covered', :composite, { 'highway' => 'service' }),
|
126
|
+
TagRenderingStatus.new('bridge', 'low_water_crossing', :composite, { 'highway' => 'service' }),
|
127
|
+
TagRenderingStatus.new('bridge', 'movable', :composite, { 'highway' => 'service' }),
|
128
|
+
TagRenderingStatus.new('bridge', 'trestle', :composite, { 'highway' => 'service' }),
|
129
|
+
TagRenderingStatus.new('bridge', 'viaduct', :composite, { 'highway' => 'service' }),
|
130
|
+
TagRenderingStatus.new('bridge', 'yes', :composite, { 'highway' => 'service' }),
|
131
|
+
TagRenderingStatus.new('building', '*', :primary),
|
132
|
+
TagRenderingStatus.new('building', 'no', :not_displayed),
|
133
|
+
TagRenderingStatus.new('capital', 'yes', :composite, { 'place' => 'city', 'name' => 'a' }),
|
134
|
+
TagRenderingStatus.new('capital', '4', :composite, { 'place' => 'city', 'name' => 'a' }),
|
135
|
+
TagRenderingStatus.new('construction', 'bridleway', :composite, { 'highway' => 'construction' }),
|
136
|
+
TagRenderingStatus.new('construction', 'cycleway', :composite, { 'highway' => 'construction' }),
|
137
|
+
TagRenderingStatus.new('construction', 'footway', :composite, { 'highway' => 'construction' }),
|
138
|
+
TagRenderingStatus.new('construction', 'living_street', :composite, { 'highway' => 'construction' }),
|
139
|
+
TagRenderingStatus.new('construction', 'motorway', :composite, { 'highway' => 'construction' }),
|
140
|
+
TagRenderingStatus.new('construction', 'motorway_link', :composite, { 'highway' => 'construction' }),
|
141
|
+
TagRenderingStatus.new('construction', 'path', :composite, { 'highway' => 'construction' }),
|
142
|
+
TagRenderingStatus.new('construction', 'primary', :composite, { 'highway' => 'construction' }),
|
143
|
+
TagRenderingStatus.new('construction', 'primary_link', :composite, { 'highway' => 'construction' }),
|
144
|
+
TagRenderingStatus.new('construction', 'residential', :composite, { 'highway' => 'construction' }),
|
145
|
+
TagRenderingStatus.new('construction', 'secondary', :composite, { 'highway' => 'construction' }),
|
146
|
+
TagRenderingStatus.new('construction', 'secondary_link', :composite, { 'highway' => 'construction' }),
|
147
|
+
TagRenderingStatus.new('construction', 'service', :composite, { 'highway' => 'construction' }),
|
148
|
+
TagRenderingStatus.new('construction', 'tertiary', :composite, { 'highway' => 'construction' }),
|
149
|
+
TagRenderingStatus.new('construction', 'tertiary_link', :composite, { 'highway' => 'construction' }),
|
150
|
+
TagRenderingStatus.new('construction', 'track', :composite, { 'highway' => 'construction' }),
|
151
|
+
TagRenderingStatus.new('construction', 'trunk', :composite, { 'highway' => 'construction' }),
|
152
|
+
TagRenderingStatus.new('construction', 'trunk_link', :composite, { 'highway' => 'construction' }),
|
153
|
+
TagRenderingStatus.new('construction', 'unclassified', :composite, { 'highway' => 'construction' }),
|
154
|
+
TagRenderingStatus.new('covered', 'yes', :composite, { 'highway' => 'service' }),
|
155
|
+
TagRenderingStatus.new('denomination', 'jehovahs_witness', :composite, { 'amenity' => 'place_of_worship', 'religion' => 'christian' }),
|
156
|
+
TagRenderingStatus.new('ele', '*', :composite, { 'natural' => 'peak' }),
|
157
|
+
TagRenderingStatus.new('generator:source', 'wind', :composite, { 'power' => 'generator' }),
|
158
|
+
TagRenderingStatus.new('highway', 'bridleway', :primary),
|
159
|
+
TagRenderingStatus.new('highway', 'bus_guideway', :primary),
|
160
|
+
TagRenderingStatus.new('highway', 'bus_stop', :primary),
|
161
|
+
TagRenderingStatus.new('highway', 'construction', :primary),
|
162
|
+
TagRenderingStatus.new('highway', 'cycleway', :primary),
|
163
|
+
TagRenderingStatus.new('highway', 'elevator', :primary),
|
164
|
+
TagRenderingStatus.new('highway', 'footway', :primary),
|
165
|
+
TagRenderingStatus.new('highway', 'ford', :primary),
|
166
|
+
TagRenderingStatus.new('highway', 'living_street', :primary),
|
167
|
+
TagRenderingStatus.new('highway', 'mini_roundabout', :primary),
|
168
|
+
TagRenderingStatus.new('highway', 'motorway', :primary),
|
169
|
+
TagRenderingStatus.new('highway', 'motorway_junction', :composite, { 'name' => 'a' }),
|
170
|
+
TagRenderingStatus.new('highway', 'motorway_link', :primary),
|
171
|
+
TagRenderingStatus.new('highway', 'path', :primary),
|
172
|
+
TagRenderingStatus.new('highway', 'pedestrian', :primary),
|
173
|
+
TagRenderingStatus.new('highway', 'platform', :primary),
|
174
|
+
TagRenderingStatus.new('highway', 'primary', :primary),
|
175
|
+
TagRenderingStatus.new('highway', 'primary_link', :primary),
|
176
|
+
TagRenderingStatus.new('highway', 'raceway', :primary),
|
177
|
+
TagRenderingStatus.new('highway', 'residential', :primary),
|
178
|
+
TagRenderingStatus.new('highway', 'rest_area', :primary),
|
179
|
+
TagRenderingStatus.new('highway', 'road', :primary),
|
180
|
+
TagRenderingStatus.new('highway', 'secondary', :primary),
|
181
|
+
TagRenderingStatus.new('highway', 'secondary_link', :primary),
|
182
|
+
TagRenderingStatus.new('highway', 'service', :primary),
|
183
|
+
TagRenderingStatus.new('highway', 'services', :primary),
|
184
|
+
TagRenderingStatus.new('highway', 'steps', :primary),
|
185
|
+
TagRenderingStatus.new('highway', 'tertiary', :primary),
|
186
|
+
TagRenderingStatus.new('highway', 'tertiary_link', :primary),
|
187
|
+
TagRenderingStatus.new('highway', 'track', :primary),
|
188
|
+
TagRenderingStatus.new('highway', 'traffic_signals', :primary),
|
189
|
+
TagRenderingStatus.new('highway', 'trunk', :primary),
|
190
|
+
TagRenderingStatus.new('highway', 'trunk_link', :primary),
|
191
|
+
TagRenderingStatus.new('highway', 'turning_circle', :primary), # note: special topology is required
|
192
|
+
TagRenderingStatus.new('highway', 'turning_loop', :primary), # note: special topology is required
|
193
|
+
TagRenderingStatus.new('highway', 'unclassified', :primary),
|
194
|
+
TagRenderingStatus.new('historic', 'archaeological_site', :primary),
|
195
|
+
TagRenderingStatus.new('historic', 'citywalls', :primary),
|
196
|
+
TagRenderingStatus.new('historic', 'memorial', :primary),
|
197
|
+
TagRenderingStatus.new('historic', 'monument', :primary),
|
198
|
+
TagRenderingStatus.new('historic', 'wayside_cross', :primary),
|
199
|
+
TagRenderingStatus.new('horse', 'designated', :composite, { 'highway' => 'path' }),
|
200
|
+
TagRenderingStatus.new('intermittent', 'yes', :composite, { 'waterway' => 'river' }),
|
201
|
+
TagRenderingStatus.new('junction', 'yes', :composite, { 'name' => 'a' }),
|
202
|
+
TagRenderingStatus.new('junction', 'roundabout', :composite, { 'highway' => 'service' }),
|
203
|
+
TagRenderingStatus.new('landuse', 'allotments', :primary),
|
204
|
+
TagRenderingStatus.new('landuse', 'basin', :primary),
|
205
|
+
TagRenderingStatus.new('landuse', 'brownfield', :primary),
|
206
|
+
TagRenderingStatus.new('landuse', 'cemetery', :primary),
|
207
|
+
TagRenderingStatus.new('landuse', 'commercial', :primary),
|
208
|
+
TagRenderingStatus.new('landuse', 'construction', :primary),
|
209
|
+
TagRenderingStatus.new('landuse', 'farm', :primary),
|
210
|
+
TagRenderingStatus.new('landuse', 'farmland', :primary),
|
211
|
+
TagRenderingStatus.new('landuse', 'farmyard', :primary),
|
212
|
+
TagRenderingStatus.new('landuse', 'forest', :primary),
|
213
|
+
TagRenderingStatus.new('landuse', 'garages', :primary),
|
214
|
+
TagRenderingStatus.new('landuse', 'grass', :primary),
|
215
|
+
TagRenderingStatus.new('landuse', 'greenhouse_horticulture', :primary),
|
216
|
+
TagRenderingStatus.new('landuse', 'industrial', :primary),
|
217
|
+
TagRenderingStatus.new('landuse', 'landfill', :primary),
|
218
|
+
TagRenderingStatus.new('landuse', 'meadow', :primary),
|
219
|
+
TagRenderingStatus.new('landuse', 'military', :primary),
|
220
|
+
TagRenderingStatus.new('landuse', 'orchard', :primary),
|
221
|
+
TagRenderingStatus.new('landuse', 'quarry', :primary),
|
222
|
+
TagRenderingStatus.new('landuse', 'railway', :primary),
|
223
|
+
TagRenderingStatus.new('landuse', 'recreation_ground', :primary),
|
224
|
+
TagRenderingStatus.new('landuse', 'reservoir', :primary),
|
225
|
+
TagRenderingStatus.new('landuse', 'residential', :primary),
|
226
|
+
TagRenderingStatus.new('landuse', 'retail', :primary),
|
227
|
+
TagRenderingStatus.new('landuse', 'village_green', :primary),
|
228
|
+
TagRenderingStatus.new('landuse', 'vineyard', :primary),
|
229
|
+
TagRenderingStatus.new('layer', '1', :composite, { 'highway' => 'service' }), # modifies ordering
|
230
|
+
TagRenderingStatus.new('layer', '2', :composite, { 'highway' => 'service' }), # modifies ordering
|
231
|
+
TagRenderingStatus.new('layer', '3', :composite, { 'highway' => 'service' }), # modifies ordering
|
232
|
+
TagRenderingStatus.new('layer', '4', :composite, { 'highway' => 'service' }), # modifies ordering
|
233
|
+
TagRenderingStatus.new('layer', '5', :composite, { 'highway' => 'service' }), # modifies ordering
|
234
|
+
TagRenderingStatus.new('layer', '-1', :composite, { 'highway' => 'service' }), # modifies ordering
|
235
|
+
TagRenderingStatus.new('layer', '-2', :composite, { 'highway' => 'service' }), # modifies ordering
|
236
|
+
TagRenderingStatus.new('layer', '-3', :composite, { 'highway' => 'service' }), # modifies ordering
|
237
|
+
TagRenderingStatus.new('layer', '-4', :composite, { 'highway' => 'service' }), # modifies ordering
|
238
|
+
TagRenderingStatus.new('layer', '-5', :composite, { 'highway' => 'service' }), # modifies ordering
|
239
|
+
TagRenderingStatus.new('leisure', 'common', :primary),
|
240
|
+
TagRenderingStatus.new('leisure', 'garden', :primary),
|
241
|
+
TagRenderingStatus.new('leisure', 'golf_course', :primary),
|
242
|
+
TagRenderingStatus.new('leisure', 'marina', :primary),
|
243
|
+
TagRenderingStatus.new('leisure', 'miniature_golf', :primary),
|
244
|
+
TagRenderingStatus.new('leisure', 'nature_reserve', :primary),
|
245
|
+
TagRenderingStatus.new('leisure', 'park', :primary),
|
246
|
+
TagRenderingStatus.new('leisure', 'picnic_table', :primary),
|
247
|
+
TagRenderingStatus.new('leisure', 'pitch', :primary),
|
248
|
+
TagRenderingStatus.new('leisure', 'playground', :primary),
|
249
|
+
TagRenderingStatus.new('leisure', 'recreation_ground', :primary),
|
250
|
+
TagRenderingStatus.new('leisure', 'slipway', :primary),
|
251
|
+
TagRenderingStatus.new('leisure', 'sports_centre', :primary),
|
252
|
+
TagRenderingStatus.new('leisure', 'stadium', :primary),
|
253
|
+
TagRenderingStatus.new('leisure', 'swimming_pool', :primary),
|
254
|
+
TagRenderingStatus.new('leisure', 'track', :primary),
|
255
|
+
TagRenderingStatus.new('leisure', 'water_park', :primary),
|
256
|
+
TagRenderingStatus.new('man_made', 'breakwater', :primary),
|
257
|
+
TagRenderingStatus.new('man_made', 'bridge', :primary),
|
258
|
+
TagRenderingStatus.new('man_made', 'cutline', :primary),
|
259
|
+
TagRenderingStatus.new('man_made', 'cross', :primary),
|
260
|
+
TagRenderingStatus.new('man_made', 'embankment', :primary),
|
261
|
+
TagRenderingStatus.new('man_made', 'groyne', :primary),
|
262
|
+
TagRenderingStatus.new('man_made', 'lighthouse', :primary),
|
263
|
+
TagRenderingStatus.new('man_made', 'mast', :primary),
|
264
|
+
TagRenderingStatus.new('man_made', 'pier', :primary),
|
265
|
+
TagRenderingStatus.new('man_made', 'water_tower', :primary),
|
266
|
+
TagRenderingStatus.new('man_made', 'windmill', :primary),
|
267
|
+
TagRenderingStatus.new('military', 'danger_area', :primary),
|
268
|
+
TagRenderingStatus.new('name', '*', :composite, { 'highway' => 'service' }),
|
269
|
+
TagRenderingStatus.new('natural', 'bare_rock', :primary),
|
270
|
+
TagRenderingStatus.new('natural', 'bay', :composite, { 'name' => 'a' }),
|
271
|
+
TagRenderingStatus.new('natural', 'beach', :primary),
|
272
|
+
TagRenderingStatus.new('natural', 'cave_entrance', :primary),
|
273
|
+
TagRenderingStatus.new('natural', 'cliff', :primary),
|
274
|
+
TagRenderingStatus.new('natural', 'glacier', :primary),
|
275
|
+
TagRenderingStatus.new('natural', 'grassland', :primary),
|
276
|
+
TagRenderingStatus.new('natural', 'heath', :primary),
|
277
|
+
TagRenderingStatus.new('natural', 'marsh', :primary),
|
278
|
+
TagRenderingStatus.new('natural', 'mud', :primary),
|
279
|
+
TagRenderingStatus.new('natural', 'peak', :primary),
|
280
|
+
TagRenderingStatus.new('natural', 'reef', :primary),
|
281
|
+
TagRenderingStatus.new('natural', 'sand', :primary),
|
282
|
+
TagRenderingStatus.new('natural', 'scree', :primary),
|
283
|
+
TagRenderingStatus.new('natural', 'saddle', :primary),
|
284
|
+
TagRenderingStatus.new('natural', 'scrub', :primary),
|
285
|
+
TagRenderingStatus.new('natural', 'shingle', :primary),
|
286
|
+
TagRenderingStatus.new('natural', 'shoal', :primary),
|
287
|
+
TagRenderingStatus.new('natural', 'spring', :primary),
|
288
|
+
TagRenderingStatus.new('natural', 'tree', :primary),
|
289
|
+
TagRenderingStatus.new('natural', 'tree_row', :primary),
|
290
|
+
TagRenderingStatus.new('natural', 'volcano', :primary),
|
291
|
+
TagRenderingStatus.new('natural', 'water', :primary),
|
292
|
+
TagRenderingStatus.new('natural', 'wetland', :primary),
|
293
|
+
TagRenderingStatus.new('natural', 'wood', :primary),
|
294
|
+
TagRenderingStatus.new('oneway', '-1', :composite, { 'highway' => 'service' }),
|
295
|
+
TagRenderingStatus.new('oneway', 'yes', :composite, { 'highway' => 'service' }),
|
296
|
+
TagRenderingStatus.new('oneway', 'no', :composite, { 'highway' => 'service', 'junction' => 'roundabout' }),
|
297
|
+
TagRenderingStatus.new('oneway', 'reversible', :composite, { 'highway' => 'service', 'junction' => 'roundabout' }),
|
298
|
+
TagRenderingStatus.new('place', 'city', :composite, { 'name' => 'a' }),
|
299
|
+
TagRenderingStatus.new('place', 'farm', :composite, { 'name' => 'a' }),
|
300
|
+
TagRenderingStatus.new('place', 'hamlet', :composite, { 'name' => 'a' }),
|
301
|
+
TagRenderingStatus.new('place', 'island', :composite, { 'name' => 'a' }),
|
302
|
+
TagRenderingStatus.new('place', 'islet', :composite, { 'name' => 'a' }),
|
303
|
+
TagRenderingStatus.new('place', 'isolated_dwelling', :composite, { 'name' => 'a' }),
|
304
|
+
TagRenderingStatus.new('place', 'locality', :composite, { 'name' => 'a' }),
|
305
|
+
TagRenderingStatus.new('place', 'neighbourhood', :composite, { 'name' => 'a' }),
|
306
|
+
TagRenderingStatus.new('place', 'suburb', :composite, { 'name' => 'a' }),
|
307
|
+
TagRenderingStatus.new('place', 'town', :composite, { 'name' => 'a' }),
|
308
|
+
TagRenderingStatus.new('place', 'village', :composite, { 'name' => 'a' }),
|
309
|
+
TagRenderingStatus.new('power', 'generator', :primary),
|
310
|
+
TagRenderingStatus.new('power', 'line', :primary),
|
311
|
+
TagRenderingStatus.new('power', 'minor_line', :primary),
|
312
|
+
TagRenderingStatus.new('power', 'plant', :composite, { 'name' => 'a' }),
|
313
|
+
TagRenderingStatus.new('power', 'pole', :primary),
|
314
|
+
TagRenderingStatus.new('power', 'station', :primary),
|
315
|
+
TagRenderingStatus.new('power', 'sub_station', :primary),
|
316
|
+
TagRenderingStatus.new('power', 'substation', :primary),
|
317
|
+
TagRenderingStatus.new('power', 'tower', :primary),
|
318
|
+
TagRenderingStatus.new('power_source', 'wind', :composite, { 'power' => 'generator' }),
|
319
|
+
TagRenderingStatus.new('railway', 'construction', :primary),
|
320
|
+
TagRenderingStatus.new('railway', 'disused', :primary),
|
321
|
+
TagRenderingStatus.new('railway', 'funicular', :primary),
|
322
|
+
TagRenderingStatus.new('railway', 'halt', :primary),
|
323
|
+
TagRenderingStatus.new('railway', 'level_crossing', :primary),
|
324
|
+
TagRenderingStatus.new('railway', 'light_rail', :primary),
|
325
|
+
TagRenderingStatus.new('railway', 'miniature', :primary),
|
326
|
+
TagRenderingStatus.new('railway', 'monorail', :primary),
|
327
|
+
TagRenderingStatus.new('railway', 'narrow_gauge', :primary),
|
328
|
+
TagRenderingStatus.new('railway', 'platform', :primary),
|
329
|
+
TagRenderingStatus.new('railway', 'preserved', :primary),
|
330
|
+
TagRenderingStatus.new('railway', 'rail', :primary),
|
331
|
+
TagRenderingStatus.new('railway', 'station', :primary),
|
332
|
+
TagRenderingStatus.new('railway', 'subway', :primary),
|
333
|
+
TagRenderingStatus.new('railway', 'subway_entrance', :primary),
|
334
|
+
TagRenderingStatus.new('railway', 'tram', :primary),
|
335
|
+
TagRenderingStatus.new('railway', 'tram_stop', :primary),
|
336
|
+
TagRenderingStatus.new('railway', 'turntable', :primary),
|
337
|
+
TagRenderingStatus.new('ref', '*', :composite, { 'highway' => 'motorway' }),
|
338
|
+
TagRenderingStatus.new('religion', 'buddhist', :composite, { 'amenity' => 'place_of_worship' }),
|
339
|
+
TagRenderingStatus.new('religion', 'christian', :composite, { 'amenity' => 'place_of_worship' }),
|
340
|
+
TagRenderingStatus.new('religion', 'hindu', :composite, { 'amenity' => 'place_of_worship' }),
|
341
|
+
TagRenderingStatus.new('religion', 'jewish', :composite, { 'amenity' => 'place_of_worship' }),
|
342
|
+
TagRenderingStatus.new('religion', 'muslim', :composite, { 'amenity' => 'place_of_worship' }),
|
343
|
+
TagRenderingStatus.new('religion', 'shinto', :composite, { 'amenity' => 'place_of_worship' }),
|
344
|
+
TagRenderingStatus.new('religion', 'sikh', :composite, { 'amenity' => 'place_of_worship' }),
|
345
|
+
TagRenderingStatus.new('religion', 'taoist', :composite, { 'amenity' => 'place_of_worship' }),
|
346
|
+
TagRenderingStatus.new('route', 'ferry', :primary),
|
347
|
+
TagRenderingStatus.new('service', 'drive-through', :composite, { 'highway' => 'service' }),
|
348
|
+
TagRenderingStatus.new('service', 'driveway', :composite, { 'highway' => 'service' }),
|
349
|
+
TagRenderingStatus.new('service', 'parking_aisle', :composite, { 'highway' => 'service' }),
|
350
|
+
TagRenderingStatus.new('service', 'siding', :composite, { 'railway' => 'rail' }),
|
351
|
+
TagRenderingStatus.new('service', 'spur', :composite, { 'railway' => 'rail' }),
|
352
|
+
TagRenderingStatus.new('service', 'yard', :composite, { 'railway' => 'rail' }),
|
353
|
+
TagRenderingStatus.new('shop', 'accessories', :primary),
|
354
|
+
TagRenderingStatus.new('shop', 'alcohol', :primary),
|
355
|
+
TagRenderingStatus.new('shop', 'antique', :primary),
|
356
|
+
TagRenderingStatus.new('shop', 'antiques', :primary),
|
357
|
+
TagRenderingStatus.new('shop', 'appliance', :primary),
|
358
|
+
TagRenderingStatus.new('shop', 'art', :primary),
|
359
|
+
TagRenderingStatus.new('shop', 'baby_goods', :primary),
|
360
|
+
TagRenderingStatus.new('shop', 'bag', :primary),
|
361
|
+
TagRenderingStatus.new('shop', 'bakery', :primary),
|
362
|
+
TagRenderingStatus.new('shop', 'bathroom_furnishing', :primary),
|
363
|
+
TagRenderingStatus.new('shop', 'beauty', :primary),
|
364
|
+
TagRenderingStatus.new('shop', 'bed', :primary),
|
365
|
+
TagRenderingStatus.new('shop', 'betting', :primary),
|
366
|
+
TagRenderingStatus.new('shop', 'beverages', :primary),
|
367
|
+
TagRenderingStatus.new('shop', 'bicycle', :primary),
|
368
|
+
TagRenderingStatus.new('shop', 'boat', :primary),
|
369
|
+
TagRenderingStatus.new('shop', 'bookmaker', :primary),
|
370
|
+
TagRenderingStatus.new('shop', 'books', :primary),
|
371
|
+
TagRenderingStatus.new('shop', 'boutique', :primary),
|
372
|
+
TagRenderingStatus.new('shop', 'builder', :primary),
|
373
|
+
TagRenderingStatus.new('shop', 'building_materials', :primary),
|
374
|
+
TagRenderingStatus.new('shop', 'butcher', :primary),
|
375
|
+
TagRenderingStatus.new('shop', 'camera', :primary),
|
376
|
+
TagRenderingStatus.new('shop', 'car', :primary),
|
377
|
+
TagRenderingStatus.new('shop', 'car_parts', :primary),
|
378
|
+
TagRenderingStatus.new('shop', 'car_repair', :primary),
|
379
|
+
TagRenderingStatus.new('shop', 'car_service', :primary),
|
380
|
+
TagRenderingStatus.new('shop', 'carpet', :primary),
|
381
|
+
TagRenderingStatus.new('shop', 'charity', :primary),
|
382
|
+
TagRenderingStatus.new('shop', 'cheese', :primary),
|
383
|
+
TagRenderingStatus.new('shop', 'chemist', :primary),
|
384
|
+
TagRenderingStatus.new('shop', 'chocolate', :primary),
|
385
|
+
TagRenderingStatus.new('shop', 'clothes', :primary),
|
386
|
+
TagRenderingStatus.new('shop', 'coffee', :primary),
|
387
|
+
TagRenderingStatus.new('shop', 'communication', :primary),
|
388
|
+
TagRenderingStatus.new('shop', 'computer', :primary),
|
389
|
+
TagRenderingStatus.new('shop', 'confectionery', :primary),
|
390
|
+
TagRenderingStatus.new('shop', 'convenience', :primary),
|
391
|
+
TagRenderingStatus.new('shop', 'copyshop', :primary),
|
392
|
+
TagRenderingStatus.new('shop', 'cosmetics', :primary),
|
393
|
+
TagRenderingStatus.new('shop', 'craft', :primary),
|
394
|
+
TagRenderingStatus.new('shop', 'curtain', :primary),
|
395
|
+
TagRenderingStatus.new('shop', 'dairy', :primary),
|
396
|
+
TagRenderingStatus.new('shop', 'deli', :primary),
|
397
|
+
TagRenderingStatus.new('shop', 'delicatessen', :primary),
|
398
|
+
TagRenderingStatus.new('shop', 'department_store', :primary),
|
399
|
+
TagRenderingStatus.new('shop', 'discount', :primary),
|
400
|
+
TagRenderingStatus.new('shop', 'dive', :primary),
|
401
|
+
TagRenderingStatus.new('shop', 'doityourself', :primary),
|
402
|
+
TagRenderingStatus.new('shop', 'dry_cleaning', :primary),
|
403
|
+
TagRenderingStatus.new('shop', 'e-cigarette', :primary),
|
404
|
+
TagRenderingStatus.new('shop', 'electrical', :primary),
|
405
|
+
TagRenderingStatus.new('shop', 'electronics', :primary),
|
406
|
+
TagRenderingStatus.new('shop', 'energy', :primary),
|
407
|
+
TagRenderingStatus.new('shop', 'erotic', :primary),
|
408
|
+
TagRenderingStatus.new('shop', 'estate_agent', :primary),
|
409
|
+
TagRenderingStatus.new('shop', 'fabric', :primary),
|
410
|
+
TagRenderingStatus.new('shop', 'farm', :primary),
|
411
|
+
TagRenderingStatus.new('shop', 'fashion', :primary),
|
412
|
+
TagRenderingStatus.new('shop', 'fish', :primary),
|
413
|
+
TagRenderingStatus.new('shop', 'fishing', :primary),
|
414
|
+
TagRenderingStatus.new('shop', 'fishmonger', :primary),
|
415
|
+
TagRenderingStatus.new('shop', 'flooring', :primary),
|
416
|
+
TagRenderingStatus.new('shop', 'florist', :primary),
|
417
|
+
TagRenderingStatus.new('shop', 'food', :primary),
|
418
|
+
TagRenderingStatus.new('shop', 'frame', :primary),
|
419
|
+
TagRenderingStatus.new('shop', 'frozen_food', :primary),
|
420
|
+
TagRenderingStatus.new('shop', 'funeral_directors', :primary),
|
421
|
+
TagRenderingStatus.new('shop', 'furnace', :primary),
|
422
|
+
TagRenderingStatus.new('shop', 'furniture', :primary),
|
423
|
+
TagRenderingStatus.new('shop', 'gallery', :primary),
|
424
|
+
TagRenderingStatus.new('shop', 'gambling', :primary),
|
425
|
+
TagRenderingStatus.new('shop', 'games', :primary),
|
426
|
+
TagRenderingStatus.new('shop', 'garden_centre', :primary),
|
427
|
+
TagRenderingStatus.new('shop', 'gas', :primary),
|
428
|
+
TagRenderingStatus.new('shop', 'general', :primary),
|
429
|
+
TagRenderingStatus.new('shop', 'gift', :primary),
|
430
|
+
TagRenderingStatus.new('shop', 'glaziery', :primary),
|
431
|
+
TagRenderingStatus.new('shop', 'greengrocer', :primary),
|
432
|
+
TagRenderingStatus.new('shop', 'grocery', :primary),
|
433
|
+
TagRenderingStatus.new('shop', 'hairdresser', :primary),
|
434
|
+
TagRenderingStatus.new('shop', 'hardware', :primary),
|
435
|
+
TagRenderingStatus.new('shop', 'health', :primary),
|
436
|
+
TagRenderingStatus.new('shop', 'health_food', :primary),
|
437
|
+
TagRenderingStatus.new('shop', 'hearing_aids', :primary),
|
438
|
+
TagRenderingStatus.new('shop', 'herbalist', :primary),
|
439
|
+
TagRenderingStatus.new('shop', 'hifi', :primary),
|
440
|
+
TagRenderingStatus.new('shop', 'hobby', :primary),
|
441
|
+
TagRenderingStatus.new('shop', 'household', :primary),
|
442
|
+
TagRenderingStatus.new('shop', 'houseware', :primary),
|
443
|
+
TagRenderingStatus.new('shop', 'hunting', :primary),
|
444
|
+
TagRenderingStatus.new('shop', 'ice_cream', :primary),
|
445
|
+
TagRenderingStatus.new('shop', 'insurance', :primary),
|
446
|
+
TagRenderingStatus.new('shop', 'interior_decoration', :primary),
|
447
|
+
TagRenderingStatus.new('shop', 'jewellery', :primary),
|
448
|
+
TagRenderingStatus.new('shop', 'jewelry', :primary),
|
449
|
+
TagRenderingStatus.new('shop', 'kiosk', :primary),
|
450
|
+
TagRenderingStatus.new('shop', 'kitchen', :primary),
|
451
|
+
TagRenderingStatus.new('shop', 'laundry', :primary),
|
452
|
+
TagRenderingStatus.new('shop', 'leather', :primary),
|
453
|
+
TagRenderingStatus.new('shop', 'lighting', :primary),
|
454
|
+
TagRenderingStatus.new('shop', 'locksmith', :primary),
|
455
|
+
TagRenderingStatus.new('shop', 'lottery', :primary),
|
456
|
+
TagRenderingStatus.new('shop', 'mall', :composite, { 'name' => 'a' }),
|
457
|
+
TagRenderingStatus.new('shop', 'market', :primary),
|
458
|
+
TagRenderingStatus.new('shop', 'massage', :primary),
|
459
|
+
TagRenderingStatus.new('shop', 'medical', :primary),
|
460
|
+
TagRenderingStatus.new('shop', 'medical_supply', :primary),
|
461
|
+
TagRenderingStatus.new('shop', 'mobile_phone', :primary),
|
462
|
+
TagRenderingStatus.new('shop', 'money_lender', :primary),
|
463
|
+
TagRenderingStatus.new('shop', 'motorcycle', :primary),
|
464
|
+
TagRenderingStatus.new('shop', 'motorcycle_repair', :primary),
|
465
|
+
TagRenderingStatus.new('shop', 'music', :primary),
|
466
|
+
TagRenderingStatus.new('shop', 'musical_instrument', :primary),
|
467
|
+
TagRenderingStatus.new('shop', 'newsagent', :primary),
|
468
|
+
TagRenderingStatus.new('shop', 'office_supplies', :primary),
|
469
|
+
TagRenderingStatus.new('shop', 'optician', :primary),
|
470
|
+
TagRenderingStatus.new('shop', 'organic', :primary),
|
471
|
+
TagRenderingStatus.new('shop', 'outdoor', :primary),
|
472
|
+
TagRenderingStatus.new('shop', 'paint', :primary),
|
473
|
+
TagRenderingStatus.new('shop', 'pastry', :primary),
|
474
|
+
TagRenderingStatus.new('shop', 'pawnbroker', :primary),
|
475
|
+
TagRenderingStatus.new('shop', 'perfumery', :primary),
|
476
|
+
TagRenderingStatus.new('shop', 'pet', :primary),
|
477
|
+
TagRenderingStatus.new('shop', 'pharmacy', :primary),
|
478
|
+
TagRenderingStatus.new('shop', 'phone', :primary),
|
479
|
+
TagRenderingStatus.new('shop', 'photo', :primary),
|
480
|
+
TagRenderingStatus.new('shop', 'photo_studio', :primary),
|
481
|
+
TagRenderingStatus.new('shop', 'photography', :primary),
|
482
|
+
TagRenderingStatus.new('shop', 'pottery', :primary),
|
483
|
+
TagRenderingStatus.new('shop', 'printing', :primary),
|
484
|
+
TagRenderingStatus.new('shop', 'radiotechnics', :primary),
|
485
|
+
TagRenderingStatus.new('shop', 'real_estate', :primary),
|
486
|
+
TagRenderingStatus.new('shop', 'religion', :primary),
|
487
|
+
TagRenderingStatus.new('shop', 'rental', :primary),
|
488
|
+
TagRenderingStatus.new('shop', 'salon', :primary),
|
489
|
+
TagRenderingStatus.new('shop', 'scuba_diving', :primary),
|
490
|
+
TagRenderingStatus.new('shop', 'seafood', :primary),
|
491
|
+
TagRenderingStatus.new('shop', 'second_hand', :primary),
|
492
|
+
TagRenderingStatus.new('shop', 'sewing', :primary),
|
493
|
+
TagRenderingStatus.new('shop', 'shoe_repair', :primary),
|
494
|
+
TagRenderingStatus.new('shop', 'shoes', :primary),
|
495
|
+
TagRenderingStatus.new('shop', 'shopping_centre', :primary),
|
496
|
+
TagRenderingStatus.new('shop', 'solarium', :primary),
|
497
|
+
TagRenderingStatus.new('shop', 'souvenir', :primary),
|
498
|
+
TagRenderingStatus.new('shop', 'sports', :primary),
|
499
|
+
TagRenderingStatus.new('shop', 'stationery', :primary),
|
500
|
+
TagRenderingStatus.new('shop', 'supermarket', :primary),
|
501
|
+
TagRenderingStatus.new('shop', 'tailor', :primary),
|
502
|
+
TagRenderingStatus.new('shop', 'tanning', :primary),
|
503
|
+
TagRenderingStatus.new('shop', 'tattoo', :primary),
|
504
|
+
TagRenderingStatus.new('shop', 'tea', :primary),
|
505
|
+
TagRenderingStatus.new('shop', 'ticket', :primary),
|
506
|
+
TagRenderingStatus.new('shop', 'tiles', :primary),
|
507
|
+
TagRenderingStatus.new('shop', 'tobacco', :primary),
|
508
|
+
TagRenderingStatus.new('shop', 'toys', :primary),
|
509
|
+
TagRenderingStatus.new('shop', 'trade', :primary),
|
510
|
+
TagRenderingStatus.new('shop', 'travel_agency', :primary),
|
511
|
+
TagRenderingStatus.new('shop', 'tyres', :primary),
|
512
|
+
TagRenderingStatus.new('shop', 'vacuum_cleaner', :primary),
|
513
|
+
TagRenderingStatus.new('shop', 'variety_store', :primary),
|
514
|
+
TagRenderingStatus.new('shop', 'video', :primary),
|
515
|
+
TagRenderingStatus.new('shop', 'video_games', :primary),
|
516
|
+
TagRenderingStatus.new('shop', 'watches', :primary),
|
517
|
+
TagRenderingStatus.new('shop', 'wholesale', :primary),
|
518
|
+
TagRenderingStatus.new('shop', 'wine', :primary),
|
519
|
+
TagRenderingStatus.new('shop', 'yes', :primary),
|
520
|
+
TagRenderingStatus.new('surface', 'unpaved', :composite, { 'highway' => 'footway' }),
|
521
|
+
TagRenderingStatus.new('surface', 'compacted', :composite, { 'highway' => 'footway' }),
|
522
|
+
TagRenderingStatus.new('surface', 'dirt', :composite, { 'highway' => 'footway' }),
|
523
|
+
TagRenderingStatus.new('surface', 'earth', :composite, { 'highway' => 'footway' }),
|
524
|
+
TagRenderingStatus.new('surface', 'fine_gravel', :composite, { 'highway' => 'footway' }),
|
525
|
+
TagRenderingStatus.new('surface', 'gravel', :composite, { 'highway' => 'footway' }),
|
526
|
+
TagRenderingStatus.new('surface', 'grass', :composite, { 'highway' => 'footway' }),
|
527
|
+
TagRenderingStatus.new('surface', 'grass_paver', :composite, { 'highway' => 'footway' }),
|
528
|
+
TagRenderingStatus.new('surface', 'ground', :composite, { 'highway' => 'footway' }),
|
529
|
+
TagRenderingStatus.new('surface', 'mud', :composite, { 'highway' => 'footway' }),
|
530
|
+
TagRenderingStatus.new('surface', 'pebblestone', :composite, { 'highway' => 'footway' }),
|
531
|
+
TagRenderingStatus.new('surface', 'salt', :composite, { 'highway' => 'footway' }),
|
532
|
+
TagRenderingStatus.new('surface', 'sand', :composite, { 'highway' => 'footway' }),
|
533
|
+
TagRenderingStatus.new('surface', 'woodchips', :composite, { 'highway' => 'footway' }),
|
534
|
+
TagRenderingStatus.new('surface', 'clay', :composite, { 'highway' => 'footway' }),
|
535
|
+
TagRenderingStatus.new('surface', 'paved', :composite, { 'highway' => 'footway' }),
|
536
|
+
TagRenderingStatus.new('surface', 'asphalt', :composite, { 'highway' => 'footway' }),
|
537
|
+
TagRenderingStatus.new('surface', 'cobblestone', :composite, { 'highway' => 'footway' }),
|
538
|
+
TagRenderingStatus.new('surface', 'cobblestone:flattened', :composite, { 'highway' => 'footway' }),
|
539
|
+
TagRenderingStatus.new('surface', 'sett', :composite, { 'highway' => 'footway' }),
|
540
|
+
TagRenderingStatus.new('surface', 'concrete', :composite, { 'highway' => 'footway' }),
|
541
|
+
TagRenderingStatus.new('surface', 'concrete:lanes', :composite, { 'highway' => 'footway' }),
|
542
|
+
TagRenderingStatus.new('surface', 'concrete:plates', :composite, { 'highway' => 'footway' }),
|
543
|
+
TagRenderingStatus.new('surface', 'concrete', :composite, { 'highway' => 'footway' }),
|
544
|
+
TagRenderingStatus.new('surface', 'paving_stones', :composite, { 'highway' => 'footway' }),
|
545
|
+
TagRenderingStatus.new('surface', 'metal', :composite, { 'highway' => 'footway' }),
|
546
|
+
TagRenderingStatus.new('surface', 'wood', :composite, { 'highway' => 'footway' }),
|
547
|
+
TagRenderingStatus.new('surface', 'pebbles', :composite, { 'natural' => 'beach' }),
|
548
|
+
TagRenderingStatus.new('surface', 'shingle', :composite, { 'natural' => 'beach' }),
|
549
|
+
TagRenderingStatus.new('surface', 'stones', :composite, { 'natural' => 'beach' }),
|
550
|
+
TagRenderingStatus.new('surface', 'shells', :composite, { 'natural' => 'beach' }),
|
551
|
+
TagRenderingStatus.new('tourism', 'alpine_hut', :primary),
|
552
|
+
TagRenderingStatus.new('tourism', 'attraction', :primary),
|
553
|
+
TagRenderingStatus.new('tourism', 'camp_site', :primary),
|
554
|
+
TagRenderingStatus.new('tourism', 'caravan_site', :primary),
|
555
|
+
TagRenderingStatus.new('tourism', 'chalet', :primary),
|
556
|
+
TagRenderingStatus.new('tourism', 'guest_house', :primary),
|
557
|
+
TagRenderingStatus.new('tourism', 'hostel', :primary),
|
558
|
+
TagRenderingStatus.new('tourism', 'hotel', :primary),
|
559
|
+
TagRenderingStatus.new('tourism', 'information', :primary),
|
560
|
+
TagRenderingStatus.new('tourism', 'motel', :primary),
|
561
|
+
TagRenderingStatus.new('tourism', 'museum', :primary),
|
562
|
+
TagRenderingStatus.new('tourism', 'picnic_site', :primary),
|
563
|
+
TagRenderingStatus.new('tourism', 'theme_park', :primary),
|
564
|
+
TagRenderingStatus.new('tourism', 'viewpoint', :primary),
|
565
|
+
TagRenderingStatus.new('tourism', 'zoo', :primary),
|
566
|
+
TagRenderingStatus.new('tracktype', 'grade1', :composite, { 'highway' => 'track' }),
|
567
|
+
TagRenderingStatus.new('tracktype', 'grade2', :composite, { 'highway' => 'track' }),
|
568
|
+
TagRenderingStatus.new('tracktype', 'grade3', :composite, { 'highway' => 'track' }),
|
569
|
+
TagRenderingStatus.new('tracktype', 'grade4', :composite, { 'highway' => 'track' }),
|
570
|
+
TagRenderingStatus.new('tracktype', 'grade5', :composite, { 'highway' => 'track' }),
|
571
|
+
TagRenderingStatus.new('tunnel', 'building_passage', :composite, { 'highway' => 'service' }),
|
572
|
+
TagRenderingStatus.new('tunnel', 'culvert', :composite, { 'waterway' => 'river' }),
|
573
|
+
TagRenderingStatus.new('tunnel', 'yes', :composite, { 'highway' => 'service' }),
|
574
|
+
TagRenderingStatus.new('waterway', 'canal', :primary),
|
575
|
+
TagRenderingStatus.new('waterway', 'dam', :primary),
|
576
|
+
TagRenderingStatus.new('waterway', 'derelict_canal', :primary),
|
577
|
+
TagRenderingStatus.new('waterway', 'ditch', :primary),
|
578
|
+
TagRenderingStatus.new('waterway', 'dock', :primary),
|
579
|
+
TagRenderingStatus.new('waterway', 'drain', :primary),
|
580
|
+
TagRenderingStatus.new('waterway', 'lock_gate', :primary),
|
581
|
+
TagRenderingStatus.new('waterway', 'river', :primary),
|
582
|
+
TagRenderingStatus.new('waterway', 'riverbank', :primary),
|
583
|
+
TagRenderingStatus.new('waterway', 'stream', :primary),
|
584
|
+
TagRenderingStatus.new('waterway', 'wadi', :primary),
|
585
|
+
TagRenderingStatus.new('waterway', 'weir', :primary),
|
586
|
+
TagRenderingStatus.new('wetland', 'bog', :composite, { 'natural' => 'wetland' }),
|
587
|
+
TagRenderingStatus.new('wetland', 'marsh', :composite, { 'natural' => 'wetland' }),
|
588
|
+
TagRenderingStatus.new('wetland', 'mud', :composite, { 'natural' => 'wetland' }),
|
589
|
+
TagRenderingStatus.new('wetland', 'string_bog', :composite, { 'natural' => 'wetland' }),
|
590
|
+
TagRenderingStatus.new('wetland', 'swamp', :composite, { 'natural' => 'wetland' }),
|
591
|
+
TagRenderingStatus.new('wetland', 'tidalflat', :composite, { 'natural' => 'wetland' }),
|
592
|
+
TagRenderingStatus.new('wetland', 'wet_meadow', :composite, { 'natural' => 'wetland' }),
|
593
|
+
|
594
|
+
TagRenderingStatus.new('admin_level', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
595
|
+
TagRenderingStatus.new('admin_level', '0', :ignored),
|
596
|
+
TagRenderingStatus.new('admin_level', '1', :ignored),
|
597
|
+
TagRenderingStatus.new('aerialway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
598
|
+
TagRenderingStatus.new('aeroway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
599
|
+
TagRenderingStatus.new('amenity', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
600
|
+
TagRenderingStatus.new('bicycle', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
601
|
+
TagRenderingStatus.new('boundary', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
602
|
+
TagRenderingStatus.new('brand', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
603
|
+
TagRenderingStatus.new('bridge', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
604
|
+
TagRenderingStatus.new('capital', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
605
|
+
TagRenderingStatus.new('construction', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
606
|
+
TagRenderingStatus.new('covered', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
607
|
+
TagRenderingStatus.new('culvert', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
608
|
+
TagRenderingStatus.new('cutting', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
609
|
+
TagRenderingStatus.new('denomination', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
610
|
+
TagRenderingStatus.new('disused', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
611
|
+
TagRenderingStatus.new('embankment', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
612
|
+
TagRenderingStatus.new('foot', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
613
|
+
TagRenderingStatus.new('generator:source', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
614
|
+
TagRenderingStatus.new('harbour', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
615
|
+
TagRenderingStatus.new('highway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
616
|
+
TagRenderingStatus.new('historic', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
617
|
+
TagRenderingStatus.new('horse', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
618
|
+
TagRenderingStatus.new('intermittent', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
619
|
+
TagRenderingStatus.new('junction', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
620
|
+
TagRenderingStatus.new('landuse', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
621
|
+
TagRenderingStatus.new('layer', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
622
|
+
TagRenderingStatus.new('leisure', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
623
|
+
TagRenderingStatus.new('lock', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
624
|
+
TagRenderingStatus.new('man_made', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
625
|
+
TagRenderingStatus.new('military', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
626
|
+
TagRenderingStatus.new('motorcar', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
627
|
+
TagRenderingStatus.new('natural', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
628
|
+
TagRenderingStatus.new('office', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
629
|
+
TagRenderingStatus.new('oneway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
630
|
+
TagRenderingStatus.new('operator', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
631
|
+
TagRenderingStatus.new('place', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
632
|
+
TagRenderingStatus.new('poi', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
633
|
+
TagRenderingStatus.new('power', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
634
|
+
TagRenderingStatus.new('power_source', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
635
|
+
TagRenderingStatus.new('public_transport', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
636
|
+
TagRenderingStatus.new('railway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
637
|
+
TagRenderingStatus.new('religion', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
638
|
+
TagRenderingStatus.new('route', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
639
|
+
TagRenderingStatus.new('service', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
640
|
+
TagRenderingStatus.new('shop', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
641
|
+
TagRenderingStatus.new('sport', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
642
|
+
TagRenderingStatus.new('surface', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
643
|
+
TagRenderingStatus.new('toll', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
644
|
+
TagRenderingStatus.new('tourism', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
645
|
+
TagRenderingStatus.new('tunnel', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
646
|
+
TagRenderingStatus.new('tower:type', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
647
|
+
TagRenderingStatus.new('tracktype', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
648
|
+
TagRenderingStatus.new('water', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
649
|
+
TagRenderingStatus.new('waterway', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
650
|
+
TagRenderingStatus.new('wetland', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
651
|
+
TagRenderingStatus.new('width', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
652
|
+
TagRenderingStatus.new('wood', CartoCSSHelper::Heuristic.get_generic_tag_value, :ignored),
|
653
|
+
|
654
|
+
# heuristic detecting tags that do not exist - result of transformations in SQL unless noted otherwise
|
655
|
+
TagRenderingStatus.new('shop', 'other', :ignored),
|
656
|
+
TagRenderingStatus.new('highway', 'runway', :ignored),
|
657
|
+
TagRenderingStatus.new('highway', 'taxiway', :ignored),
|
658
|
+
TagRenderingStatus.new('access', 'yes', :ignored), # as access is assumed to be yes constructions "access=null or access=yes" are typical
|
659
|
+
TagRenderingStatus.new('tunnel', 'no', :ignored), # tunnel=no is assumed as default and has no chance to override anything
|
660
|
+
|
661
|
+
# TODO: - population is used only with numeric values. Currently there is no way to express this
|
662
|
+
]
|
539
663
|
end
|
540
664
|
|
541
665
|
def self.get_composite_sets
|
542
666
|
return [
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
667
|
+
{ 'name' => 'a' }, # place=city...
|
668
|
+
{ 'name' => 'a', 'place' => 'city' }, # capital=yes, 4
|
669
|
+
{ 'highway' => 'service' }, # access, ref, bridge, tunnel, service=parking_aisle...
|
670
|
+
{ 'highway' => 'service', 'junction' => 'roundabout' }, # oneway=no, reversible
|
671
|
+
{ 'highway' => 'footway' }, # surface=unpaved...
|
672
|
+
{ 'natural' => 'beach' }, # surface=stones...
|
673
|
+
{ 'railway' => 'rail' }, # service=siding
|
674
|
+
{ 'boundary' => 'administrative' }, # admin_level
|
675
|
+
{ 'admin_level' => '2' }, # boundary=administrative
|
676
|
+
{ 'natural' => 'peak' }, # ele=*
|
677
|
+
{ 'ref' => '3' }, # aeroway=gate
|
678
|
+
{ 'highway' => 'motorway' }, # ref=*
|
679
|
+
{ 'amenity' => 'place_of_worship' }, # religion=christian
|
680
|
+
{ 'amenity' => 'place_of_worship', 'religion' => 'christian' }, # denomination=jehovahs_witness
|
681
|
+
{ 'waterway' => 'river' }, # bridge=aqueduct, tunnel=culvert, intermittent=yes
|
682
|
+
{ 'power' => 'generator' }, # power_source=wind
|
683
|
+
{ 'highway' => 'path' }, # bicycle=designated
|
684
|
+
{ 'highway' => 'construction' }, # construction=motorway...
|
685
|
+
{ 'highway' => 'track' }, # tracktype=grade1...
|
686
|
+
{ 'amenity' => 'parking' }, # access=*...
|
687
|
+
# {'barrier' => 'hedge'}, #area=yes
|
688
|
+
{ 'natural' => 'wetland' }, # wetland=bog...
|
689
|
+
]
|
690
|
+
end
|
691
|
+
|
692
|
+
def self.name_label_is_not_required
|
693
|
+
return [
|
694
|
+
{ 'addr:housename' => CartoCSSHelper::Heuristic.get_generic_tag_value },
|
695
|
+
{ 'addr:housenumber' => CartoCSSHelper::Heuristic.get_generic_tag_value },
|
696
|
+
{ 'addr:interpolation' => CartoCSSHelper::Heuristic.get_generic_tag_value },
|
697
|
+
{ 'aeroway' => 'runway' },
|
698
|
+
{ 'aeroway' => 'taxiway' },
|
699
|
+
{ 'amenity' => 'atm' }, # operator tag is rendered
|
700
|
+
{ 'amenity' => 'bench' }, # many are memorials but in that case historic=memorial tag should be present
|
701
|
+
{ 'amenity' => 'bicycle_parking' },
|
702
|
+
{ 'amenity' => 'emergency_phone' },
|
703
|
+
{ 'amenity' => 'toilets' },
|
704
|
+
{ 'amenity' => 'car_sharing' },
|
705
|
+
{ 'amenity' => 'post_box' },
|
706
|
+
{ 'access' => '*', 'amenity' => 'parking', :type => 'node' },
|
707
|
+
{ 'amenity' => 'parking', :type => 'node' },
|
708
|
+
{ 'amenity' => 'motorcycle_parking', :type => 'node' },
|
709
|
+
{ 'amenity' => 'bicycle_parking', :type => 'node' },
|
710
|
+
{ 'amenity' => 'telephone' },
|
711
|
+
{ 'amenity' => 'waste_basket' },
|
712
|
+
{ 'barrier' => 'block' },
|
713
|
+
{ 'barrier' => 'bollard' },
|
714
|
+
{ 'barrier' => 'hedge' },
|
715
|
+
{ 'barrier' => 'embankment' },
|
716
|
+
{ 'generator:source' => 'wind', 'power' => 'generator' },
|
717
|
+
{ 'power_source' => 'wind', 'power' => 'generator' },
|
718
|
+
{ 'highway' => 'bus_guideway' },
|
719
|
+
{ 'highway' => 'ford' },
|
720
|
+
{ 'highway' => 'mini_roundabout' },
|
721
|
+
{ 'highway' => 'platform' },
|
722
|
+
{ 'power' => 'tower' },
|
723
|
+
{ 'power' => 'pole' },
|
724
|
+
{ 'power' => 'line' },
|
725
|
+
{ 'power' => 'minor_line' },
|
726
|
+
{ 'railway' => 'level_crossing' },
|
727
|
+
{ 'railway' => 'subway_entrance' }, # correct tagging is rare, usually it is name of station
|
728
|
+
|
729
|
+
# intentional, see https://github.com/gravitystorm/openstreetmap-carto/pull/1183
|
730
|
+
{ 'tunnel' => 'culvert', 'waterway' => 'river' },
|
731
|
+
{ 'tunnel' => 'culvert', 'waterway' => 'stream' },
|
732
|
+
{ 'tunnel' => 'culvert', 'waterway' => 'ditch' },
|
733
|
+
{ 'tunnel' => 'culvert', 'waterway' => 'drain' },
|
734
|
+
|
735
|
+
{ 'waterway' => 'wadi' }, # tag itself will be soon gone, no point in bugfixing it now
|
736
|
+
{ 'waterway' => 'riverbank' },
|
561
737
|
]
|
562
738
|
end
|
563
739
|
end
|