@@ -206,9 +206,9 @@ bool c_tagtransform_t::filter_tags(osmium::OSMObject const &o, int *polygon,
206206
207207bool c_tagtransform_t::filter_rel_member_tags (
208208 taglist_t const &rel_tags, osmium::memory::Buffer const &members,
209- rolelist_t const &member_roles, int *member_superseded , int *make_boundary ,
210- int *make_polygon, int * roads, export_list const &exlist,
211- taglist_t &out_tags, bool allow_typeless)
209+ rolelist_t const &member_roles, int *make_boundary , int *make_polygon ,
210+ int *roads, export_list const &exlist, taglist_t &out_tags ,
211+ bool allow_typeless)
212212{
213213 auto const &infos = exlist.get (osmium::item_type::way);
214214 // if it has a relation figure out what kind it is
@@ -386,35 +386,6 @@ bool c_tagtransform_t::filter_rel_member_tags(
386386 return true ;
387387 }
388388
389- /* If we are creating a multipolygon then we
390- mark each member so that we can skip them during iterate_ways
391- but only if the polygon-tags look the same as the outer ring */
392- if (make_polygon) {
393- size_t i = 0 ;
394- for (auto const &w : members.select <osmium::Way>()) {
395- member_superseded[i] = 1 ;
396- for (const auto &member_tag : w.tags ()) {
397- auto const *v = out_tags.get (member_tag.key ());
398- bool filt;
399- int flag;
400- if ((!v && check_key (infos, member_tag.key (), &filt, &flag, false ))
401- || (v && *v != member_tag.value ())) {
402- /* z_order and osm_ are automatically generated tags, so ignore them */
403- if (strcmp (member_tag.key (), " z_order" ) &&
404- strcmp (member_tag.key (), " osm_user" ) &&
405- strcmp (member_tag.key (), " osm_version" ) &&
406- strcmp (member_tag.key (), " osm_uid" ) &&
407- strcmp (member_tag.key (), " osm_changeset" ) &&
408- strcmp (member_tag.key (), " osm_timestamp" )) {
409- member_superseded[i] = 0 ;
410- break ;
411- }
412- }
413- }
414- ++i;
415- }
416- }
417-
418389 add_z_order (out_tags, roads);
419390
420391 return 0 ;
0 commit comments