@@ -236,10 +236,6 @@ function filter_tags_relation_member (keyvalues, keyvaluemembers, roles, memberc
236236 linestring = 0 -- Will object be treated as linestring?
237237 polygon = 0 -- Will object be treated as polygon?
238238 roads = 0 -- Will object be added to planet_osm_roads?
239- membersuperseded = {}
240- for i = 1 , membercount do
241- membersuperseded [i ] = 0 -- Will member be ignored when handling areas?
242- end
243239
244240 type = keyvalues [" type" ]
245241
@@ -257,59 +253,18 @@ function filter_tags_relation_member (keyvalues, keyvaluemembers, roles, memberc
257253 elseif (type == " multipolygon" ) then
258254 -- Treat as polygon
259255 polygon = 1
260- polytagcount = 0 ;
256+ filter = 1
261257 -- Count the number of polygon tags of the object
262258 for i ,k in ipairs (polygon_keys ) do
263259 if keyvalues [k ] then
264- polytagcount = 1
260+ filter = 0
265261 break
266262 end
267263 end
268- -- If there are no polygon tags, add tags from all outer elements to the multipolygon itself
269- if (polytagcount == 0 ) then
270- for i = 1 ,membercount do
271- if (roles [i ] == " outer" ) then
272- for k ,v in pairs (keyvaluemembers [i ]) do
273- keyvalues [k ] = v
274- end
275- end
276- end
277-
278- f , keyvalues = filter_tags_generic (keyvalues , 1 )
279- -- check again if there are still polygon tags left
280- polytagcount = 0
281- for i ,k in ipairs (polygon_keys ) do
282- if keyvalues [k ] then
283- polytagcount = 1
284- break
285- end
286- end
287- if polytagcount == 0 then
288- filter = 1
289- end
290- end
291- -- For any member of the multipolygon, set membersuperseded to 1 (i.e. don't deal with it as area as well),
292- -- except when the member has a key/value combination such that
293- -- 1) the key occurs in generic_keys
294- -- 2) the key/value combination is not also a key/value combination of the multipolygon itself
295- for i = 1 ,membercount do
296- superseded = 1
297- for k ,v in pairs (keyvaluemembers [i ]) do
298- if ((keyvalues [k ] == nil ) or (keyvalues [k ] ~= v )) then
299- for j ,k2 in ipairs (generic_keys ) do
300- if (k == k2 ) then
301- superseded = 0 ;
302- break
303- end
304- end
305- end
306- end
307- membersuperseded [i ] = superseded
308- end
309264 end
310265
311266 -- Add z_order key/value combination and determine if the object should also be added to planet_osm_roads
312267 keyvalues , roads = add_z_order (keyvalues )
313268
314- return filter , keyvalues , membersuperseded , linestring , polygon , roads
269+ return filter , keyvalues , {} , linestring , polygon , roads
315270end
0 commit comments