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.
@@ -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
- 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', '10', :composite, {'boundary'=>'administrative'}),
21
- TagRenderingStatus.new('admin_level', '2', :composite, {'boundary'=>'administrative'}),
22
- TagRenderingStatus.new('admin_level', '3', :composite, {'boundary'=>'administrative'}),
23
- TagRenderingStatus.new('admin_level', '4', :composite, {'boundary'=>'administrative'}),
24
- TagRenderingStatus.new('admin_level', '5', :composite, {'boundary'=>'administrative'}),
25
- TagRenderingStatus.new('admin_level', '6', :composite, {'boundary'=>'administrative'}),
26
- TagRenderingStatus.new('admin_level', '7', :composite, {'boundary'=>'administrative'}),
27
- TagRenderingStatus.new('admin_level', '8', :composite, {'boundary'=>'administrative'}),
28
- TagRenderingStatus.new('admin_level', '9', :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', :primary),
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_sharing', :primary),
55
- TagRenderingStatus.new('amenity', 'cinema', :primary),
56
- TagRenderingStatus.new('amenity', 'college', :primary),
57
- TagRenderingStatus.new('amenity', 'courthouse', :primary),
58
- TagRenderingStatus.new('amenity', 'dentist', :primary),
59
- TagRenderingStatus.new('amenity', 'drinking_water', :primary),
60
- TagRenderingStatus.new('amenity', 'doctors', :primary),
61
- TagRenderingStatus.new('amenity', 'embassy', :primary),
62
- TagRenderingStatus.new('amenity', 'emergency_phone', :primary),
63
- TagRenderingStatus.new('amenity', 'food_court', :primary),
64
- TagRenderingStatus.new('amenity', 'fast_food', :primary),
65
- TagRenderingStatus.new('amenity', 'fire_station', :primary),
66
- TagRenderingStatus.new('amenity', 'fuel', :primary),
67
- TagRenderingStatus.new('amenity', 'grave_yard', :primary),
68
- TagRenderingStatus.new('amenity', 'hospital', :primary),
69
- TagRenderingStatus.new('amenity', 'hunting_stand', :primary),
70
- TagRenderingStatus.new('amenity', 'ice_cream', :primary),
71
- TagRenderingStatus.new('amenity', 'kindergarten', :primary),
72
- TagRenderingStatus.new('amenity', 'library', :primary),
73
- TagRenderingStatus.new('amenity', 'parking', :primary),
74
- TagRenderingStatus.new('amenity', 'pharmacy', :primary),
75
- TagRenderingStatus.new('amenity', 'place_of_worship', :primary),
76
- TagRenderingStatus.new('amenity', 'police', :primary),
77
- TagRenderingStatus.new('amenity', 'post_box', :primary),
78
- TagRenderingStatus.new('amenity', 'post_office', :primary),
79
- TagRenderingStatus.new('amenity', 'prison', :primary),
80
- TagRenderingStatus.new('amenity', 'pub', :primary),
81
- TagRenderingStatus.new('amenity', 'recycling', :primary),
82
- TagRenderingStatus.new('amenity', 'restaurant', :primary),
83
- TagRenderingStatus.new('amenity', 'school', :primary),
84
- TagRenderingStatus.new('amenity', 'shelter', :primary),
85
- TagRenderingStatus.new('amenity', 'telephone', :primary),
86
- TagRenderingStatus.new('amenity', 'theatre', :primary),
87
- TagRenderingStatus.new('amenity', 'toilets', :primary),
88
- TagRenderingStatus.new('amenity', 'townhall', :primary),
89
- TagRenderingStatus.new('amenity', 'university', :primary),
90
- TagRenderingStatus.new('amenity', 'waste_basket', :primary),
91
- TagRenderingStatus.new('area', 'no', :composite, {'barrier' => 'hedge'}),
92
- TagRenderingStatus.new('area', 'yes', :composite, {'barrier' => 'hedge'}),
93
- TagRenderingStatus.new('barrier', '*', :primary),
94
- TagRenderingStatus.new('barrier', 'block', :primary),
95
- TagRenderingStatus.new('barrier', 'bollard', :primary),
96
- TagRenderingStatus.new('barrier', 'embankment', :primary),
97
- TagRenderingStatus.new('barrier', 'gate', :primary),
98
- TagRenderingStatus.new('barrier', 'hedge', :primary),
99
- TagRenderingStatus.new('barrier', 'lift_gate', :primary),
100
- TagRenderingStatus.new('bicycle', 'designated', :composite, {'highway'=>'path'}),
101
- TagRenderingStatus.new('boundary', 'administrative', :composite, {'admin_level'=>'2'}),
102
- TagRenderingStatus.new('boundary', 'national_park', :primary),
103
- TagRenderingStatus.new('bridge', 'aqueduct', :composite, {'waterway'=>'river'}),
104
- TagRenderingStatus.new('bridge', 'boardwalk', :composite, {'highway'=>'service'}),
105
- TagRenderingStatus.new('bridge', 'cantilever', :composite, {'highway'=>'service'}),
106
- TagRenderingStatus.new('bridge', 'covered', :composite, {'highway'=>'service'}),
107
- TagRenderingStatus.new('bridge', 'low_water_crossing', :composite, {'highway'=>'service'}),
108
- TagRenderingStatus.new('bridge', 'movable', :composite, {'highway'=>'service'}),
109
- TagRenderingStatus.new('bridge', 'trestle', :composite, {'highway'=>'service'}),
110
- TagRenderingStatus.new('bridge', 'viaduct', :composite, {'highway'=>'service'}),
111
- TagRenderingStatus.new('bridge', 'yes', :composite, {'highway'=>'service'}),
112
- TagRenderingStatus.new('building', '*', :primary),
113
- TagRenderingStatus.new('building', 'no', :not_displayed),
114
- TagRenderingStatus.new('capital', 'yes', :composite, {'place'=>'city'}),
115
- TagRenderingStatus.new('capital', '4', :composite, {'place'=>'city'}),
116
- TagRenderingStatus.new('construction', 'bridleway', :composite, {'highway'=>'construction'}),
117
- TagRenderingStatus.new('construction', 'cycleway', :composite, {'highway'=>'construction'}),
118
- TagRenderingStatus.new('construction', 'footway', :composite, {'highway'=>'construction'}),
119
- TagRenderingStatus.new('construction', 'living_street', :composite, {'highway'=>'construction'}),
120
- TagRenderingStatus.new('construction', 'motorway', :composite, {'highway'=>'construction'}),
121
- TagRenderingStatus.new('construction', 'motorway_link', :composite, {'highway'=>'construction'}),
122
- TagRenderingStatus.new('construction', 'path', :composite, {'highway'=>'construction'}),
123
- TagRenderingStatus.new('construction', 'primary', :composite, {'highway'=>'construction'}),
124
- TagRenderingStatus.new('construction', 'primary_link', :composite, {'highway'=>'construction'}),
125
- TagRenderingStatus.new('construction', 'residential', :composite, {'highway'=>'construction'}),
126
- TagRenderingStatus.new('construction', 'secondary', :composite, {'highway'=>'construction'}),
127
- TagRenderingStatus.new('construction', 'secondary_link', :composite, {'highway'=>'construction'}),
128
- TagRenderingStatus.new('construction', 'service', :composite, {'highway'=>'construction'}),
129
- TagRenderingStatus.new('construction', 'tertiary', :composite, {'highway'=>'construction'}),
130
- TagRenderingStatus.new('construction', 'tertiary_link', :composite, {'highway'=>'construction'}),
131
- TagRenderingStatus.new('construction', 'track', :composite, {'highway'=>'construction'}),
132
- TagRenderingStatus.new('construction', 'trunk', :composite, {'highway'=>'construction'}),
133
- TagRenderingStatus.new('construction', 'trunk_link', :composite, {'highway'=>'construction'}),
134
- TagRenderingStatus.new('construction', 'unclassified', :composite, {'highway'=>'construction'}),
135
- TagRenderingStatus.new('covered', 'yes', :composite, {'highway'=>'service'}),
136
- TagRenderingStatus.new('denomination', 'jehovahs_witness', :composite, {'amenity'=>'place_of_worship', 'religion'=>'christian'}),
137
- TagRenderingStatus.new('ele', '*', :composite, {'natural'=>'peak'}),
138
- TagRenderingStatus.new('foot', 'designated', :composite, {'highway'=>'path'}),
139
- TagRenderingStatus.new('generator:source', 'wind', :composite, {'power'=>'generator'}),
140
- TagRenderingStatus.new('highway', 'bridleway', :primary),
141
- TagRenderingStatus.new('highway', 'bus_guideway', :primary),
142
- TagRenderingStatus.new('highway', 'bus_stop', :primary),
143
- TagRenderingStatus.new('highway', 'construction', :primary),
144
- TagRenderingStatus.new('highway', 'cycleway', :primary),
145
- TagRenderingStatus.new('highway', 'footway', :primary),
146
- TagRenderingStatus.new('highway', 'ford', :primary),
147
- TagRenderingStatus.new('highway', 'living_street', :primary),
148
- TagRenderingStatus.new('highway', 'mini_roundabout', :primary),
149
- TagRenderingStatus.new('highway', 'motorway', :primary),
150
- TagRenderingStatus.new('highway', 'motorway_junction', :composite, {'name'=>'a'}),
151
- TagRenderingStatus.new('highway', 'motorway_link', :primary),
152
- TagRenderingStatus.new('highway', 'path', :primary),
153
- TagRenderingStatus.new('highway', 'pedestrian', :primary),
154
- TagRenderingStatus.new('highway', 'platform', :primary),
155
- TagRenderingStatus.new('highway', 'primary', :primary),
156
- TagRenderingStatus.new('highway', 'primary_link', :primary),
157
- TagRenderingStatus.new('highway', 'raceway', :primary),
158
- TagRenderingStatus.new('highway', 'residential', :primary),
159
- TagRenderingStatus.new('highway', 'rest_area', :primary),
160
- TagRenderingStatus.new('highway', 'road', :primary),
161
- TagRenderingStatus.new('highway', 'secondary', :primary),
162
- TagRenderingStatus.new('highway', 'secondary_link', :primary),
163
- TagRenderingStatus.new('highway', 'service', :primary),
164
- TagRenderingStatus.new('highway', 'services', :primary),
165
- TagRenderingStatus.new('highway', 'steps', :primary),
166
- TagRenderingStatus.new('highway', 'tertiary', :primary),
167
- TagRenderingStatus.new('highway', 'tertiary_link', :primary),
168
- TagRenderingStatus.new('highway', 'track', :primary),
169
- TagRenderingStatus.new('highway', 'traffic_signals', :primary),
170
- TagRenderingStatus.new('highway', 'trunk', :primary),
171
- TagRenderingStatus.new('highway', 'trunk_link', :primary),
172
- TagRenderingStatus.new('highway', 'turning_circle', :primary), #note: special topology is required
173
- TagRenderingStatus.new('highway', 'turning_loop', :primary), #note: special topology is required
174
- TagRenderingStatus.new('highway', 'unclassified', :primary),
175
- TagRenderingStatus.new('historic', 'archaeological_site', :primary),
176
- TagRenderingStatus.new('historic', 'citywalls', :primary),
177
- TagRenderingStatus.new('historic', 'memorial', :primary),
178
- TagRenderingStatus.new('historic', 'monument', :primary),
179
- TagRenderingStatus.new('horse', 'designated', :composite, {'highway'=>'path'}),
180
- TagRenderingStatus.new('intermittent', 'yes', :composite, {'waterway'=>'river'}),
181
- TagRenderingStatus.new('junction', 'yes', :composite, {'name'=>'a'}),
182
- TagRenderingStatus.new('junction', 'roundabout', :composite, {'highway'=>'service'}),
183
- TagRenderingStatus.new('landuse', 'allotments', :primary),
184
- TagRenderingStatus.new('landuse', 'basin', :primary),
185
- TagRenderingStatus.new('landuse', 'brownfield', :primary),
186
- TagRenderingStatus.new('landuse', 'cemetery', :primary),
187
- TagRenderingStatus.new('landuse', 'commercial', :primary),
188
- TagRenderingStatus.new('landuse', 'conservation', :primary),
189
- TagRenderingStatus.new('landuse', 'construction', :primary),
190
- TagRenderingStatus.new('landuse', 'farm', :primary),
191
- TagRenderingStatus.new('landuse', 'farmland', :primary),
192
- TagRenderingStatus.new('landuse', 'farmyard', :primary),
193
- TagRenderingStatus.new('landuse', 'forest', :primary),
194
- TagRenderingStatus.new('landuse', 'garages', :primary),
195
- TagRenderingStatus.new('landuse', 'grass', :primary),
196
- TagRenderingStatus.new('landuse', 'greenhouse_horticulture', :primary),
197
- TagRenderingStatus.new('landuse', 'industrial', :primary),
198
- TagRenderingStatus.new('landuse', 'landfill', :primary),
199
- TagRenderingStatus.new('landuse', 'meadow', :primary),
200
- TagRenderingStatus.new('landuse', 'military', :primary),
201
- TagRenderingStatus.new('landuse', 'orchard', :primary),
202
- TagRenderingStatus.new('landuse', 'quarry', :primary),
203
- TagRenderingStatus.new('landuse', 'railway', :primary),
204
- TagRenderingStatus.new('landuse', 'recreation_ground', :primary),
205
- TagRenderingStatus.new('landuse', 'reservoir', :primary),
206
- TagRenderingStatus.new('landuse', 'residential', :primary),
207
- TagRenderingStatus.new('landuse', 'retail', :primary),
208
- TagRenderingStatus.new('landuse', 'village_green', :primary),
209
- TagRenderingStatus.new('landuse', 'vineyard', :primary),
210
- TagRenderingStatus.new('layer', '1', :composite, {'highway' => 'service'}), #modifies ordering
211
- TagRenderingStatus.new('layer', '2', :composite, {'highway' => 'service'}), #modifies ordering
212
- TagRenderingStatus.new('layer', '3', :composite, {'highway' => 'service'}), #modifies ordering
213
- TagRenderingStatus.new('layer', '4', :composite, {'highway' => 'service'}), #modifies ordering
214
- TagRenderingStatus.new('layer', '5', :composite, {'highway' => 'service'}), #modifies ordering
215
- TagRenderingStatus.new('layer', '-1', :composite, {'highway' => 'service'}), #modifies ordering
216
- TagRenderingStatus.new('layer', '-2', :composite, {'highway' => 'service'}), #modifies ordering
217
- TagRenderingStatus.new('layer', '-3', :composite, {'highway' => 'service'}), #modifies ordering
218
- TagRenderingStatus.new('layer', '-4', :composite, {'highway' => 'service'}), #modifies ordering
219
- TagRenderingStatus.new('layer', '-5', :composite, {'highway' => 'service'}), #modifies ordering
220
- TagRenderingStatus.new('leisure', 'common', :primary),
221
- TagRenderingStatus.new('leisure', 'garden', :primary),
222
- TagRenderingStatus.new('leisure', 'golf_course', :primary),
223
- TagRenderingStatus.new('leisure', 'marina', :primary),
224
- TagRenderingStatus.new('leisure', 'miniature_golf', :primary),
225
- TagRenderingStatus.new('leisure', 'nature_reserve', :primary),
226
- TagRenderingStatus.new('leisure', 'park', :primary),
227
- TagRenderingStatus.new('leisure', 'picnic_table', :primary),
228
- TagRenderingStatus.new('leisure', 'pitch', :primary),
229
- TagRenderingStatus.new('leisure', 'playground', :primary),
230
- TagRenderingStatus.new('leisure', 'recreation_ground', :primary),
231
- TagRenderingStatus.new('leisure', 'slipway', :primary),
232
- TagRenderingStatus.new('leisure', 'sports_centre', :primary),
233
- TagRenderingStatus.new('leisure', 'stadium', :primary),
234
- TagRenderingStatus.new('leisure', 'swimming_pool', :primary),
235
- TagRenderingStatus.new('leisure', 'track', :primary),
236
- TagRenderingStatus.new('leisure', 'water_park', :primary),
237
- TagRenderingStatus.new('man_made', 'breakwater', :primary),
238
- TagRenderingStatus.new('man_made', 'cutline', :primary),
239
- TagRenderingStatus.new('man_made', 'embankment', :primary),
240
- TagRenderingStatus.new('man_made', 'groyne', :primary),
241
- TagRenderingStatus.new('man_made', 'lighthouse', :primary),
242
- TagRenderingStatus.new('man_made', 'mast', :primary),
243
- TagRenderingStatus.new('man_made', 'pier', :primary),
244
- TagRenderingStatus.new('man_made', 'water_tower', :primary),
245
- TagRenderingStatus.new('man_made', 'windmill', :primary),
246
- TagRenderingStatus.new('military', 'danger_area', :primary),
247
- TagRenderingStatus.new('name', '*', :composite, {'highway'=>'service'}),
248
- TagRenderingStatus.new('natural', 'bare_rock', :primary),
249
- TagRenderingStatus.new('natural', 'bay', :composite, {'name'=>'a'}),
250
- TagRenderingStatus.new('natural', 'beach', :primary),
251
- TagRenderingStatus.new('natural', 'cave_entrance', :primary),
252
- TagRenderingStatus.new('natural', 'cliff', :primary),
253
- TagRenderingStatus.new('natural', 'glacier', :primary),
254
- TagRenderingStatus.new('natural', 'grassland', :primary),
255
- TagRenderingStatus.new('natural', 'heath', :primary),
256
- TagRenderingStatus.new('natural', 'marsh', :primary),
257
- TagRenderingStatus.new('natural', 'mud', :primary),
258
- TagRenderingStatus.new('natural', 'peak', :primary),
259
- TagRenderingStatus.new('natural', 'sand', :primary),
260
- TagRenderingStatus.new('natural', 'scree', :primary),
261
- TagRenderingStatus.new('natural', 'saddle', :primary),
262
- TagRenderingStatus.new('natural', 'scrub', :primary),
263
- TagRenderingStatus.new('natural', 'shingle', :primary),
264
- TagRenderingStatus.new('natural', 'spring', :primary),
265
- TagRenderingStatus.new('natural', 'tree', :primary),
266
- TagRenderingStatus.new('natural', 'tree_row', :primary),
267
- TagRenderingStatus.new('natural', 'volcano', :primary),
268
- TagRenderingStatus.new('natural', 'water', :primary),
269
- TagRenderingStatus.new('natural', 'wetland', :primary),
270
- TagRenderingStatus.new('natural', 'wood', :primary),
271
- TagRenderingStatus.new('oneway', '-1', :composite, {'highway'=>'service'}),
272
- TagRenderingStatus.new('oneway', 'yes', :composite, {'highway'=>'service'}),
273
- TagRenderingStatus.new('place', 'city', :composite, {'name'=>'a'}),
274
- TagRenderingStatus.new('place', 'farm', :composite, {'name'=>'a'}),
275
- TagRenderingStatus.new('place', 'hamlet', :composite, {'name'=>'a'}),
276
- TagRenderingStatus.new('place', 'island', :composite, {'name'=>'a'}),
277
- TagRenderingStatus.new('place', 'islet', :composite, {'name'=>'a'}),
278
- TagRenderingStatus.new('place', 'isolated_dwelling', :composite, {'name'=>'a'}),
279
- TagRenderingStatus.new('place', 'locality', :composite, {'name'=>'a'}),
280
- TagRenderingStatus.new('place', 'neighbourhood', :composite, {'name'=>'a'}),
281
- TagRenderingStatus.new('place', 'suburb', :composite, {'name'=>'a'}),
282
- TagRenderingStatus.new('place', 'town', :composite, {'name'=>'a'}),
283
- TagRenderingStatus.new('place', 'village', :composite, {'name'=>'a'}),
284
- TagRenderingStatus.new('power', 'generator', :primary),
285
- TagRenderingStatus.new('power', 'line', :primary),
286
- TagRenderingStatus.new('power', 'minor_line', :primary),
287
- TagRenderingStatus.new('power', 'pole', :primary),
288
- TagRenderingStatus.new('power', 'station', :primary),
289
- TagRenderingStatus.new('power', 'sub_station', :primary),
290
- TagRenderingStatus.new('power', 'substation', :primary),
291
- TagRenderingStatus.new('power', 'tower', :primary),
292
- TagRenderingStatus.new('power_source', 'wind', :composite, {'power'=>'generator'}),
293
- TagRenderingStatus.new('railway', 'construction', :primary),
294
- TagRenderingStatus.new('railway', 'disused', :primary),
295
- TagRenderingStatus.new('railway', 'funicular', :primary),
296
- TagRenderingStatus.new('railway', 'halt', :primary),
297
- TagRenderingStatus.new('railway', 'level_crossing', :primary),
298
- TagRenderingStatus.new('railway', 'light_rail', :primary),
299
- TagRenderingStatus.new('railway', 'miniature', :primary),
300
- TagRenderingStatus.new('railway', 'monorail', :primary),
301
- TagRenderingStatus.new('railway', 'narrow_gauge', :primary),
302
- TagRenderingStatus.new('railway', 'platform', :primary),
303
- TagRenderingStatus.new('railway', 'preserved', :primary),
304
- TagRenderingStatus.new('railway', 'rail', :primary),
305
- TagRenderingStatus.new('railway', 'station', :primary),
306
- TagRenderingStatus.new('railway', 'subway', :primary),
307
- TagRenderingStatus.new('railway', 'subway_entrance', :primary),
308
- TagRenderingStatus.new('railway', 'tram', :primary),
309
- TagRenderingStatus.new('railway', 'tram_stop', :primary),
310
- TagRenderingStatus.new('railway', 'turntable', :primary),
311
- TagRenderingStatus.new('ref', '*', :composite, {'aeroway'=>'gate'}),
312
- TagRenderingStatus.new('religion', 'buddhist', :composite, {'amenity'=>'place_of_worship'}),
313
- TagRenderingStatus.new('religion', 'christian', :composite, {'amenity'=>'place_of_worship'}),
314
- TagRenderingStatus.new('religion', 'hindu', :composite, {'amenity'=>'place_of_worship'}),
315
- TagRenderingStatus.new('religion', 'jewish', :composite, {'amenity'=>'place_of_worship'}),
316
- TagRenderingStatus.new('religion', 'muslim', :composite, {'amenity'=>'place_of_worship'}),
317
- TagRenderingStatus.new('religion', 'shinto', :composite, {'amenity'=>'place_of_worship'}),
318
- TagRenderingStatus.new('religion', 'sikh', :composite, {'amenity'=>'place_of_worship'}),
319
- TagRenderingStatus.new('religion', 'taoist', :composite, {'amenity'=>'place_of_worship'}),
320
- TagRenderingStatus.new('route', 'ferry', :primary),
321
- TagRenderingStatus.new('service', 'drive-through', :composite, {'highway'=>'service'}),
322
- TagRenderingStatus.new('service', 'driveway', :composite, {'highway'=>'service'}),
323
- TagRenderingStatus.new('service', 'parking_aisle', :composite, {'highway'=>'service'}),
324
- TagRenderingStatus.new('service', 'siding', :composite, {'railway'=>'rail'}),
325
- TagRenderingStatus.new('service', 'spur', :composite, {'railway'=>'rail'}),
326
- TagRenderingStatus.new('service', 'yard', :composite, {'railway'=>'rail'}),
327
- TagRenderingStatus.new('shop', 'accessories', :primary),
328
- TagRenderingStatus.new('shop', 'alcohol', :primary),
329
- TagRenderingStatus.new('shop', 'antique', :primary),
330
- TagRenderingStatus.new('shop', 'antiques', :primary),
331
- TagRenderingStatus.new('shop', 'appliance', :primary),
332
- TagRenderingStatus.new('shop', 'art', :primary),
333
- TagRenderingStatus.new('shop', 'baby_goods', :primary),
334
- TagRenderingStatus.new('shop', 'bag', :primary),
335
- TagRenderingStatus.new('shop', 'bags', :primary),
336
- TagRenderingStatus.new('shop', 'bakery', :primary),
337
- TagRenderingStatus.new('shop', 'bathroom_furnishing', :primary),
338
- TagRenderingStatus.new('shop', 'beauty', :primary),
339
- TagRenderingStatus.new('shop', 'bed', :primary),
340
- TagRenderingStatus.new('shop', 'betting', :primary),
341
- TagRenderingStatus.new('shop', 'beverages', :primary),
342
- TagRenderingStatus.new('shop', 'bicycle', :primary),
343
- TagRenderingStatus.new('shop', 'boat', :primary),
344
- TagRenderingStatus.new('shop', 'bookmaker', :primary),
345
- TagRenderingStatus.new('shop', 'books', :primary),
346
- TagRenderingStatus.new('shop', 'boutique', :primary),
347
- TagRenderingStatus.new('shop', 'builder', :primary),
348
- TagRenderingStatus.new('shop', 'building_materials', :primary),
349
- TagRenderingStatus.new('shop', 'butcher', :primary),
350
- TagRenderingStatus.new('shop', 'camera', :primary),
351
- TagRenderingStatus.new('shop', 'car', :primary),
352
- TagRenderingStatus.new('shop', 'car_parts', :primary),
353
- TagRenderingStatus.new('shop', 'car_repair', :primary),
354
- TagRenderingStatus.new('shop', 'car_service', :primary),
355
- TagRenderingStatus.new('shop', 'carpet', :primary),
356
- TagRenderingStatus.new('shop', 'charity', :primary),
357
- TagRenderingStatus.new('shop', 'cheese', :primary),
358
- TagRenderingStatus.new('shop', 'chemist', :primary),
359
- TagRenderingStatus.new('shop', 'chocolate', :primary),
360
- TagRenderingStatus.new('shop', 'clothes', :primary),
361
- TagRenderingStatus.new('shop', 'coffee', :primary),
362
- TagRenderingStatus.new('shop', 'communication', :primary),
363
- TagRenderingStatus.new('shop', 'computer', :primary),
364
- TagRenderingStatus.new('shop', 'confectionery', :primary),
365
- TagRenderingStatus.new('shop', 'convenience', :primary),
366
- TagRenderingStatus.new('shop', 'copyshop', :primary),
367
- TagRenderingStatus.new('shop', 'cosmetics', :primary),
368
- TagRenderingStatus.new('shop', 'craft', :primary),
369
- TagRenderingStatus.new('shop', 'curtain', :primary),
370
- TagRenderingStatus.new('shop', 'dairy', :primary),
371
- TagRenderingStatus.new('shop', 'deli', :primary),
372
- TagRenderingStatus.new('shop', 'delicatessen', :primary),
373
- TagRenderingStatus.new('shop', 'department_store', :primary),
374
- TagRenderingStatus.new('shop', 'discount', :primary),
375
- TagRenderingStatus.new('shop', 'dive', :primary),
376
- TagRenderingStatus.new('shop', 'doityourself', :primary),
377
- TagRenderingStatus.new('shop', 'dry_cleaning', :primary),
378
- TagRenderingStatus.new('shop', 'e-cigarette', :primary),
379
- TagRenderingStatus.new('shop', 'electrical', :primary),
380
- TagRenderingStatus.new('shop', 'electronics', :primary),
381
- TagRenderingStatus.new('shop', 'energy', :primary),
382
- TagRenderingStatus.new('shop', 'erotic', :primary),
383
- TagRenderingStatus.new('shop', 'estate_agent', :primary),
384
- TagRenderingStatus.new('shop', 'fabric', :primary),
385
- TagRenderingStatus.new('shop', 'farm', :primary),
386
- TagRenderingStatus.new('shop', 'fashion', :primary),
387
- TagRenderingStatus.new('shop', 'fish', :primary),
388
- TagRenderingStatus.new('shop', 'fishing', :primary),
389
- TagRenderingStatus.new('shop', 'fishmonger', :primary),
390
- TagRenderingStatus.new('shop', 'flooring', :primary),
391
- TagRenderingStatus.new('shop', 'florist', :primary),
392
- TagRenderingStatus.new('shop', 'food', :primary),
393
- TagRenderingStatus.new('shop', 'frame', :primary),
394
- TagRenderingStatus.new('shop', 'frozen_food', :primary),
395
- TagRenderingStatus.new('shop', 'funeral_directors', :primary),
396
- TagRenderingStatus.new('shop', 'furnace', :primary),
397
- TagRenderingStatus.new('shop', 'furniture', :primary),
398
- TagRenderingStatus.new('shop', 'gallery', :primary),
399
- TagRenderingStatus.new('shop', 'gambling', :primary),
400
- TagRenderingStatus.new('shop', 'games', :primary),
401
- TagRenderingStatus.new('shop', 'garden_centre', :primary),
402
- TagRenderingStatus.new('shop', 'gas', :primary),
403
- TagRenderingStatus.new('shop', 'general', :primary),
404
- TagRenderingStatus.new('shop', 'gift', :primary),
405
- TagRenderingStatus.new('shop', 'glaziery', :primary),
406
- TagRenderingStatus.new('shop', 'greengrocer', :primary),
407
- TagRenderingStatus.new('shop', 'grocery', :primary),
408
- TagRenderingStatus.new('shop', 'hairdresser', :primary),
409
- TagRenderingStatus.new('shop', 'hardware', :primary),
410
- TagRenderingStatus.new('shop', 'health', :primary),
411
- TagRenderingStatus.new('shop', 'health_food', :primary),
412
- TagRenderingStatus.new('shop', 'hearing_aids', :primary),
413
- TagRenderingStatus.new('shop', 'herbalist', :primary),
414
- TagRenderingStatus.new('shop', 'hifi', :primary),
415
- TagRenderingStatus.new('shop', 'hobby', :primary),
416
- TagRenderingStatus.new('shop', 'household', :primary),
417
- TagRenderingStatus.new('shop', 'houseware', :primary),
418
- TagRenderingStatus.new('shop', 'hunting', :primary),
419
- TagRenderingStatus.new('shop', 'ice_cream', :primary),
420
- TagRenderingStatus.new('shop', 'insurance', :primary),
421
- TagRenderingStatus.new('shop', 'interior_decoration', :primary),
422
- TagRenderingStatus.new('shop', 'jewellery', :primary),
423
- TagRenderingStatus.new('shop', 'jewelry', :primary),
424
- TagRenderingStatus.new('shop', 'kiosk', :primary),
425
- TagRenderingStatus.new('shop', 'kitchen', :primary),
426
- TagRenderingStatus.new('shop', 'laundry', :primary),
427
- TagRenderingStatus.new('shop', 'leather', :primary),
428
- TagRenderingStatus.new('shop', 'lighting', :primary),
429
- TagRenderingStatus.new('shop', 'locksmith', :primary),
430
- TagRenderingStatus.new('shop', 'lottery', :primary),
431
- TagRenderingStatus.new('shop', 'mall', :composite, {'name'=>'a'}),
432
- TagRenderingStatus.new('shop', 'market', :primary),
433
- TagRenderingStatus.new('shop', 'massage', :primary),
434
- TagRenderingStatus.new('shop', 'medical', :primary),
435
- TagRenderingStatus.new('shop', 'medical_supply', :primary),
436
- TagRenderingStatus.new('shop', 'mobile_phone', :primary),
437
- TagRenderingStatus.new('shop', 'money_lender', :primary),
438
- TagRenderingStatus.new('shop', 'motorcycle', :primary),
439
- TagRenderingStatus.new('shop', 'motorcycle_repair', :primary),
440
- TagRenderingStatus.new('shop', 'music', :primary),
441
- TagRenderingStatus.new('shop', 'musical_instrument', :primary),
442
- TagRenderingStatus.new('shop', 'newsagent', :primary),
443
- TagRenderingStatus.new('shop', 'office_supplies', :primary),
444
- TagRenderingStatus.new('shop', 'optician', :primary),
445
- TagRenderingStatus.new('shop', 'organic', :primary),
446
- TagRenderingStatus.new('shop', 'outdoor', :primary),
447
- TagRenderingStatus.new('shop', 'paint', :primary),
448
- TagRenderingStatus.new('shop', 'pastry', :primary),
449
- TagRenderingStatus.new('shop', 'pawnbroker', :primary),
450
- TagRenderingStatus.new('shop', 'perfumery', :primary),
451
- TagRenderingStatus.new('shop', 'pet', :primary),
452
- TagRenderingStatus.new('shop', 'pharmacy', :primary),
453
- TagRenderingStatus.new('shop', 'phone', :primary),
454
- TagRenderingStatus.new('shop', 'photo', :primary),
455
- TagRenderingStatus.new('shop', 'photo_studio', :primary),
456
- TagRenderingStatus.new('shop', 'photography', :primary),
457
- TagRenderingStatus.new('shop', 'pottery', :primary),
458
- TagRenderingStatus.new('shop', 'printing', :primary),
459
- TagRenderingStatus.new('shop', 'radiotechnics', :primary),
460
- TagRenderingStatus.new('shop', 'real_estate', :primary),
461
- TagRenderingStatus.new('shop', 'religion', :primary),
462
- TagRenderingStatus.new('shop', 'rental', :primary),
463
- TagRenderingStatus.new('shop', 'salon', :primary),
464
- TagRenderingStatus.new('shop', 'scuba_diving', :primary),
465
- TagRenderingStatus.new('shop', 'seafood', :primary),
466
- TagRenderingStatus.new('shop', 'second_hand', :primary),
467
- TagRenderingStatus.new('shop', 'sewing', :primary),
468
- TagRenderingStatus.new('shop', 'shoe_repair', :primary),
469
- TagRenderingStatus.new('shop', 'shoes', :primary),
470
- TagRenderingStatus.new('shop', 'shopping_centre', :primary),
471
- TagRenderingStatus.new('shop', 'solarium', :primary),
472
- TagRenderingStatus.new('shop', 'souvenir', :primary),
473
- TagRenderingStatus.new('shop', 'sports', :primary),
474
- TagRenderingStatus.new('shop', 'stationery', :primary),
475
- TagRenderingStatus.new('shop', 'supermarket', :primary),
476
- TagRenderingStatus.new('shop', 'tailor', :primary),
477
- TagRenderingStatus.new('shop', 'tanning', :primary),
478
- TagRenderingStatus.new('shop', 'tattoo', :primary),
479
- TagRenderingStatus.new('shop', 'tea', :primary),
480
- TagRenderingStatus.new('shop', 'ticket', :primary),
481
- TagRenderingStatus.new('shop', 'tiles', :primary),
482
- TagRenderingStatus.new('shop', 'tobacco', :primary),
483
- TagRenderingStatus.new('shop', 'toys', :primary),
484
- TagRenderingStatus.new('shop', 'trade', :primary),
485
- TagRenderingStatus.new('shop', 'travel_agency', :primary),
486
- TagRenderingStatus.new('shop', 'tyres', :primary),
487
- TagRenderingStatus.new('shop', 'vacuum_cleaner', :primary),
488
- TagRenderingStatus.new('shop', 'variety_store', :primary),
489
- TagRenderingStatus.new('shop', 'video', :primary),
490
- TagRenderingStatus.new('shop', 'video_games', :primary),
491
- TagRenderingStatus.new('shop', 'watches', :primary),
492
- TagRenderingStatus.new('shop', 'wholesale', :primary),
493
- TagRenderingStatus.new('shop', 'wine', :primary),
494
- TagRenderingStatus.new('shop', 'winery', :primary),
495
- TagRenderingStatus.new('shop', 'yes', :primary),
496
- TagRenderingStatus.new('tourism', 'alpine_hut', :primary),
497
- TagRenderingStatus.new('tourism', 'attraction', :primary),
498
- TagRenderingStatus.new('tourism', 'camp_site', :primary),
499
- TagRenderingStatus.new('tourism', 'caravan_site', :primary),
500
- TagRenderingStatus.new('tourism', 'chalet', :primary),
501
- TagRenderingStatus.new('tourism', 'guest_house', :primary),
502
- TagRenderingStatus.new('tourism', 'hostel', :primary),
503
- TagRenderingStatus.new('tourism', 'hotel', :primary),
504
- TagRenderingStatus.new('tourism', 'information', :primary),
505
- TagRenderingStatus.new('tourism', 'motel', :primary),
506
- TagRenderingStatus.new('tourism', 'museum', :primary),
507
- TagRenderingStatus.new('tourism', 'picnic_site', :primary),
508
- TagRenderingStatus.new('tourism', 'theme_park', :primary),
509
- TagRenderingStatus.new('tourism', 'viewpoint', :primary),
510
- TagRenderingStatus.new('tourism', 'zoo', :primary),
511
- TagRenderingStatus.new('tracktype', 'grade1', :composite, {'highway' => 'track'}),
512
- TagRenderingStatus.new('tracktype', 'grade2', :composite, {'highway' => 'track'}),
513
- TagRenderingStatus.new('tracktype', 'grade3', :composite, {'highway' => 'track'}),
514
- TagRenderingStatus.new('tracktype', 'grade4', :composite, {'highway' => 'track'}),
515
- TagRenderingStatus.new('tracktype', 'grade5', :composite, {'highway' => 'track'}),
516
- TagRenderingStatus.new('tunnel', 'building_passage', :composite, {'highway' => 'service'}),
517
- TagRenderingStatus.new('tunnel', 'culvert', :composite, {'waterway'=>'river'}),
518
- TagRenderingStatus.new('tunnel', 'yes', :composite, {'highway'=>'service'}),
519
- TagRenderingStatus.new('waterway', 'canal', :primary),
520
- TagRenderingStatus.new('waterway', 'dam', :primary),
521
- TagRenderingStatus.new('waterway', 'derelict_canal', :primary),
522
- TagRenderingStatus.new('waterway', 'ditch', :primary),
523
- TagRenderingStatus.new('waterway', 'dock', :primary),
524
- TagRenderingStatus.new('waterway', 'drain', :primary),
525
- TagRenderingStatus.new('waterway', 'lock_gate', :primary),
526
- TagRenderingStatus.new('waterway', 'river', :primary),
527
- TagRenderingStatus.new('waterway', 'riverbank', :primary),
528
- TagRenderingStatus.new('waterway', 'stream', :primary),
529
- TagRenderingStatus.new('waterway', 'wadi', :primary),
530
- TagRenderingStatus.new('waterway', 'weir', :primary),
531
- TagRenderingStatus.new('wetland', 'bog', :composite, {'natural' => 'wetland'}),
532
- TagRenderingStatus.new('wetland', 'marsh', :composite, {'natural' => 'wetland'}),
533
- TagRenderingStatus.new('wetland', 'mud', :composite, {'natural' => 'wetland'}),
534
- TagRenderingStatus.new('wetland', 'string_bog', :composite, {'natural' => 'wetland'}),
535
- TagRenderingStatus.new('wetland', 'swamp', :composite, {'natural' => 'wetland'}),
536
- TagRenderingStatus.new('wetland', 'tidalflat', :composite, {'natural' => 'wetland'}),
537
- TagRenderingStatus.new('wetland', 'wet_meadow', :composite, {'natural' => 'wetland'}),
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
- {'name' => 'a'}, #place=city...
544
- {'highway' => 'service'}, #access, ref, bridge, tunnel, service=parking_aisle...
545
- {'railway' => 'rail'}, #service=siding
546
- {'boundary' => 'administrative'}, #admin_level
547
- {'admin_level' => '2'}, #boundary=administrative
548
- {'natural' => 'peak'}, #ele=*
549
- {'ref' => '3'}, #aeroway=gate
550
- {'aeroway' => 'gate'}, #ref=*
551
- {'amenity' => 'place_of_worship'}, #religion=christian
552
- {'amenity' => 'place_of_worship', 'religion' => 'christian'}, #denomination=jehovahs_witness
553
- {'waterway' => 'river'}, #bridge=aqueduct, tunnel=culvert, intermittent=yes
554
- {'power' => 'generator'}, #power_source=wind
555
- {'highway' => 'path'}, #bicycle=designated
556
- {'highway' => 'construction'}, #construction=motorway...
557
- {'highway' => 'track'}, #tracktype=grade1...
558
- {'amenity' => 'parking'}, #access=*...
559
- #{'barrier' => 'hedge'}, #area=yes
560
- {'natural' => 'wetland'}, #wetland=bog...
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